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
510f307acc
feat(cli): implement command-line argument parsing and event formatting
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
4b90187d1d
chore(cli): add dependencies for CLI implementation
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
2715dcb5bd
test(client): add regression tests for packet processing and RTT
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
5a9231505e
refactor(probe): improve CompletedSet eviction logic using insertion order
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
0099ac799f
fix(client): handle negative RTT and simplify sample generation
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
d212258707
feat(client): add specific warning kinds for dropped packets
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
b9fc4b9cee
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-05-10 20:56:43 +07:00
Nils Andreas Svee
1cc0d60eac
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-05-10 20:56:43 +07:00
Nils Andreas Svee
4a35f5ba0f
test(client): add regression tests for edge cases and correctness
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
9661ebc4a6
fix(client): allow partial one-way delay samples
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
548363ad05
fix(client): improve probe tracking and reply handling
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
7cbc30a3a2
refactor(client): dynamic receive buffer sizing based on negotiated parameters
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
cdf41f2a82
feat(client): add configuration validation and new error types
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
265618b97e
refactor(client): use internal clock for timestamps and simplify probe signatures
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
abf4b8134c
test(client): add comprehensive tests for Milestone 3 probing functionality
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
c373b957d5
feat(client): implement core echo probe sending and receiving logic
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
cebce832ff
feat(client): define new event types and error variants for echo probes
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
df3edf9f1d
feat(client): add configuration options for probe timing and budgets
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
b0dc1fb70c
feat(client): implement PendingMap and CompletedSet for probe tracking
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
e33b9b3f3f
refactor(client): rename ClientState to ClientPhase and introduce ActiveSession
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
30675ff85f
fix(client): Improve socket error handling and remove redundant validation
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
befe431304
feat(client): Reject empty open_timeouts configuration with dedicated error
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
04ebaf829a
refactor(proto): Remove unused protocol flags and helper functions
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
a5e8c80ecb
build(deps): Upgrade thiserror to version 2
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
f1f5dfe541
test(client): Verify socket read timeout restoration after open()
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
f095eb5930
refactor(client): Introduce and apply test helper for timeout servers
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
80bdb7d84a
test(client): Add open() state validation tests
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
f8505b01f3
feat(client): Validate client state and restore socket timeout on open()
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
1266497119
feat(client): Add client session state error variants
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
14bc506b51
feat(client): Normalize IPv6 addresses without port in brackets
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
d26b049b06
feat(irtt-client): introduce core client connection logic
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
0a237462e9
refactor(irtt-client): update lib.rs for modularized client
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
7429beef79
refactor(irtt-client): modularize client components
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
6772a3def0
build(deps): upgrade thiserror to version 2
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
eb5e9dc9bc
feat(client): Implement initial IRTT client session management
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
7769c39dbe
build(client): Add core dependencies for irtt-client
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
34dd2ee5d2
refactor(proto): Remove Clock::None and default to Clock::Both
...
Simplify clock parameter negotiation by rejecting the ambiguous 'None' value.
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