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
Nils Andreas Svee
d82b35ce3a
feat(cli): implement command-line argument parsing and event formatting
2026-04-28 23:06:45 +07:00
Nils Andreas Svee
1d378ed5ea
chore(cli): add dependencies for CLI implementation
2026-04-28 23:06:45 +07:00
Nils Andreas Svee
bef98b5d58
test(client): add regression tests for packet processing and RTT
2026-04-28 22:45:03 +07:00
Nils Andreas Svee
2dd57720d7
refactor(probe): improve CompletedSet eviction logic using insertion order
2026-04-28 22:45:03 +07:00
Nils Andreas Svee
a51274d6b6
fix(client): handle negative RTT and simplify sample generation
2026-04-28 22:45:03 +07:00
Nils Andreas Svee
8ae849b2db
feat(client): add specific warning kinds for dropped packets
2026-04-28 22:45:03 +07:00
Nils Andreas Svee
899506dc64
refactor(client): capture send timestamp before socket call
...
Record the send timestamp immediately before the socket operation to include local enqueue overhead in RTT measurements, providing more conservative latency data for consumers.
2026-04-28 22:38:08 +07:00
Nils Andreas Svee
6782f7b741
refactor(client): unify production and test timing logic
...
Extract internal methods that accept an optional timestamp to eliminate code duplication between primary client logic and test helpers.
2026-04-28 22:07:09 +07:00
Nils Andreas Svee
c4001407d5
test(client): add regression tests for edge cases and correctness
2026-04-28 21:55:49 +07:00
Nils Andreas Svee
8032836661
fix(client): allow partial one-way delay samples
2026-04-28 21:55:49 +07:00
Nils Andreas Svee
3534a59fce
fix(client): improve probe tracking and reply handling
2026-04-28 21:55:49 +07:00
Nils Andreas Svee
2380d76da3
refactor(client): dynamic receive buffer sizing based on negotiated parameters
2026-04-28 21:55:49 +07:00
Nils Andreas Svee
2f5d5744ea
feat(client): add configuration validation and new error types
2026-04-28 21:55:49 +07:00
Nils Andreas Svee
443040c175
refactor(client): use internal clock for timestamps and simplify probe signatures
2026-04-28 21:55:49 +07:00
Nils Andreas Svee
001a4a7cd7
test(client): add comprehensive tests for Milestone 3 probing functionality
2026-04-28 18:23:35 +07:00