diff options
Diffstat (limited to 'src/swarm/peer')
| -rw-r--r-- | src/swarm/peer/worker.rs | 4 |
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. |
