summaryrefslogtreecommitdiffstats
path: root/src/swarm/source.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/swarm/source.rs')
-rw-r--r--src/swarm/source.rs5
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)