diff options
| author | tv <tv@krebsco.de> | 2026-11-05 04:31:04 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-05 04:31:04 +0100 |
| commit | 39980623f81e9e75f142f55a35794bf7a53aa38b (patch) | |
| tree | e195198f2a86652ff1741047e24f58300795c06b /src/swarm | |
| parent | a4853f232afc7903c9eff7d08663b6b0bbb9bf24 (diff) | |
suspect paths
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); |
