Show HN: Impatience – measure event latency on peers using synchronised clocks
Impatience is a Rust library designed for measuring event latency across networked peers with synchronized clocks. It is I/O-agnostic and allows users to implement their own UDP sockets and event loops. The library includes example CLI programs to demonstrate its functionality in real-world scenarios.
- ▪Impatience provides automatic clock synchronization for measuring event-to-event latency.
- ▪The library is I/O-agnostic and has no dependencies on standard networking or threading libraries.
- ▪It includes example programs for debugging clock synchronization and measuring end-to-end event latency.
Opening excerpt (first ~120 words) tap to expand
Impatience A Rust library for measuring event-to-event latency across networked peers with automatic clock synchronisation. The library is I/O-agnostic: it has zero dependencies on std::net or threading. Bring your own UDP socket and event loop. Two example CLI programs (sync-test and latency-demo) are included to demonstrate real-world usage. Features Four abstraction levels from high-level instrumentation down to the raw synchronisation algorithm UDP-based clock sync using a windowed-minimum one-way-delay estimator with 24-bit truncated timestamps Zero-copy serialisation of packet types via rkyv Non-blocking handshake (Initiator / Responder) for establishing peer clocks no_std support at the timesync algorithm layer Optional features: serde, uncertainty, svg (see below) Quick Start use…
Excerpt limited to ~120 words for fair-use compliance. The full article is at GitHub.