Nils Andreas Svee
e7caf7ec9e
ci(supply-chain): Install Rust toolchain in supply-chain workflow
2026-10-26 16:05:34 +07:00
Nils Andreas Svee
da433f9902
ci(interop-netem): Enhance netem workflow with Go and pre-flight checks
2026-10-26 16:05:34 +07:00
Nils Andreas Svee
9bb3fd63d8
feat(app): make statistics collection optional at compile time
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 11s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 6s
Rust CI / cargo doc (push) Successful in 27s
Supply chain / actionlint (push) Successful in 4s
Build binaries / Build (aarch64-musl) (push) Successful in 4m41s
Build binaries / Build (armv7-musleabihf) (push) Successful in 4m26s
Build binaries / Build (mips64el-muslabi64) (push) Successful in 4m8s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 29s
Supply chain / cargo-deny advisories (push) Failing after 3s
Supply chain / cargo-deny bans licenses sources (push) Failing after 4s
Build binaries / Build (arm-musleabi) (push) Successful in 4m31s
Build binaries / Build (arm-musleabihf) (push) Successful in 4m7s
Build binaries / Build (armv7-musleabi) (push) Successful in 4m2s
Build binaries / Build (i686-musl) (push) Successful in 4m20s
Build binaries / Build (mips64-muslabi64) (push) Successful in 4m19s
Build binaries / Build (riscv64gc-musl) (push) Successful in 4m11s
Build binaries / Build (x86_64-musl) (push) Successful in 4m17s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 26s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m6s
Netem Interop / netem interop (push) Failing after 17s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 31s
Build binaries / Build (mips-musl) (push) Successful in 4m18s
Build binaries / Build (mipsel-musl) (push) Successful in 4m7s
Decouple statistics collection into a dedicated feature to enable lighter client-only builds.
2026-10-26 15:35:13 +07:00
Nils Andreas Svee
ea8734a7aa
ci(build): Integrate nightly size experiments for continuous evaluation
2026-10-26 15:35:08 +07:00
Nils Andreas Svee
f08d40bfe9
ci(build): introduce experimental build mode for compiler evaluation
...
Add a workflow dispatch option to run builds with various compiler flags to investigate binary size and panic behavior.
2026-10-26 14:48:13 +07:00
Nils Andreas Svee
583001f091
fix(app): remove release profile from member crate
2026-10-26 13:46:15 +07:00
Nils Andreas Svee
7aca022e11
ci(build): add Gitea workflow to cross-compile static binaries and report size metrics
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo doc (push) Successful in 24s
Build binaries / Build (aarch64-musl) (push) Successful in 1m55s
Supply chain / actionlint (push) Successful in 3s
Build binaries / Build (armv7-musleabihf) (push) Successful in 1m38s
Build binaries / Build (mips64el-muslabi64) (push) Successful in 2m19s
Rust CI / cargo fmt (push) Failing after 15s
Rust CI / cargo clippy (push) Successful in 30s
Build binaries / Build (arm-musleabi) (push) Successful in 1m54s
Supply chain / cargo-deny bans licenses sources (push) Failing after 3s
Supply chain / cargo-deny advisories (push) Failing after 5s
Build binaries / Build (armv7-musleabi) (push) Successful in 1m38s
Build binaries / Build (arm-musleabihf) (push) Successful in 1m40s
Build binaries / Build (i686-musl) (push) Successful in 1m39s
Build binaries / Build (mips64-muslabi64) (push) Successful in 2m11s
Build binaries / Build (x86_64-musl) (push) Successful in 1m52s
Build binaries / Build (riscv64gc-musl) (push) Successful in 2m0s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 22s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m10s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 32s
Netem Interop / netem interop (push) Failing after 13s
Build binaries / Build (mips-musl) (push) Successful in 2m14s
Build binaries / Build (mipsel-musl) (push) Successful in 2m14s
2026-10-26 13:17:20 +07:00
Nils Andreas Svee
3d2554cf2b
feat(client): implement automatic session reconnection and disable statistics
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo doc (push) Successful in 26s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Failing after 16s
Rust CI / cargo clippy (push) Successful in 37s
Supply chain / cargo-deny advisories (push) Failing after 4s
Supply chain / cargo-deny bans licenses sources (push) Failing after 4s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 36s
Netem Interop / netem interop (push) Failing after 14s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 31s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m19s
2026-10-26 12:16:54 +07:00
Nils Andreas Svee
52f2a07490
fix(client): replace deferred open stop with immediate cancellation
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 11s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 30s
Supply chain / actionlint (push) Successful in 4s
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Successful in 35s
Supply chain / cargo-deny advisories (push) Failing after 4s
Supply chain / cargo-deny bans licenses sources (push) Failing after 3s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 35s
Netem Interop / netem interop (push) Failing after 17s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 34s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m16s
2026-10-21 23:50:14 +07:00
Nils Andreas Svee
d2a7acdec4
feat(client): add --no-test option for negotiation-only runs
2026-10-21 15:35:21 +07:00
Nils Andreas Svee
56fe30d0e2
fix(app/client): remove redundant SocketConfig::default() call
2026-10-21 14:59:18 +07:00
Nils Andreas Svee
d4c89ee22c
feat(client): add --timeouts option for session-opening retry schedule
2026-10-21 14:56:04 +07:00
Nils Andreas Svee
5481009fe3
feat(cli): enhance --version output with component versions
2026-10-21 14:42:49 +07:00
Nils Andreas Svee
7d640793b6
feat(cli): introduce --version flags and a dedicated --continuous option with new short aliases
2026-10-21 13:42:47 +07:00
Nils Andreas Svee
9e8559d713
feat(cli): enhance duration parsing with humantime
...
Allow fractional and composite duration inputs for `--duration` and `--interval` options.
2026-10-21 12:43:07 +07:00
Nils Andreas Svee
06fff94505
fix(stats): preserve signed per-packet IPDV in output
2026-10-21 12:19:43 +07:00
Nils Andreas Svee
d7d3f58716
fix(stats): restore directional IPDV for midpoint timestamps
2026-10-21 12:07:41 +07:00
Nils Andreas Svee
7da8d2141c
chore(release): irtt-rs 0.9.0
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 12s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo doc (push) Successful in 23s
Supply chain / actionlint (push) Successful in 5s
Semver / cargo-semver-checks (push) Successful in 55s
Rust CI / cargo fmt (push) Successful in 18s
Rust CI / cargo clippy (push) Failing after 35s
Supply chain / cargo-deny advisories (push) Failing after 4s
Supply chain / cargo-deny bans licenses sources (push) Failing after 5s
Publish irtt-server image / publish (push) Successful in 1m3s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 38s
Netem Interop / netem interop (push) Failing after 14s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m22s
2026-10-21 01:31:32 +07:00
Nils Andreas Svee
18a8e307fb
feat(app): allow hexadecimal HMAC key specification and redact keys from debug output
2026-10-21 01:19:59 +07:00
Nils Andreas Svee
ab241c4a2b
feat(app/client): expose socket bind options
2026-10-21 00:33:46 +07:00
Nils Andreas Svee
38e912632d
chore(release): irtt-client 0.6.0, irtt-stats 0.5.2, irtt-rs 0.8.0
Rust CI / cargo doc (push) Successful in 27s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 1m42s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 1m44s
Supply chain / actionlint (push) Successful in 3s
Semver / cargo-semver-checks (push) Successful in 54s
Rust CI / cargo fmt (push) Successful in 18s
Rust CI / cargo clippy (push) Successful in 32s
Supply chain / cargo-deny bans licenses sources (push) Successful in 7s
Supply chain / cargo-deny advisories (push) Successful in 8s
Publish irtt-server image / publish (push) Successful in 1m8s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 31s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m11s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 33s
Netem Interop / netem interop (push) Successful in 1m8s
2026-10-07 15:35:32 +07:00
Nils Andreas Svee
39cbf7b6b5
Merge branch 'feat/dual-stack'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo doc (push) Successful in 30s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 35s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Supply chain / cargo-deny advisories (push) Successful in 8s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 34s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m17s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 32s
Netem Interop / netem interop (push) Successful in 1m7s
2026-10-07 14:26:50 +07:00
Nils Andreas Svee
eaa37d7568
Merge branch 'feat/refactor-tui-history'
2026-10-07 14:25:49 +07:00
Nils Andreas Svee
da7472e10a
feat(app): add address-family selection and dual-stack targets
2026-10-07 14:17:11 +07:00
Nils Andreas Svee
9e6c10c083
refactor(tui): compact graph history and retain 500k samples
2026-10-07 12:41:49 +07:00
Nils Andreas Svee
988a360fef
Merge branch 'feat/reconnect'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo doc (push) Successful in 29s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 14s
Rust CI / cargo clippy (push) Successful in 31s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Supply chain / cargo-deny advisories (push) Successful in 5s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 28s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m10s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 32s
Netem Interop / netem interop (push) Successful in 1m13s
2026-10-06 17:59:41 +07:00
Nils Andreas Svee
c28e63e67a
feat(tui): enable continuous target re-provisioning with generation tracking
...
Allow targets to automatically restart after completing or failing, and ensure distinct state and statistics across successive target generations.
2026-10-06 17:39:55 +07:00
Nils Andreas Svee
c0a4f7a6db
Merge branch 'refactor/consolidate-proto-tests'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 26s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 18s
Rust CI / cargo clippy (push) Successful in 33s
Supply chain / cargo-deny bans licenses sources (push) Successful in 8s
Supply chain / cargo-deny advisories (push) Successful in 9s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 32s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 30s
Netem Interop / netem interop (push) Successful in 1m7s
2026-10-06 17:06:05 +07:00
Nils Andreas Svee
5bc27ef894
refactor(proto): consolidate tests
2026-10-06 17:02:54 +07:00
Nils Andreas Svee
4c941a7d78
feat(tui): format last sample age concisely
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo doc (push) Successful in 23s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 31s
Supply chain / cargo-deny advisories (push) Successful in 8s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 31s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m13s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 27s
Netem Interop / netem interop (push) Successful in 1m9s
2026-10-06 14:56:06 +07:00
Nils Andreas Svee
b98d1001de
perf(tui): optimize graph rendering and increase UI responsiveness
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 24s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 18s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 6s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m5s
Efficiently sample data within the viewport for graph series and reduce the rendering interval for a smoother user experience.
2026-10-06 14:39:05 +07:00
Nils Andreas Svee
8e4424764d
feat(tui): interpolate graph series at viewport boundaries
...
Ensure graph lines extend smoothly to the edges of the visible viewport, preventing abrupt truncations of data series.
2026-10-06 13:20:35 +07:00
Nils Andreas Svee
1e61f4168d
refactor(tui): remove superfluous name field from chart series
2026-10-06 12:39:43 +07:00
Nils Andreas Svee
22cead20dc
feat(tui): display wall-clock timestamps on graph x-axis
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 26s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 18s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 7s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m13s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m4s
2026-10-06 12:10:52 +07:00
Nils Andreas Svee
e8de15d60e
refactor(tui): streamline TUI state management and graph data representation
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo doc (push) Successful in 25s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Supply chain / cargo-deny advisories (push) Successful in 6s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m4s
Consolidate target creation logic and store richer RTT sample types directly. Improve module encapsulation and enforce invariants for robustness.
2026-10-05 23:49:29 +07:00
Nils Andreas Svee
0a928dcf8e
Merge branch 'feature/simplify-client-output'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo doc (push) Successful in 25s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 6s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 32s
Netem Interop / netem interop (push) Successful in 1m5s
2026-10-05 23:08:43 +07:00
Nils Andreas Svee
e13802ccdb
refactor(app): simplify client output and remove duplicate statistics models
2026-10-05 23:00:05 +07:00
Nils Andreas Svee
d81784f0f6
Merge branch 'feature/async-client-frontend'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo doc (push) Successful in 25s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 18s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 7s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 32s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m11s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 30s
Netem Interop / netem interop (push) Successful in 1m4s
2026-10-05 22:04:35 +07:00
Nils Andreas Svee
b1b0b62848
chore(app): remove unnecessary tests
2026-10-05 22:04:07 +07:00
Nils Andreas Svee
5067ceeb1c
feat(tui): adopt an asynchronous Tokio runtime for the TUI frontend
...
Refactor TUI event handling and rendering to improve responsiveness and use a unified managed client worker.
2026-10-05 21:49:36 +07:00
Nils Andreas Svee
66abb792ce
feat(client): adopt an asynchronous Tokio runtime for the client frontend
2026-10-05 21:01:54 +07:00
Nils Andreas Svee
1f7df1ebc9
Merge branch 'feat/tui-rework'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo doc (push) Successful in 27s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 32s
Supply chain / cargo-deny bans licenses sources (push) Successful in 8s
Supply chain / cargo-deny advisories (push) Successful in 9s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 31s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 28s
Netem Interop / netem interop (push) Successful in 1m7s
2026-10-05 19:40:44 +07:00
Nils Andreas Svee
1eed942423
feat(tui): rework UI with unified dashboard, interactive details, and centralized input
...
Replaces separate Graph and Dashboard views with a single dashboard, integrating multi-target selection and a scrollable details sheet. Centralizes key input handling for a more consistent and responsive user experience.
2026-10-05 18:16:12 +07:00
Nils Andreas Svee
0e32c76c78
ci(osv-scanner): Enable manual dispatch and update workflow configuration
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo doc (push) Successful in 31s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 6s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 33s
Netem Interop / netem interop (push) Successful in 1m5s
Remove deprecated scan arguments as OSV v2 defaults now cover recursive scanning.
2026-10-05 00:46:32 +07:00
Nils Andreas Svee
e65d415c7d
Merge branch 'refactor/managed-task-modules'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 23s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 6s
Supply chain / cargo-deny bans licenses sources (push) Successful in 7s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m16s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m2s
2026-10-05 00:34:09 +07:00
Nils Andreas Svee
e7de8bdb30
refactor(client): split managed task into coherent internal modules
...
Group control and construction, target lifecycle, target-set transactions,
send pacing and commitment, and bounded timeout processing into private
children of the existing task owner. Keep durable status, outcome history,
top-level polling, sealing, and abandonment in task.rs.
Preserve phase-owned resources, stop/update synchronization, publication
ordering, pacing, and timeout fairness. Move the existing private gate and
timeout tests with their implementation without adding coverage or hooks.
2026-10-05 00:24:15 +07:00
Nils Andreas Svee
b7890f1190
Merge branch 'feature/managed-task-phase-status'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo doc (push) Successful in 25s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 18s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 6s
Supply chain / cargo-deny bans licenses sources (push) Successful in 7s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m13s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 28s
Netem Interop / netem interop (push) Successful in 1m3s
2026-10-05 00:02:09 +07:00
Nils Andreas Svee
bc9ea0fe99
fix(client): baseline status subscriptions at the current snapshot
2026-10-04 23:51:19 +07:00
Nils Andreas Svee
2a2dd47e38
refactor(client): make task phases and durable status authoritative
2026-10-04 23:17:38 +07:00
Nils Andreas Svee
236b80db1d
Merge branch 'feature/managed-terminal-outcome'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo doc (push) Successful in 26s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Successful in 33s
Supply chain / cargo-deny advisories (push) Successful in 9s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 30s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m13s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m4s
2026-10-04 22:05:25 +07:00
Nils Andreas Svee
2cd8a7d60d
refactor(client): make terminal target outcomes authoritative
2026-10-04 21:48:20 +07:00
Nils Andreas Svee
784ce77354
Merge branch 'feature/managed-target-phase-ownership'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo doc (push) Successful in 26s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 18s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny bans licenses sources (push) Successful in 7s
Supply chain / cargo-deny advisories (push) Successful in 7s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 34s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m15s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 28s
Netem Interop / netem interop (push) Successful in 1m6s
2026-10-04 21:31:32 +07:00
Nils Andreas Svee
6ebecaec85
refactor(client): make managed target phases own runtime resources
2026-10-04 21:23:57 +07:00
Nils Andreas Svee
5cffd2e56a
chore(deps): update dependencies
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 22s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Successful in 31s
Supply chain / cargo-deny bans licenses sources (push) Successful in 10s
Supply chain / cargo-deny advisories (push) Successful in 10s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 28s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m11s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m10s
2026-10-04 20:54:16 +07:00
Nils Andreas Svee
c9e539933b
Merge branch 'feature/explicit-probe-send-commitment'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 26s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 32s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Supply chain / cargo-deny advisories (push) Successful in 7s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 31s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m13s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 27s
Netem Interop / netem interop (push) Successful in 1m2s
2026-10-04 20:46:50 +07:00
Nils Andreas Svee
a6ba335302
feat(client): expose probe send commitment through typed receipts
2026-10-04 19:14:06 +07:00
Nils Andreas Svee
eebe83986a
Merge branch 'refactor/typed-client-negotiation'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 24s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo clippy (push) Successful in 33s
Supply chain / cargo-deny advisories (push) Successful in 7s
Supply chain / cargo-deny bans licenses sources (push) Successful in 7s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 29s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m13s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 27s
Netem Interop / netem interop (push) Successful in 1m12s
2026-10-04 18:34:31 +07:00
Nils Andreas Svee
d467211f41
refactor(client): separate accepted negotiation state from peer evidence
2026-10-04 18:19:28 +07:00
Nils Andreas Svee
f62e6a9953
Merge branch 'feat/client-config-ownership'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo clippy (push) Successful in 33s
Rust CI / cargo doc (push) Successful in 24s
Supply chain / cargo-deny bans licenses sources (push) Successful in 8s
Supply chain / cargo-deny advisories (push) Successful in 9s
Rust CI / cargo fmt (push) Successful in 11s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 32s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 28s
Netem Interop / netem interop (push) Successful in 1m2s
2026-10-04 17:56:00 +07:00
Nils Andreas Svee
20960e1b8d
refactor(client): make configuration reusable across endpoints
2026-10-04 17:30:18 +07:00
Nils Andreas Svee
c436bfb686
Merge branch 'feature/authentication-types'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo doc (push) Successful in 21s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 32s
Supply chain / cargo-deny advisories (push) Successful in 10s
Supply chain / cargo-deny bans licenses sources (push) Successful in 9s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 29s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m12s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m5s
2026-10-04 16:59:10 +07:00
Nils Andreas Svee
156db4c720
refactor(client): make authentication explicit and redact HMAC keys
2026-10-04 16:58:44 +07:00
Nils Andreas Svee
9c703ecff2
Merge branch 'fix/managed-finite-lifetime-wake'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 23s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 19s
Rust CI / cargo clippy (push) Successful in 37s
Supply chain / cargo-deny advisories (push) Successful in 9s
Supply chain / cargo-deny bans licenses sources (push) Successful in 8s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 35s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m16s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 27s
Netem Interop / netem interop (push) Successful in 1m3s
2026-10-04 15:47:51 +07:00
Nils Andreas Svee
798efaf360
fix(client): wake finite managed schedules under backpressure
...
Expose the negotiated schedule end only while the schedule is unfinished,
and include it among Active targets' non-send deadlines. This keeps finite
expiry independent of socket writability and of Burst/Staggered pacing.
Staggered release gating continues to apply only to send opportunities.
The existing expiry path marks the schedule finished, removing its lifetime
deadline before pending probes continue draining. No new state, readiness
handling, cadence, or drain/close policy is introduced. Continuous schedules
have no lifetime deadline.
The prior public-API Linux namespace/veth/TBF investigation observed genuine
EAGAIN with Burst pacing, 500 ms duration, 1 ms interval, 1400-byte probes,
and 20 ms probe timeout. Polling stopped around 327 ms after pending probes
disappeared, remained stalled beyond 1.5 s, and resumed on queue release.
Staggered applicability follows from the shared deadline selection; it was
not separately reproduced under TBF.
Retain two deterministic owning-layer tests for schedule deadline lifetime
and managed selection under send_waiting and stagger gating, using ordinary
Instant values and a production socket. Keep the privileged networking
harness as investigation evidence rather than adding bespoke test machinery.
Validation: formatting; focused schedule/managed tests; managed lifecycle,
behavior, and blocking-owner integration tests; workspace all-feature check,
all-target tests, doctests, and strict Clippy; client no-default-features
check/tests/strict Clippy and Tokio-free normal dependency tree; Linux
all-feature client and integration suites, including ancillary transport.
2026-10-04 15:41:06 +07:00
Nils Andreas Svee
4b05c3027b
fix(client): bound managed drain deadline bookkeeping
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 22s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Successful in 35s
Supply chain / cargo-deny advisories (push) Successful in 6s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m13s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 27s
Netem Interop / netem interop (push) Successful in 1m2s
Reuse deadline-ordered linked storage in the separate timed-out retention map so each drain lookup reads its tail and late replies unlink directly. Preserve FIFO capacity eviction, original timeouts, classification, and the managed work budget; cover bounded inspection work and retention lifecycle transitions.
2026-10-04 13:57:37 +07:00
Nils Andreas Svee
596dd20bcf
fix(client): validate blocking receive lifecycle before socket I/O
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo doc (push) Successful in 23s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 15s
Rust CI / cargo clippy (push) Successful in 31s
Supply chain / cargo-deny advisories (push) Successful in 6s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 28s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m10s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 59s
Blocking receives previously checked lifecycle only after a datagram arrived, allowing invalid operations to block or return empty success after timeout. Reuse session validation before socket access and cover connected, closed, and no-test-completed states through public APIs.
2026-10-04 13:35:37 +07:00
Nils Andreas Svee
ebc1f2d0b1
Merge branch 'fix/rolling-directional-loss'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 25s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny bans licenses sources (push) Successful in 8s
Supply chain / cargo-deny advisories (push) Successful in 8s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m15s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m3s
2026-10-04 13:20:00 +07:00
Nils Andreas Svee
a45396c236
fix(stats): reject stale and discontinuous rolling counter baselines
2026-10-04 13:12:46 +07:00
Nils Andreas Svee
743a050416
fix(stats): align rolling directional loss with window counts
2026-10-04 12:20:47 +07:00
Nils Andreas Svee
524d56f72c
Merge branch 'hotfix/fix-staggered-idle-wake'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 25s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 30s
Supply chain / cargo-deny advisories (push) Successful in 7s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 28s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m11s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 28s
Netem Interop / netem interop (push) Successful in 1m6s
2026-10-04 12:04:15 +07:00
Nils Andreas Svee
ccdf4ea39c
test(client): simplify staggered deadline regression
2026-10-04 11:55:04 +07:00
Nils Andreas Svee
1d211c81ad
fix(client): avoid staggered wakes without a send deadline
2026-10-04 11:37:30 +07:00
Nils Andreas Svee
ded61b58e2
Merge branch 'fix/rolling-time-ordering'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 23s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 5s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 34s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m16s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 28s
Netem Interop / netem interop (push) Successful in 1m2s
2026-10-04 10:51:23 +07:00
Nils Andreas Svee
bdc5d152d4
fix(stats): reclaim expired rolling events without tombstones
2026-10-04 00:52:58 +07:00
Nils Andreas Svee
8986caecb0
perf(stats): index rolling expiry to avoid full-window scans
2026-10-04 00:06:15 +07:00
Nils Andreas Svee
edff75e55a
fix(stats): expire backdated events from rolling time windows
2026-10-03 22:29:42 +07:00
Nils Andreas Svee
48a50d7f3a
tests: rework the actually useful tests to live in the integration crate
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo doc (push) Successful in 23s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 35s
Supply chain / cargo-deny advisories (push) Successful in 9s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 34s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m14s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m11s
2026-10-03 13:59:38 +07:00
Nils Andreas Svee
74e7532965
tests: clean up more tests across the project
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 22s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 7s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 33s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 33s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 27s
Netem Interop / netem interop (push) Successful in 1m3s
2026-10-02 12:47:27 +07:00
Nils Andreas Svee
dc5b19059e
tests(client): cleanup unnecessary tests and hooks
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo doc (push) Successful in 26s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 14s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 6s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 32s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 34s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 32s
Netem Interop / netem interop (push) Successful in 1m3s
2026-10-02 08:33:49 +07:00
Nils Andreas Svee
50fe83a4c8
docs(irtt-client): document caller-owned cadence
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo doc (push) Successful in 26s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Successful in 33s
Supply chain / cargo-deny advisories (push) Successful in 9s
Supply chain / cargo-deny bans licenses sources (push) Successful in 7s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 31s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 33s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 33s
Netem Interop / netem interop (push) Successful in 1m4s
2026-10-02 00:31:17 +07:00
Nils Andreas Svee
f2fce2f330
refactor(irtt-client): move cadence into managed runner
2026-10-02 00:31:17 +07:00
Nils Andreas Svee
9240152e4b
chore(release): irtt-client 0.5.3
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 23s
Supply chain / actionlint (push) Successful in 3s
Semver / cargo-semver-checks (push) Failing after 48s
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Successful in 36s
Supply chain / cargo-deny advisories (push) Successful in 8s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 34s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 51s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m3s
Add socket routing configuration for interface binding, packet marks, and FreeBSD FIB selection.
2026-09-28 14:37:30 +07:00
Nils Andreas Svee
7bbc89e1c0
feat(socket): support advanced routing configuration for client socket
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 21s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Successful in 36s
Supply chain / cargo-deny advisories (push) Successful in 9s
Supply chain / cargo-deny bans licenses sources (push) Successful in 8s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 35s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 51s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 30s
Netem Interop / netem interop (push) Successful in 1m5s
Enable binding to a specific network interface, applying a firewall mark, or selecting a routing table (FIB) for outgoing packets on supported platforms.
2026-09-28 14:24:21 +07:00
Nils Andreas Svee
b6043e4961
refactor(stats): use shared measurement statistics
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo doc (push) Successful in 21s
Supply chain / actionlint (push) Successful in 2s
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Successful in 34s
Supply chain / cargo-deny advisories (push) Successful in 7s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 32s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 48s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 28s
Netem Interop / netem interop (push) Successful in 1m2s
2026-09-27 00:03:35 +07:00
Nils Andreas Svee
b36842ee98
chore(release): publish docs for irtt-proto, irtt-server, irtt-stats
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 12s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo doc (push) Successful in 26s
Supply chain / actionlint (push) Successful in 3s
Semver / cargo-semver-checks (push) Successful in 54s
Rust CI / cargo fmt (push) Successful in 13s
Rust CI / cargo clippy (push) Successful in 26s
Supply chain / cargo-deny advisories (push) Successful in 7s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 25s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 44s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 31s
Netem Interop / netem interop (push) Successful in 1m2s
Version the remaining public crates independently so their crate-specific READMEs, examples, and API doctests are represented in release history.
2026-09-25 00:32:11 +07:00
Nils Andreas Svee
cf48988170
chore(release): irtt-client 0.5.2, irtt-rs 0.7.1
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Rust CI / cargo doc (push) Successful in 23s
Supply chain / actionlint (push) Successful in 3s
Semver / cargo-semver-checks (push) Successful in 58s
Rust CI / cargo fmt (push) Successful in 14s
Rust CI / cargo clippy (push) Successful in 29s
Supply chain / cargo-deny advisories (push) Successful in 7s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Publish irtt-server image / publish (push) Successful in 1m13s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 25s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 43s
Fuzz Smoke / cargo fuzz smoke (push) Failing after 29s
Netem Interop / netem interop (push) Successful in 1m8s
Fix kernel transmit-timestamp correlation after failed probe sends and accept ordinary boolean values for the server DSCP environment option.
2026-09-25 00:29:52 +07:00
Nils Andreas Svee
4908921fb8
Merge branch 'docs/doctests'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Canceled after 0s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Canceled after 0s
Rust CI / cargo doc (push) Canceled after 0s
Supply chain / actionlint (push) Canceled after 0s
Rust CI / cargo fmt (push) Canceled after 0s
Rust CI / cargo clippy (push) Canceled after 0s
Supply chain / cargo-deny advisories (push) Canceled after 0s
Supply chain / cargo-deny bans licenses sources (push) Canceled after 0s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Canceled after 0s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Canceled after 0s
Fuzz Smoke / cargo fuzz smoke (push) Canceled after 0s
Netem Interop / netem interop (push) Canceled after 0s
2026-09-24 17:13:02 +07:00
Nils Andreas Svee
0d69255e9e
docs(client): add executable API examples
2026-09-24 16:51:03 +07:00
Nils Andreas Svee
d7d6e76682
docs(server): add executable API examples
2026-09-24 16:40:04 +07:00
Nils Andreas Svee
328ff17901
docs(irtt-proto): add runnable doctests for public API
...
Add executable doctests documenting the consumer-facing contract of
irtt-proto: the directional request encode/decode/verify split, Params
construction and round-trip, omitted-vs-explicit-zero presence, open and
echo reply round trips, packet length calculation, and HMAC verification.
No conventional tests are migrated: every existing irtt-proto test
exercises wire vectors, flag matrices, malformed input, layout rules,
HMAC error behavior, or encode/decode round trips, which the crate's
AGENTS.md treats as durable compatibility coverage rather than
documentation cleanup targets.
2026-09-24 16:29:40 +07:00
Nils Andreas Svee
19782dd3fd
docs(irtt-stats): add runnable doctests for public API
...
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Successful in 41s
Rust CI / cargo doc (push) Successful in 38s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Successful in 1m30s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 22s
Rust CI / cargo clippy (push) Successful in 45s
Supply chain / cargo-deny advisories (push) Successful in 10s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 42s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m31s
Fuzz Smoke / cargo fuzz smoke (push) Successful in 1m44s
Netem Interop / netem interop (push) Successful in 1m13s
Add executable doctests that document the consumer-facing contract of
irtt-stats: finite vs continuous retention, the exact-median guarantee,
the retained-memory planning estimate, and count-/time-based rolling
snapshots. Migrate the send-call exact-median test into the
StatsConfig::finite() doc, which fully subsumes it.
2026-09-18 00:10:49 +07:00
Nils Andreas Svee
b3241958d9
Merge branch 'test/server-core-fuzz'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Successful in 39s
Rust CI / cargo doc (push) Successful in 38s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Successful in 1m32s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Successful in 36s
Supply chain / cargo-deny advisories (push) Successful in 10s
Supply chain / cargo-deny bans licenses sources (push) Successful in 5s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 32s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m21s
Netem Interop / netem interop (push) Successful in 1m18s
Fuzz Smoke / cargo fuzz smoke (push) Successful in 1m49s
2026-09-15 16:29:21 +07:00
Nils Andreas Svee
8644b70b89
test(server): vary fuzz HMAC keys
2026-09-15 14:24:51 +07:00
Nils Andreas Svee
196512068b
Merge branch 'docs/audit-corrections'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Successful in 38s
Rust CI / cargo doc (push) Successful in 32s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Successful in 1m34s
Proto Fuzz Smoke / cargo fuzz smoke (push) Successful in 1m35s
Supply chain / actionlint (push) Successful in 4s
Rust CI / cargo fmt (push) Successful in 18s
Rust CI / cargo clippy (push) Successful in 43s
Supply chain / cargo-deny advisories (push) Successful in 9s
Supply chain / cargo-deny bans licenses sources (push) Successful in 6s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 41s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m29s
Netem Interop / netem interop (push) Successful in 1m12s
2026-09-15 13:20:25 +07:00
Nils Andreas Svee
e861de5247
fix(client): invalidate TX correlation after send failures
2026-09-15 13:03:36 +07:00
Nils Andreas Svee
d335ad78c9
test(server): exercise keyed stateful fuzz paths
2026-09-15 12:59:53 +07:00
Nils Andreas Svee
f650b6220a
Merge branch 'test/doctest-ci'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Successful in 40s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Successful in 1m30s
Proto Fuzz Smoke / cargo fuzz smoke (push) Successful in 1m30s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo clippy (push) Successful in 37s
Rust CI / cargo doc (push) Successful in 33s
Supply chain / cargo-deny advisories (push) Successful in 6s
Supply chain / cargo-deny bans licenses sources (push) Successful in 9s
Rust CI / cargo fmt (push) Successful in 15s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 31s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m17s
Netem Interop / netem interop (push) Successful in 1m16s
2026-09-15 12:51:01 +07:00
Nils Andreas Svee
865c166828
Merge branch 'refactor/remove-irttd-alias'
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Successful in 41s
Rust CI / cargo doc (push) Successful in 21s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Successful in 1m31s
Proto Fuzz Smoke / cargo fuzz smoke (push) Successful in 1m31s
Supply chain / actionlint (push) Successful in 3s
Rust CI / cargo fmt (push) Successful in 19s
Rust CI / cargo clippy (push) Successful in 42s
Supply chain / cargo-deny advisories (push) Successful in 6s
Supply chain / cargo-deny bans licenses sources (push) Successful in 9s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Successful in 41s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Successful in 1m28s
Netem Interop / netem interop (push) Successful in 1m14s
2026-09-15 12:50:25 +07:00
Nils Andreas Svee
bc2bf34ed4
test(server): fuzz ServerCore datagram handling
2026-09-15 12:39:59 +07:00
Nils Andreas Svee
4864357486
refactor(app): remove undocumented irttd applet alias
2026-09-15 12:32:34 +07:00