aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/peer/worker.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-31 05:45:57 +0100
committertv <tv@krebsco.de>2026-10-31 05:45:57 +0100
commit964f78a097a76b809954ddd4c1d5c7055d5a5772 (patch)
tree44000aaa4760dafb25a809d00118c59261f23f36 /src/swarm/peer/worker.rs
parentf72c751c837a41b807fe09cebe79e78a31309def (diff)
centralize call to topology_change
Diffstat (limited to 'src/swarm/peer/worker.rs')
-rw-r--r--src/swarm/peer/worker.rs8
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(),