diff options
Diffstat (limited to 'src/transport/mod.rs')
| -rw-r--r-- | src/transport/mod.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/transport/mod.rs b/src/transport/mod.rs index 474e386..7e5d41b 100644 --- a/src/transport/mod.rs +++ b/src/transport/mod.rs @@ -743,6 +743,15 @@ pub(crate) enum SyncBody { Message(#[serde(with = "crate::transport::wire::codec::sync_message")] SyncPayload), /// An Automerge sync message, deflated (`compress`): a large one, which shrank. Deflated(#[serde(with = "crate::transport::wire::codec::sync_message")] SyncPayload), + /// Changes passed on along a writer's tree as they are, with the sender's heads, + /// instead of an Automerge sync message (`AppState::push_changes`): where the sender + /// takes the message as delivered, it has everything the receiver has, and needs + /// none of the rest of one (`SyncSession::push`). + Changes { + #[serde(with = "crate::transport::wire::codec::change_hashes")] + heads: Vec<ChangeHash>, + changes: Vec<serde_bytes::ByteBuf>, + }, /// Instead of a message too large to send in one piece: fetch these changes as a /// blob (`BlobId::Delta`), then sync on. Delta(DeltaSpec), |
