aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/sync.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-01 20:36:17 +0100
committertv <tv@krebsco.de>2026-11-01 20:36:17 +0100
commitd09ec56ca2cdaf8060819a70ca2d89bd0458896f (patch)
tree9fcf918edc84012856030cd01d96d9077b2e40de /src/swarm/sync.rs
parenteb483a2a84e02f3797cffa7fe333d61c9988a11e (diff)
peer worker sleeps until deadline, not fixed time
Diffstat (limited to 'src/swarm/sync.rs')
-rw-r--r--src/swarm/sync.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/swarm/sync.rs b/src/swarm/sync.rs
index c643004..c8564c2 100644
--- a/src/swarm/sync.rs
+++ b/src/swarm/sync.rs
@@ -198,6 +198,17 @@ async fn deliver_sync_to_peer(state: &AppState, peer: &str) -> Result<()> {
let Some(encoded) = generated else {
return Ok(());
};
+ // Its answer is due.
+ let reply_due = peer_state_mutex
+ .lock()
+ .await
+ .sync
+ .reply
+ .as_ref()
+ .map(|wait| wait.deadline);
+ if let Some(at) = reply_due {
+ state.peers_due.by(at);
+ }
(session, encoded)
};