Files
irtt-rs/crates/irtt-proto
renovate Bot 72159f55c9
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
fix(deps): update rust crate thiserror to 2.0.21
2026-09-27 18:08:01 +00:00
..

irtt-proto

Low-level wire encoding and decoding for the IRTT-compatible protocol: request and reply structs, flags, negotiable parameters, varint/zigzag primitives, and HMAC-MD5 packet authentication. No sockets, no runtime, no session state.

Who should use this

Most applications should not depend on this crate directly. Use irtt-client to run client sessions or irtt-server to run a server; both build on irtt-proto and provide session lifecycle, negotiation, and validated configuration on top of it.

Reach for irtt-proto directly only if you are implementing another IRTT-compatible client or server from scratch and need the raw packet layer.

Field values mirror the wire format closely rather than expressing policy: Params::decode rejects malformed input, but direct construction plus Params::encode performs no additional validation — callers are responsible for validating values before sending them.

Documentation

Full API documentation is on docs.rs/irtt-proto.

Project

Part of irtt-rs, an independent Rust implementation of an IRTT-compatible protocol stack.