aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/peer
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-06 04:34:23 +0100
committertv <tv@krebsco.de>2026-11-06 04:34:23 +0100
commitd6f6c2e020ac648b54c0e024596460ffb82ca437 (patch)
treed2b35b071b8f2f878ab333bf39d169c14015d7d1 /src/swarm/peer
parentb4d0f3d9671c3bac8fd3c4b6c3f5f75196a06742 (diff)
suspend detected
Diffstat (limited to 'src/swarm/peer')
-rw-r--r--src/swarm/peer/worker.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/swarm/peer/worker.rs b/src/swarm/peer/worker.rs
index 7a0b502..b6f55cd 100644
--- a/src/swarm/peer/worker.rs
+++ b/src/swarm/peer/worker.rs
@@ -65,9 +65,13 @@ pub(crate) async fn run_peer_worker(state: AppState) {
let mut last_forget_check: Option<Instant> = None;
let mut forgets_applied = AppliedForgets::new();
let mut was_ready = false;
+ let mut awake = crate::swarm::suspend::Awake::default();
loop {
state.peers_due.passing();
+ if let Some(gap) = awake.check() {
+ crate::swarm::suspend::asleep(&state, gap).await;
+ }
let mut next = Instant::now() + FORGET_CHECK_INTERVAL;
// While joining, keep handshakes fast; dormancy would slow probes to minutes.