summaryrefslogtreecommitdiffstats
path: root/src/peer.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-20 01:36:34 +0200
committertv <tv@krebsco.de>2026-10-20 01:36:34 +0200
commita7c2b8b181059e26172288e694505287f357a881 (patch)
treec40d9bcd2e50ec7d2367ceee69d2377103419742 /src/peer.rs
parent247bb52f129d0438eb13d3cdd2ec8b5d281b2c99 (diff)
add epoch catch-up / snapshots
Diffstat (limited to 'src/peer.rs')
-rw-r--r--src/peer.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/peer.rs b/src/peer.rs
index 238c341..015b5ff 100644
--- a/src/peer.rs
+++ b/src/peer.rs
@@ -660,6 +660,17 @@ pub(crate) async fn handle_message(
let local = local_keepalive(state).await;
heal_if_diverged(state, &peer, &local, &remote).await;
}
+ transport::ParsedMessage::SnapshotRequest(request) => {
+ // Saving a large document takes a while; don't stall the inbox.
+ tokio::spawn(crate::compaction::serve_snapshot(
+ state.clone(),
+ peer.clone(),
+ request,
+ ));
+ }
+ transport::ParsedMessage::SnapshotReply(reply) => {
+ crate::compaction::receive_snapshot_reply(state, &peer, reply);
+ }
}
Ok(())