Commit Graph
91 Commits
Author SHA1 Message Date
Nils Andreas Svee 746ea3805b refactor(client): move internal client tests to a dedicated sub-module 2026-05-03 22:25:35 +07:00
Nils Andreas Svee bf5b3b2f55 refactor(cli): rename m8 compatibility terms to advanced protocol options 2026-05-03 22:25:35 +07:00
Nils Andreas Svee 8ee308a2b4 test(cli): consolidate invalid argument parsing tests 2026-05-03 22:25:25 +07:00
Nils Andreas Svee 49dbb0b536 test: verify RTT equality when no timestamping is present 2026-05-03 21:30:23 +07:00
Nils Andreas Svee dff201de89 refactor(test): extract RTT processing verification to helper function 2026-05-03 21:30:23 +07:00
Nils Andreas Svee c506d5a7f7 test: update mock timestamp simulation in test support 2026-05-03 21:30:23 +07:00
Nils Andreas Svee 7440e7d217 test(client): add integration tests for m8 compatibility 2026-05-03 21:26:55 +07:00
Nils Andreas Svee 18c6e2c1a9 test(cli): expand test coverage for new CLI parameters 2026-05-03 16:12:10 +07:00
Nils Andreas Svee 5af3f891fc feat(cli): add advanced negotiation and protocol options 2026-05-03 16:12:10 +07:00
Nils Andreas Svee 64df93dbb6 feat(cli): add support for midpoint timestamps and received stats 2026-05-03 16:12:10 +07:00
Nils Andreas Svee 8c9afce30f feat(client): implement protocol configuration validation 2026-05-03 16:12:10 +07:00
Nils Andreas Svee 474aefb723 feat(client): define constants and validation for DSCP and server fill 2026-05-03 16:12:10 +07:00
Nils Andreas Svee c2138fe356 test(client): validate parameter mapping from configuration 2026-05-03 15:34:04 +07:00
Nils Andreas Svee 70df9d63f1 test(proto): verify HMAC field placement in protocol packets 2026-05-03 15:34:04 +07:00
Nils Andreas Svee 3c4a77b9f6 test(proto): add unit tests for parameter encoding and decoding 2026-05-03 15:34:04 +07:00
Nils Andreas Svee 7b3deb1f3c refactor(client): modularize duration restriction validation 2026-05-03 15:34:04 +07:00
Nils Andreas Svee 59194b620a feat(cli): implement continuous statistics and summary suppression 2026-05-02 00:01:31 +07:00
Nils Andreas Svee d79c8716a0 refactor(cli): enhance main loop and reply draining logic 2026-05-02 00:01:31 +07:00
Nils Andreas Svee 36c36f3872 feat(cli): add support for continuous mode with zero duration 2026-05-02 00:01:31 +07:00
Nils Andreas Svee 851d143f86 refactor(client): improve session initialization and state access 2026-05-02 00:01:31 +07:00
Nils Andreas Svee e63b176265 style(cli): rename machine output keys for clarity 2026-05-02 00:01:31 +07:00
Nils Andreas Svee a26e1a6d59 feat(cli): integrate StatsCollector into main execution loop 2026-05-01 22:11:47 +07:00
Nils Andreas Svee 815dab077d feat(cli): implement summary formatting for statistics 2026-05-01 22:11:47 +07:00
Nils Andreas Svee 17d9ed9e3a build(cli): add irtt-stats dependency and feature flag 2026-05-01 22:11:47 +07:00
Nils Andreas Svee 07b3d2d822 feat(cli): add Human output mode and summary logic 2026-05-01 22:11:47 +07:00
Nils Andreas Svee 64e7117a12 feat(client): drain late replies before closing session 2026-05-01 18:24:54 +07:00
Nils Andreas Svee 4604dd8786 feat(stats): bound sequence tracking in continuous mode 2026-05-01 18:24:54 +07:00
Nils Andreas Svee a73a4ff341 fix(client): prune insertion order in TimedOutMap on removal 2026-05-01 18:24:54 +07:00
Nils Andreas Svee 96bd041680 build(stats): add irtt-client dependency to irtt-stats 2026-05-01 18:08:21 +07:00
Nils Andreas Svee 198a929ed6 feat(stats): implement core statistics collection and aggregation 2026-05-01 18:07:54 +07:00
Nils Andreas Svee cf519bd630 feat(client): emit EchoSent event with scheduling metadata 2026-05-01 10:05:52 +07:00
Nils Andreas Svee bcbc0ec164 feat(client): track and handle late replies after timeout 2026-05-01 10:05:52 +07:00
Nils Andreas Svee e2be6cadac feat(client): implement SignedDuration for precise RTT tracking 2026-05-01 10:05:52 +07:00
Nils Andreas Svee 18f15f16d5 feat(client): record and report packet size in client events 2026-05-01 10:05:43 +07:00
Nils Andreas Svee c23db87d7c docs: add IRTT statistics behavioral specification
Define a clean-room specification for IRTT client result semantics to ensure upstream compatibility for irtt-rs.
2026-04-30 00:30:14 +07:00
Nils Andreas Svee 63f01f65bf refactor(managed): ensure event hub disconnection on all exit paths
Wrap the client execution in a cleanup handler to guarantee that event hub subscriptions are disconnected regardless of whether the session completes successfully or returns an error.
2026-04-29 10:36:16 +07:00
Nils Andreas Svee ddb2fff7c8 test(managed): improve test reliability and coverage 2026-04-29 01:14:36 +07:00
Nils Andreas Svee bb7ba20906 feat(managed): implement automatic cancellation on session drop 2026-04-29 01:14:36 +07:00
Nils Andreas Svee a925dc61f0 feat(managed): automatically unregister dropped event subscriptions 2026-04-29 01:14:36 +07:00
Nils Andreas Svee e04caaca8d refactor(managed): rename malformed events to warning_events 2026-04-29 01:14:36 +07:00
Nils Andreas Svee 4cd6da01b6 feat(managed): export managed client modules 2026-04-28 23:34:34 +07:00
Nils Andreas Svee 1f6ce97c3a feat(managed): implement managed client runner 2026-04-28 23:34:34 +07:00
Nils Andreas Svee 2f3d3ed87d feat(managed): implement event hub for pub/sub communication 2026-04-28 23:34:34 +07:00
Nils Andreas Svee b83674880c feat(managed): implement thread-safe cancellation token 2026-04-28 23:34:34 +07:00
Nils Andreas Svee 90e7239157 feat(error): introduce worker panic and subscription disconnection errors 2026-04-28 23:34:34 +07:00
Nils Andreas Svee 2f3d92ad2b feat(client): add run status and packet count helpers 2026-04-28 23:34:34 +07:00
Nils Andreas Svee 13c32cd753 refactor(cli): restrict test utilities to test module and expand value escaping
Move internal test helpers to the test module to clean up the public API and add support for escaping common whitespace characters in output values.
2026-04-28 23:16:22 +07:00
Nils Andreas Svee 729d884047 perf(cli): use LineWriter for stdout to improve output responsiveness
Switch from BufWriter to LineWriter to ensure trace logs and events are flushed to the terminal immediately upon each line completion.
2026-04-28 23:15:54 +07:00
Nils Andreas Svee d4d39922b0 docs(cli): add TODO for refining final drain duration logic
Document the need to derive the final drain period from client state rather than using a hardcoded guess.
2026-04-28 23:15:45 +07:00
Nils Andreas Svee 0229110ea0 feat(cli): implement main execution loop and network I/O logic 2026-04-28 23:06:45 +07:00