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
commit3acbbd6cd6b64c6c39408dd254cc2dbcab1b3e65 (patch)
treeafaf883aeb949cdd79d7ef360ba9ee197072e368 /src/peer.rs
parent31dddb08e4f36392ed9b033f78efd00c243c46bb (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(())