From d1ea53c3b9c24fc07435b12ae46d8b519ffddba9 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 23 Oct 2026 22:53:16 +0200 Subject: perform handshake in one round trip --- src/transport/mycelium.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/transport/mycelium.rs') diff --git a/src/transport/mycelium.rs b/src/transport/mycelium.rs index 2683f82..2406312 100644 --- a/src/transport/mycelium.rs +++ b/src/transport/mycelium.rs @@ -827,9 +827,8 @@ fn bytes_to_keepalive(bytes: &[u8]) -> Result { #[derive(Serialize, Deserialize)] pub struct HelloRequestShadow { - #[serde(default)] + swarm_id: Option, epoch: EpochShadow, - #[serde(default)] auth: ByteBuf, } @@ -889,6 +888,7 @@ mod automerge_msg_codec { // --- HelloRequest --- pub fn hello_request_to_bytes(msg: &HelloRequest) -> Result, rmp_serde::encode::Error> { rmp_serde::to_vec(&HelloRequestShadow { + swarm_id: msg.swarm_id.clone(), epoch: epoch_to_shadow(&msg.epoch), auth: ByteBuf::from(msg.auth.clone()), }) @@ -896,6 +896,7 @@ pub fn hello_request_to_bytes(msg: &HelloRequest) -> Result, rmp_serde:: pub fn bytes_to_hello_request(bytes: &[u8]) -> Result { let shadow: HelloRequestShadow = rmp_serde::from_slice(bytes)?; Ok(HelloRequest { + swarm_id: shadow.swarm_id, epoch: epoch_from_shadow(shadow.epoch)?, auth: shadow.auth.into_vec(), }) -- cgit v1.3.1