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
commitdbb614e1ecf27ca37f54dba4e2c8fe3810af8c8c (patch)
treeac7c141812d534f3c51907e5634fcb6c8aadc468 /src/swarm/sync.rs
parent7f018573730dc57f9608fe41faa54b44abba841d (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)
};