Nils Andreas Svee
c7d03c0358
test(client): strengthen assertions for session cleanup after peer closure
...
Update tests to ensure no packets at all are sent following a peer-initiated closure, rather than just checking for the absence of the close flag.
2026-06-20 23:08:00 +07:00
Nils Andreas Svee
97dc1b3f8d
test(client): add tests for peer-initiated session closure
2026-06-20 22:59:48 +07:00
Nils Andreas Svee
e33ae1d0fc
fix(client): handle peer-initiated session closure gracefully
2026-06-20 22:59:48 +07:00
Nils Andreas Svee
01c10e2e0d
docs: document client public API
2026-05-18 01:34:04 +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
39d414d588
test: consolidate formatter and hub policy cases
2026-05-17 00:39:23 +07:00
Nils Andreas Svee
a7e10358fd
test(client): use fallible packet length helpers in integration tests
2026-05-12 13:05:45 +07:00
Nils Andreas Svee
4549d95d0a
test(client): update test helpers to handle fallible packet length calculations
2026-05-12 13:05:45 +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
5f6bff5dcb
feat(client): add timestamp to ClientEvent::Warning
...
Include a timestamp when reporting warnings to allow consumers like the machine-readable formatter to provide temporal context for troubleshooting.
2026-05-11 09:50:16 +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
c3f2a524a3
fix(client): avoid lossy timing casts
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
be2f43b07a
chore(client): polish managed runner ergonomics
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
2524f5d1b2
feat(client): drain late replies before closing session
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
a773a94a45
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-05-10 20:56:43 +07:00
Nils Andreas Svee
0a9054a51d
test(managed): improve test reliability and coverage
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
a2d27b154b
feat(managed): implement automatic cancellation on session drop
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
4da8f962d4
feat(managed): automatically unregister dropped event subscriptions
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
16b81eb867
refactor(managed): rename malformed events to warning_events
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
37e3f243eb
feat(managed): export managed client modules
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
ffcbacd438
feat(managed): implement managed client runner
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
9a52a3f938
feat(managed): implement event hub for pub/sub communication
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
d9846b7868
feat(managed): implement thread-safe cancellation token
2026-05-10 20:56:43 +07:00