diff options
| author | tv <tv@krebsco.de> | 2026-10-31 05:45:57 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-31 05:45:57 +0100 |
| commit | 197cee7f4da41a8f5181e314a90a26ae93e23a63 (patch) | |
| tree | 105791a86d30f27e9af63165ec7f3c4228b26e75 /src/swarm/peer/worker.rs | |
| parent | ca0bd76db94e5d561f5c30b7b211e865d9e9e494 (diff) | |
centralize call to topology_change
Diffstat (limited to 'src/swarm/peer/worker.rs')
| -rw-r--r-- | src/swarm/peer/worker.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/swarm/peer/worker.rs b/src/swarm/peer/worker.rs index 87d2b3c..797f091 100644 --- a/src/swarm/peer/worker.rs +++ b/src/swarm/peer/worker.rs @@ -51,8 +51,11 @@ pub(crate) async fn run_peer_worker(state: AppState) { let (became_dormant, keepalive, unanswered) = { let mut peer_state = peer_state_mutex.lock().await; - let became_dormant = - ready && neighbour && peer_state.check_dormancy(&state.timing, now); + let became_dormant = ready + && neighbour + && topology::change_peer(&state, &mut peer_state, |p| { + p.check_dormancy(&state.timing, now) + }); let keepalive = if neighbour { peer_state.take_keepalive_due(&state.timing, now) } else { @@ -72,7 +75,6 @@ pub(crate) async fn run_peer_worker(state: AppState) { } if became_dormant { - state.topology_changed.notify_one(); warn!( peer = %peer, silent_secs = state.timing.dormant_after.as_secs(), |
