From ce4b3c37abe76b11ae81b1404efd79e6dac83358 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Wed, 13 May 2026 12:56:17 +0700 Subject: [PATCH] fix(irtt-stats): keep RTT IPDV independent from directional timing --- crates/irtt-stats/src/lib.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/crates/irtt-stats/src/lib.rs b/crates/irtt-stats/src/lib.rs index adfcb3e..9fe9dfc 100644 --- a/crates/irtt-stats/src/lib.rs +++ b/crates/irtt-stats/src/lib.rs @@ -401,6 +401,10 @@ impl CoreStats { let send_ipdv = send_ipdv_ns(previous, current).map(abs_i128_ns); let receive_ipdv = receive_ipdv_ns(previous, current).map(abs_i128_ns); + let rtt_ipdv_duration = duration_from_non_negative_i128_ns(rtt_ipdv)?; + let send_ipdv_duration = send_ipdv.and_then(duration_from_non_negative_i128_ns); + let receive_ipdv_duration = receive_ipdv.and_then(duration_from_non_negative_i128_ns); + self.ipdv_round_trip.push_ns(rtt_ipdv); if let Some(value) = send_ipdv { @@ -414,9 +418,9 @@ impl CoreStats { Some(IpdvPairUpdate { previous_seq, current_seq, - rtt_ipdv: duration_from_non_negative_i128_ns(rtt_ipdv)?, - send_ipdv: send_ipdv.map(duration_from_non_negative_i128_ns)?, - receive_ipdv: receive_ipdv.map(duration_from_non_negative_i128_ns)?, + rtt_ipdv: rtt_ipdv_duration, + send_ipdv: send_ipdv_duration, + receive_ipdv: receive_ipdv_duration, }) }