aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-04 21:02:20 +0100
committertv <tv@krebsco.de>2026-11-04 21:02:20 +0100
commit9f4820d5d121025e908da9ca98783f2827044768 (patch)
tree5a770d320b9941dd63b68fd31324f5d97ba4b4e4 /src/swarm
parent11d014c00f0449460093e108586d1d7b3620654c (diff)
changes from a peer never go back
Diffstat (limited to 'src/swarm')
-rw-r--r--src/swarm/sync.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/swarm/sync.rs b/src/swarm/sync.rs
index 00ba1ad..07c990c 100644
--- a/src/swarm/sync.rs
+++ b/src/swarm/sync.rs
@@ -442,6 +442,10 @@ pub(crate) async fn handle_sync(
}
stats.heads_seen(heads_after.len());
let changed = heads_after != heads_before;
+ if changed {
+ // They came from it: none goes back (`SyncSession::came_from_peer`).
+ peer_state.sync.came_from_peer(&replica.doc, &heads_before);
+ }
if carried && !changed {
stats.nothing_new(payload_len, writer.is_some(), delivered);
}