summaryrefslogtreecommitdiffstats
path: root/src/peer.rs
diff options
context:
space:
mode:
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(())