Nils Andreas Svee
1469a2d9e8
refactor(irtt-stats): extract rolling events module
2026-05-13 14:44:56 +07:00
Nils Andreas Svee
ebc0d46621
refactor(irtt-stats): extract loss stats module
2026-05-13 14:32:12 +07:00
Nils Andreas Svee
cc43b43f00
refactor(irtt-stats): extract IPDV tracking module
2026-05-13 14:25:54 +07:00
Nils Andreas Svee
04d5b634a2
refactor(irtt-stats): extract time stats module
2026-05-13 14:16:07 +07:00
Nils Andreas Svee
557c946796
refactor(irtt-stats): split snapshot builders
2026-05-13 14:07:43 +07:00
Nils Andreas Svee
bda1d83c27
refactor(irtt-stats): extract rolling event storage
2026-05-13 13:59:54 +07:00
Nils Andreas Svee
820304f6eb
refactor(irtt-stats): split unique reply accounting
2026-05-13 13:49:43 +07:00
Nils Andreas Svee
f211845645
refactor(irtt-stats): extract IPDV update recording
2026-05-13 13:45:28 +07:00
Nils Andreas Svee
851825822d
refactor(irtt-stats): split CoreStats event handlers
2026-05-13 13:40:55 +07:00
Nils Andreas Svee
969d26d0f1
refactor(irtt-stats): extract event normalization boundary
2026-05-13 13:31:27 +07:00
Nils Andreas Svee
c1b2486046
refactor(irtt-stats): split reply and IPDV samples
2026-05-13 13:28:08 +07:00
Nils Andreas Svee
90bb29cd75
refactor(irtt-stats): extract IPDV tracker
2026-05-13 13:20:58 +07:00
Nils Andreas Svee
0dd137a59e
refactor(irtt-stats): rename WindowEvent to StatsEvent
2026-05-13 13:12:06 +07:00
Nils Andreas Svee
05f9732760
refactor(irtt-stats): rename median mode to sample mode
2026-05-13 12:58:13 +07:00
Nils Andreas Svee
ce4b3c37ab
fix(irtt-stats): keep RTT IPDV independent from directional timing
2026-05-13 12:57:10 +07:00
Nils Andreas Svee
f05b7cceb2
refactor(irtt-stats): improve duration safety by handling negative time offsets
2026-05-13 12:44:35 +07:00
Nils Andreas Svee
0a66f6fb49
refactor(irtt-stats): remove unused push_duration helper
2026-05-13 12:36:51 +07:00
Nils Andreas Svee
5138dee29f
refactor(irtt-stats): unify duration statistics into a single TimeStats type
...
Simplify the statistics model by merging signed and unsigned duration types into a single structure that uses i128 to consistently handle both positive and negative time offsets.
2026-05-13 12:32:47 +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
197903fb8e
test(irtt-stats): rename internal date-time helper and update test case name
...
Rename system_time_ns to unix_time_ns_after_epoch for better clarity on output behavior and update a continuous mode test case name to more accurately reflect its purpose.
2026-05-13 12:07:51 +07:00
Nils Andreas Svee
adfe8e7a6b
test(irtt-stats): move integration tests to dedicated test module
2026-05-13 11:59:06 +07:00
Nils Andreas Svee
b508a94198
build: bump version to 0.2.0
2026-05-11 15:11:58 +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
1cdd100473
refactor(irtt-stats): remove redundant process_with_update method
...
Simplify the StatsCollector API by removing an unnecessary indirection that performed the same logic as the main process method.
2026-05-11 10:09:13 +07:00
Nils Andreas Svee
80fda92231
fix(irtt-stats): use event timestamp for warnings instead of current time
...
Ensure warning statistics reflect the actual time the event occurred rather than the moment the event was processed.
2026-05-11 09:55:11 +07:00
Nils Andreas Svee
2258509021
chore: bump version to 0.1.1 across all crates
...
Update workspace members and dependencies to version 0.1.1 to prepare for a new release.
2026-05-10 21:17:22 +07:00
Nils Andreas Svee
416e5b43ba
build: add package metadata to member crates for publishing
...
Include descriptions, keywords, categories, and workspace-inherited fields (repository, homepage, readme) to prepare crates for distribution on crates.io.
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
2368e0b3ee
build: centralize internal dependencies using workspace inheritance
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
2061bb6ae7
feat(stats): track multiple IPDV pairs per event update
...
Expose multiple jitter updates when a single event fills a sequence gap, ensuring accurate IPDV reporting for out-of-order packets in human-readable output.
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
8f35b1d229
feat(stats): expose per-event jitter updates
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
ca99b752a6
feat(stats): bound sequence tracking in continuous mode
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
7d3a9f8da0
build(stats): add irtt-client dependency to irtt-stats
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
16c1af750c
feat(stats): implement core statistics collection and aggregation
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