blob: e9f26342344185270ce55ada654461c6ce41a80e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// Same document edit as editor.pure, with an authored final-size policy.
// The store checks the limit against the current version under its writer lock.
layout Edit {
start: u32le;
remove: u32le;
insert: bytes;
}
on get {
let document = store.read(request.key);
reply(document, document.body);
}
on put {
let edit = view(Edit, request.body);
let saved = store.splice(request.key, request.revision,
edit.start, edit.remove, edit.insert, 8);
reply(saved, edit.insert);
}
|