diff options
| author | tv <tv@krebsco.de> | 2026-10-23 13:11:55 +0200 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-23 13:11:55 +0200 |
| commit | 1c32f4534c88304205e2de6d5d0c33a8bb0162d9 (patch) | |
| tree | d82904bf3deff6ddd855ad1fb32b68c7f6373ca8 /src/swarm/peer.rs | |
| parent | 64fbe99234425259d2758982caa52e1a62272d03 (diff) | |
ping only from one side
Diffstat (limited to 'src/swarm/peer.rs')
| -rw-r--r-- | src/swarm/peer.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/swarm/peer.rs b/src/swarm/peer.rs index bad8e24..5928ac2 100644 --- a/src/swarm/peer.rs +++ b/src/swarm/peer.rs @@ -410,7 +410,8 @@ pub(crate) async fn run_peer_worker(state: AppState) { let (became_dormant, ping_due, unanswered) = { let mut peer_state = peer_state_mutex.lock().await; let became_dormant = ready && peer_state.check_dormancy(&state.timing, now); - let ping_due = peer_state.take_keepalive_due(&state.timing, now); + let we_ping = state.local_id() < peer.as_str(); + let ping_due = peer_state.take_keepalive_due(&state.timing, we_ping, now); let unanswered = peer_state.take_overdue_sync_reply(now); (became_dormant, ping_due, unanswered) }; |
