Nils Andreas Svee
fe776e6672
feat(cli): add multi-applet dispatcher with subcommand support
2026-06-20 22:59:48 +07:00
Nils Andreas Svee
efaa60cbd4
refactor(cli): simplify applet detection and remove feature-based defaults
2026-06-20 22:59:48 +07:00
Nils Andreas Svee
133ff71b72
feat(cli): implement multi-applet binary dispatch and signal handling
2026-06-09 23:23:50 +07:00
Nils Andreas Svee
c31ad07d61
feat(irtt-cli): add optional tui output mode
2026-06-09 13:29:00 +07:00
Nils Andreas Svee
e117813578
test: consolidate and prune redundant unit tests
...
Simplify the test suite by merging similar test cases and removing redundant assertions that verify trivial initialization and basic container logic.
2026-05-18 00:16:51 +07:00
Nils Andreas Svee
2d6581f31f
refactor(client): encapsulate SignedDuration and enhance its API
...
Hide internal fields to improve type safety and provide helper methods for unit conversions and negative value checks. Fix several feature-gated test compilation issues.
2026-05-17 22:47:16 +07:00
Nils Andreas Svee
bec56d4114
refactor(client): use SignedDuration for effective RTT to support negative values
...
Simplify RttSample by merging signed and unsigned fields into a single SignedDuration for adjusted and effective RTT. This ensures accurate reporting and statistics when server processing time exceeds raw RTT.
2026-05-17 21:30:51 +07:00
Nils Andreas Svee
00fd0ebb15
test: consolidate duplicate CLI and client config cases
2026-05-17 00:34:18 +07:00
Nils Andreas Svee
5d471b77fb
refactor(irtt-cli): split stream runtime path
2026-05-13 22:20:51 +07:00
Nils Andreas Svee
61c527eb26
refactor(irtt-cli): rename stream output helper
2026-05-13 22:12:03 +07:00
Nils Andreas Svee
f5c35e8142
feat(irtt-cli): note running-only continuous summaries
2026-05-13 22:05:18 +07:00
Nils Andreas Svee
9adab6882d
test(cli): add tests for interrupted continuous mode summary
2026-05-13 22:01:56 +07:00
Nils Andreas Svee
67ef912ba0
feat(cli): print summary when continuous mode is interrupted
2026-05-13 22:01:56 +07:00
Nils Andreas Svee
f2f5728c72
refactor(cli): rename print_finite_summary to print_final_summary
2026-05-13 22:01:56 +07:00
Nils Andreas Svee
480cb4fa92
warn(irtt-cli): flag large finite stats runs
2026-05-13 20:18:45 +07:00
Nils Andreas Svee
542e67bf74
refactor(irtt-stats): consolidate snapshot types and rename summary to snapshot
2026-05-13 12:21:51 +07:00
Nils Andreas Svee
7ad83ca1f6
refactor: remove logical_seq from client events, session tracking and stats usage
...
It was an attempt at handling integer wraparound more cleanly keeping in mind that we have a continuous mode,
and so we can more easily reach seq > u32::MAX
However after running the numbers, if we run with a interval of 10ms, it's still gonna take ~497 days before we hit integer overflow, so for now it doesn't seem worth to have this extra logic to handle something that'll in 99.9% of cases be purely an edge case
Keeping in mind autorate usage, in sqm-autorate-rust each send loop is 500 ms by default, and the sleep is then 500 ms / 5 reflectors, so our interval is 100 ms. that means it'll take 4970 days or ~13.6 years to reach the limit. Not worth dealing with IMO
2026-05-11 14:56:07 +07:00
Nils Andreas Svee
1a04f44bb5
refactor(client): remove redundant timestamp parameter from poll_timeouts
...
Use internal monotonic time by default and introduce poll_timeouts_at for callers requiring a specific sampled Instant. This simplifies the API for standard usage while maintaining flexibility for external event loops.
2026-05-11 09:33:55 +07:00
Nils Andreas Svee
d8b580a19c
refactor(client): remove redundant timestamp parameter from close method
2026-05-10 23:47:46 +07:00
Nils Andreas Svee
023e85741a
refactor(client): remove redundant timestamp parameter from open method
2026-05-10 23:37:35 +07:00
Nils Andreas Svee
8cdd5c63e8
feat(cli): quiet default human output
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
f9c3685668
feat(cli): improve human event output
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
995293676d
feat(cli): handle interrupt as graceful shutdown
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
b1451742b4
feat(cli): implement continuous statistics and summary suppression
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
b35bc50ca4
refactor(cli): enhance main loop and reply draining logic
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
4770d0d476
feat(cli): integrate StatsCollector into main execution loop
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
49b48bdce2
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-05-10 20:56:43 +07:00
Nils Andreas Svee
be473d04ad
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-05-10 20:56:43 +07:00
Nils Andreas Svee
c65ba48e10
feat(cli): implement main execution loop and network I/O logic
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
cf74887bdf
feat(project): Establish initial IRTT workspace and protocol definitions
2026-05-10 20:56:28 +07:00