Commit Graph
34 Commits
Author SHA1 Message Date
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
Nils Andreas Svee 974fa65626 feat(client): implement core echo probe sending and receiving logic 2026-04-28 18:23:35 +07:00
Nils Andreas Svee 99fbbb9c32 feat(client): define new event types and error variants for echo probes 2026-04-28 18:23:35 +07:00
Nils Andreas Svee 0fbf775400 feat(client): add configuration options for probe timing and budgets 2026-04-28 18:23:35 +07:00
Nils Andreas Svee 0edb3fe223 feat(client): implement PendingMap and CompletedSet for probe tracking 2026-04-28 18:23:35 +07:00
Nils Andreas Svee b71b6c1938 refactor(client): rename ClientState to ClientPhase and introduce ActiveSession 2026-04-28 18:23:35 +07:00
Nils Andreas Svee 3f902f6f2d fix(client): Improve socket error handling and remove redundant validation 2026-04-28 17:58:31 +07:00
Nils Andreas Svee e0a48e1d53 feat(client): Reject empty open_timeouts configuration with dedicated error 2026-04-28 17:58:31 +07:00
Nils Andreas Svee 3a523092fb refactor(proto): Remove unused protocol flags and helper functions 2026-04-28 17:58:31 +07:00
Nils Andreas Svee 1aff30c709 build(deps): Upgrade thiserror to version 2 2026-04-28 17:58:20 +07:00
Nils Andreas Svee a3f0cf015a test(client): Verify socket read timeout restoration after open() 2026-04-28 16:42:33 +07:00
Nils Andreas Svee ebc7ec1c35 refactor(client): Introduce and apply test helper for timeout servers 2026-04-28 16:42:33 +07:00
Nils Andreas Svee b04ec41e1e test(client): Add open() state validation tests 2026-04-28 16:42:33 +07:00
Nils Andreas Svee afb686b046 feat(client): Validate client state and restore socket timeout on open() 2026-04-28 16:42:33 +07:00
Nils Andreas Svee c3a75cdb0e feat(client): Add client session state error variants 2026-04-28 16:42:33 +07:00
Nils Andreas Svee a5696fd4d3 feat(client): Normalize IPv6 addresses without port in brackets 2026-04-28 16:42:33 +07:00
Nils Andreas Svee cc7923e0ad feat(irtt-client): introduce core client connection logic 2026-04-28 16:33:05 +07:00
Nils Andreas Svee 6182bc5378 refactor(irtt-client): update lib.rs for modularized client 2026-04-28 16:33:05 +07:00
Nils Andreas Svee 01d4466bc2 refactor(irtt-client): modularize client components 2026-04-28 16:33:05 +07:00
Nils Andreas Svee 7b26115a35 build(deps): upgrade thiserror to version 2 2026-04-28 16:33:05 +07:00
Nils Andreas Svee 4c9fea3c9b feat(client): Implement initial IRTT client session management 2026-04-28 16:27:33 +07:00
Nils Andreas Svee bc260b83e5 build(client): Add core dependencies for irtt-client 2026-04-28 16:27:33 +07:00
Nils Andreas Svee b1db169494 style(gitignore): Restrict target directory ignore scope 2026-04-28 16:15:43 +07:00
Nils Andreas Svee eade39aa94 refactor(proto): Remove Clock::None and default to Clock::Both
Simplify clock parameter negotiation by rejecting the ambiguous 'None' value.
2026-04-28 16:15:26 +07:00
Nils Andreas Svee 82491f0f61 feat(project): Establish initial IRTT workspace and protocol definitions
Set up the multi-crate project structure and add the core IRTT protocol with pinned dependencies for reproducible builds.
2026-04-28 16:03:50 +07:00
Nils Andreas Svee dd8b55ad9f docs(plan): Revise implementation plan to reflect API simplifications and feature deferrals 2026-04-28 15:56:05 +07:00
Nils Andreas Svee 208341a84d first revision plan + docs 2026-04-28 15:36:40 +07:00