Rust CI / cargo fmt (pull_request) Successful in 18s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (pull_request) Successful in 35s
Rust CI / cargo clippy (pull_request) Successful in 36s
Rust CI / cargo check (x86_64-unknown-linux-musl) (pull_request) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (pull_request) Successful in 53s
Rust CI / cargo test (x86_64-unknown-linux-musl) (pull_request) Failing after 9s
Rust CI / cargo doc (pull_request) Successful in 26s
Supply chain / cargo-deny advisories (pull_request) Successful in 12s
Supply chain / cargo-deny bans licenses sources (pull_request) Successful in 8s
Fuzz Smoke / cargo fuzz smoke (pull_request) Failing after 30s
Supply chain / actionlint (pull_request) Successful in 4s
Netem Interop / netem interop (pull_request) Successful in 1m7s
irtt-client
Reusable client/session library for IRTT-compatible round-trip-time probing: socket lifecycle, open negotiation, probe send/receive, loss/duplicate/late classification, and a typed event stream.
Looking for the CLI?
If you just want to run probes from the command line, use the
irtt-rs application package instead,
which installs the irtt-client binary. This crate is the library the
binaries are built on.
API tiers
Client— runtime-free blocking adapter. No Tokio dependency; this is the default build.AsyncClient(featuretokio) — low-level Tokio adapter for callers that own a runtime and drive readiness directly.managed(featuretokio) — a unified managed driver:ManagedClientTask/ManagedClientHandlefor multi-target orchestration under a Tokio runtime, andBlockingManagedClientfor synchronous callers, which owns its own dedicated current-thread runtime.
Tokio stays optional: the default build has no runtime and no Tokio dependency at all.
See examples/ in the repository for runnable examples of each tier.
Documentation
Full API documentation is on docs.rs/irtt-client.
Project
Part of irtt-rs, an independent Rust implementation of an IRTT-compatible protocol stack.