diff options
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) |
