diff options
| author | tv <tv@krebsco.de> | 2026-10-24 05:21:07 +0200 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-24 05:21:07 +0200 |
| commit | 1d573eada2ec3fcfed6499afb879c172e9c8b759 (patch) | |
| tree | 78efa1d6b1aa278845eb0acdb87d05f23cd7b6c0 /src/swarm/source.rs | |
| parent | 409e53da1532872c60a21a70b124210850df4027 (diff) | |
record RTT sampling instant
Diffstat (limited to 'src/swarm/source.rs')
| -rw-r--r-- | src/swarm/source.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/swarm/source.rs b/src/swarm/source.rs index 292cfc8..36a333e 100644 --- a/src/swarm/source.rs +++ b/src/swarm/source.rs @@ -82,8 +82,9 @@ pub(crate) fn defer(state: &AppState, peer: &str, peer_state: &PeerState) -> Opt // that, whoever asks first takes it (the closer one may not be suitable after all). let rtt = { let rtts = state.lock_rtt(); - let mine = rtts.get(peer); - let closer = rtts.all().any(|(other, rtt)| { + let fresh_for = state.timing.rtt_fresh_for(); + let mine = rtts.effective(peer, now, fresh_for); + let closer = rtts.all_effective(now, fresh_for).any(|(other, rtt)| { other != peer && quiet.as_deref() != Some(other) && mine.is_none_or(|mine| rtt * 5 < mine * 4) |
