diff --git a/README.md b/README.md index d9a60ce..8178885 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ Handles everything ICMP at the socket level: open a raw socket, build and send echo requests, receive and parse replies. No loop, no display. Just a clean interface over the kernel socket. -### src/cli +### libcli Shared CLI parsing layer used by all binaries. Provides a generic getopt wrapper and primitive parsers (int, float) that each binary plugs into. @@ -86,9 +86,10 @@ Manages timing and signals. Installs SIGALRM (triggers send) and SIGINT Signal handlers only write a flag -- the loop does the actual work. ### src/ping/tracker -A 128-slot circular buffer indexed by (seq % 128). Records when each -packet was sent and marks it when a reply arrives. Used to compute RTT -and detect duplicates. +A bitmap over the full 16-bit sequence space (UINT16_MAX bits). Marks +each sequence number when a reply arrives and detects duplicates. Send +timestamps are not stored here — RTT is computed from a timestamp +embedded at the start of the payload. ### src/ping/stats Accumulates RTT samples (min, max, sum, sum of squares) in nanoseconds.