diff options
Diffstat (limited to 'src/swarm')
| -rw-r--r-- | src/swarm/peer/worker.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/swarm/peer/worker.rs b/src/swarm/peer/worker.rs index 399741c..b5c533a 100644 --- a/src/swarm/peer/worker.rs +++ b/src/swarm/peer/worker.rs @@ -111,6 +111,11 @@ pub(crate) async fn run_peer_worker(state: AppState) { (became_dormant, keepalive, unanswered, ask_again) }; + // Unanswered: the path in use may drop what it takes. Its others first, and + // all of them pinged now (`Transport::suspect`). + if unanswered.is_some() || ask_again { + state.transport.suspect(peer); + } if let Some(changes) = unanswered { debug!(peer = %peer, changes, "No answer to our sync message; sending again"); crate::swarm::source::reply_timed_out(&state, peer); |
