summaryrefslogtreecommitdiffstats
path: root/src/swarm/peer.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-23 13:11:55 +0200
committertv <tv@krebsco.de>2026-10-23 13:11:55 +0200
commitf4d4dd33654737fb51431ad684a6ef73859acafc (patch)
treeff1272bfb7854355f9e2259c43851940792cf266 /src/swarm/peer.rs
parenta3d322a65c3bae76740be78dac167b1ce1fc0716 (diff)
ping only from one side
Diffstat (limited to 'src/swarm/peer.rs')
-rw-r--r--src/swarm/peer.rs3
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)
};