From 0d16147e95211b0829fddaefb0d014fe0c48dbc8 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 5 Nov 2026 00:57:05 +0100 Subject: new changes per message --- src/document/sync.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/document/sync.rs') diff --git a/src/document/sync.rs b/src/document/sync.rs index 0aeec83..1f61f70 100644 --- a/src/document/sync.rs +++ b/src/document/sync.rs @@ -427,17 +427,19 @@ impl SyncSession { /// the peer's own changes back. A delta comes outside the sync protocol, so /// Automerge would think the peer lacks all of it, and offer it back as a delta of /// our own. Counted as sent (`sent_hashes`), they don't; Automerge forgets them as - /// sent once the peer's heads cover them. (Changes kept until their predecessors came, + /// sent once the peer's heads cover them. Returns how many changes that is. (Changes kept until their predecessors came, /// from another peer, count too: should this one lack them, it asks, and gets them, /// `resend_if_needed`.) pub(crate) fn came_from_peer( &mut self, doc: &Document, before: &[crate::document::ChangeHash], - ) { - for change in doc.get_changes_meta(before) { + ) -> usize { + let changes = doc.get_changes_meta(before); + for change in &changes { self.state.sent_hashes.insert(change.hash); } + changes.len() } /// Of the changes in `doc` beyond `from`, how many the peer has too, as far as we -- cgit v1.3.1