Rust CI / cargo fmt (push) Successful in 40s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 1m3s
Rust CI / cargo clippy (push) Successful in 1m3s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m48s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Successful in 1m2s
Rust CI / cargo doc (push) Successful in 38s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Successful in 1m51s
Proto Fuzz Smoke / cargo fuzz smoke (push) Successful in 1m45s
Supply chain / cargo-deny advisories (push) Successful in 14s
Supply chain / cargo-deny bans licenses sources (push) Successful in 11s
Netem Interop / netem interop (push) Successful in 1m36s
Supply chain / actionlint (push) Successful in 7s
Semver / cargo-semver-checks (push) Successful in 1m31s
Publish irtt-server image / publish (push) Successful in 3m9s
irtt-client exposes a synchronous wait for managed target-set updates and keeps its packaged test dependency resolvable from crates.io. irtt-rs adds stdin-managed desired target sets and per-target HMAC configuration.
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.