aboutsummaryrefslogtreecommitdiffstats
path: root/src/transport
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-05 03:58:12 +0100
committertv <tv@krebsco.de>2026-11-05 03:58:12 +0100
commitf7ce22ed0ba4a758bdc7de0f21b6d0cb45a866b1 (patch)
tree7c35b83e5ae21bb6253c1f82bbed347667af31b9 /src/transport
parenta02ed87abf6a0dc9d3f36bafcf333272586093aa (diff)
deflate blob chunks
Diffstat (limited to 'src/transport')
-rw-r--r--src/transport/mod.rs2
-rw-r--r--src/transport/traffic.rs2
-rw-r--r--src/transport/wire.rs2
3 files changed, 4 insertions, 2 deletions
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<String> {
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 {