aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/blob.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-31 19:53:27 +0100
committertv <tv@krebsco.de>2026-10-31 19:53:27 +0100
commit6105507200231e67ba544c12aa10b988e1c23826 (patch)
tree880530b7401cb5d43f52e06a68b4d704326aa272 /src/swarm/blob.rs
parent8d7adfbdb7798cca9d9783761f290e3bd85d9a3a (diff)
use Automerge as Document instead of AutoCommit
This allows a lot of operations to drop mut.
Diffstat (limited to 'src/swarm/blob.rs')
-rw-r--r--src/swarm/blob.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/swarm/blob.rs b/src/swarm/blob.rs
index a136217..3f66d50 100644
--- a/src/swarm/blob.rs
+++ b/src/swarm/blob.rs
@@ -217,7 +217,7 @@ async fn prepare(state: &AppState, id: BlobId, delta: Option<DeltaSpec>) -> Opti
let spec = delta.filter(|spec| spec.id() == delta_id)?;
let doc = Arc::clone(&state.doc);
tokio::task::spawn_blocking(move || {
- changes::delta_bytes(&mut doc.blocking_write().doc, &spec.from, &spec.to)
+ changes::delta_bytes(&doc.blocking_read().doc, &spec.from, &spec.to)
})
.await
.ok()
@@ -226,9 +226,8 @@ async fn prepare(state: &AppState, id: BlobId, delta: Option<DeltaSpec>) -> Opti
}
BlobId::Change(hash) => {
let doc = Arc::clone(&state.doc);
- // Looking a change up needs the document mutably.
tokio::task::spawn_blocking(move || {
- changes::change_bytes(&mut doc.blocking_write().doc, &hash)
+ changes::change_bytes(&doc.blocking_read().doc, &hash)
})
.await
.ok()