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
commit1c32f4534c88304205e2de6d5d0c33a8bb0162d9 (patch)
treed82904bf3deff6ddd855ad1fb32b68c7f6373ca8 /src/swarm/peer.rs
parent64fbe99234425259d2758982caa52e1a62272d03 (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)
};