Nils Andreas Svee
7017071949
fix(client): report read-timeout restore failures
2026-05-07 21:25:51 +07:00
Nils Andreas Svee
658a4375ec
fix(client): clarify duration negotiation rejection
2026-05-07 21:25:51 +07:00
Nils Andreas Svee
b5f1d8d438
fix(client): check probe scheduling arithmetic
2026-05-07 21:25:51 +07:00
Nils Andreas Svee
4cd0201c50
fix(client): handle sequence wrap in reply ordering
2026-05-07 21:25:51 +07:00
Nils Andreas Svee
1f167071fb
fix(client): reject invalid negotiated packet length
2026-05-07 21:25:51 +07:00
Nils Andreas Svee
e479d51dc3
fix(client): validate packet length configuration
2026-05-07 21:25:51 +07:00
Nils Andreas Svee
2ed0677286
fix(client): harden ancillary receive parsing
2026-05-07 20:34:34 +07:00
Nils Andreas Svee
49321ba8b7
fix(client): harden ancillary control message parsing
2026-05-07 19:02:38 +07:00
Nils Andreas Svee
1e706dfefd
feat(client): add Linux kernel receive timestamp metadata
2026-05-07 18:51:06 +07:00
Nils Andreas Svee
ec847bb1d4
test(client): cover receive metadata on reply events
2026-05-07 18:30:04 +07:00
Nils Andreas Svee
fb1d7bc7a0
chore(client): refine unsafe code restrictions for Linux ancillary features
...
Transition from a global forbid to a scoped deny for unsafe code to accommodate necessary low-level operations in the Linux receive implementation.
2026-05-07 18:24:14 +07:00
Nils Andreas Svee
6eb7ff2920
feat(client): add Linux ancillary receive metadata
2026-05-07 17:58:40 +07:00
Nils Andreas Svee
97d61371cb
feat(client): add receive datagram abstraction
2026-05-07 17:35:54 +07:00
Nils Andreas Svee
168beffec1
feat(client): add receive metadata scaffold
2026-05-07 17:15:08 +07:00
Nils Andreas Svee
8625672f85
test: make IPv6 socket option tests more robust
2026-05-05 00:58:22 +07:00
Nils Andreas Svee
8c8a679533
feat(cli): add support for configuring outgoing TTL and hop limit
...
Introduce a `--ttl` flag to allow users to set the IPv4 TTL or IPv6 hop limit, providing control over packet lifespan and helping diagnose network topology issues.
2026-05-05 00:45:56 +07:00
Nils Andreas Svee
31e7066e81
feat(client): implement DSCP negotiation and socket traffic class application
...
Apply the negotiated DSCP value to the UDP socket after a successful session open and clear it before closing to support network-level quality of service. This change adds platform-specific socket option handling for IPv4 TOS and IPv6 Traffic Class.
2026-05-05 00:18:34 +07:00
Nils Andreas Svee
36ca426ff5
test(client): add integration tests for packet length and server fill
...
Verify that the client correctly handles custom packet lengths and server fill negotiation to ensure protocol compliance and support for larger MTUs. Add validation to reject empty server fill strings during configuration.
2026-05-05 00:04:12 +07:00
Nils Andreas Svee
86f16b8656
test(client): split client tests into behavior-focused modules
2026-05-03 22:54:08 +07:00
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
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
7b3deb1f3c
refactor(client): modularize duration restriction validation
2026-05-03 15:34:04 +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
64e7117a12
feat(client): drain late replies before closing session
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
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
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
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