From f7ce22ed0ba4a758bdc7de0f21b6d0cb45a866b1 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 5 Nov 2026 03:58:12 +0100 Subject: deflate blob chunks --- src/transport/mod.rs | 2 ++ src/transport/traffic.rs | 2 +- src/transport/wire.rs | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/transport') diff --git a/src/transport/mod.rs b/src/transport/mod.rs index 32be29b..1e9e5a9 100644 --- a/src/transport/mod.rs +++ b/src/transport/mod.rs @@ -729,6 +729,8 @@ impl std::fmt::Display for EpochTag { pub(crate) enum SyncBody { /// An Automerge sync message. 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), /// Instead of a message too large to send in one piece: fetch these changes as a /// blob (`BlobId::Delta`), then sync on. Delta(DeltaSpec), diff --git a/src/transport/traffic.rs b/src/transport/traffic.rs index b7907fb..df95bce 100644 --- a/src/transport/traffic.rs +++ b/src/transport/traffic.rs @@ -198,7 +198,7 @@ fn related(peer: &str, message: &ParsedMessage) -> Option { SyncBody::Delta(spec) => { format!("blob {}", crate::transport::BlobId::Delta(spec.id())) } - SyncBody::Message(_) => return None, + SyncBody::Message(_) | SyncBody::Deflated(_) => return None, }, _ => return None, }) diff --git a/src/transport/wire.rs b/src/transport/wire.rs index d1ac14d..a722065 100644 --- a/src/transport/wire.rs +++ b/src/transport/wire.rs @@ -14,7 +14,7 @@ use super::{EncodedMessage, MessageKind, ParsedMessage}; /// The wire format's version, the first byte of every payload. Bump it with every change /// to a message type or a codec (`golden_bytes` fails then). -pub(crate) const VERSION: u8 = 30; +pub(crate) const VERSION: u8 = 31; /// What the second byte of a payload says. fn tag(kind: MessageKind) -> u8 { -- cgit v1.3.1