Files
irtt-rs/crates/irtt-proto
Nils Andreas Svee efa1313e95
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 32s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 23s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m6s
Rust CI / cargo doc (push) Successful in 26s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Successful in 1m18s
Fuzz Smoke / cargo fuzz smoke (push) Successful in 1m41s
Netem Interop / netem interop (push) Successful in 1m22s
Supply chain / cargo-deny advisories (push) Successful in 17s
Supply chain / cargo-deny bans licenses sources (push) Successful in 15s
Supply chain / actionlint (push) Failing after 4s
Build binaries / Build (arm-musleabi) (push) Successful in 4m46s
Build binaries / Build (aarch64-musl) (push) Successful in 4m54s
Semver / cargo-semver-checks (push) Successful in 48s
Publish irtt-server image / publish (push) Successful in 1m5s
Build binaries / Build (arm-musleabihf) (push) Successful in 3m54s
Build binaries / Build (armv7-musleabi) (push) Successful in 4m1s
Build binaries / Build (armv7-musleabihf) (push) Successful in 4m1s
Build binaries / Build (i686-musl) (push) Successful in 3m57s
Build binaries / Build (mips-musl) (push) Successful in 3m47s
Build binaries / Build (mips64-muslabi64) (push) Successful in 3m44s
Build binaries / Build (mipsel-musl) (push) Successful in 3m52s
Build binaries / Build (mips64el-muslabi64) (push) Successful in 4m5s
Build binaries / Build (riscv64gc-musl) (push) Successful in 4m17s
Build binaries / Build (x86_64-musl) (push) Successful in 4m20s
chore(release): prepare client 0.7.0, stats 0.6.0 and app 0.10.0
2026-10-27 11:30:08 +07:00
..
2026-10-06 17:02:54 +07: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.