aboutsummaryrefslogtreecommitdiffstats
path: root/prototypes/connections/examples/excerpt.pure
diff options
context:
space:
mode:
Diffstat (limited to 'prototypes/connections/examples/excerpt.pure')
-rw-r--r--prototypes/connections/examples/excerpt.pure13
1 files changed, 13 insertions, 0 deletions
diff --git a/prototypes/connections/examples/excerpt.pure b/prototypes/connections/examples/excerpt.pure
new file mode 100644
index 0000000..622f9bb
--- /dev/null
+++ b/prototypes/connections/examples/excerpt.pure
@@ -0,0 +1,13 @@
+// Read bytes 32..47 of an object that must contain the complete 64-byte window.
+// Preparation keeps the size check for 16..79, and maps only 32..47 for reply.
+on get {
+ let object = store.read(request.key);
+ let window = range(object.body, 16, 64);
+ let excerpt = range(window, 16, 16);
+ reply(object, excerpt);
+}
+
+on put {
+ let saved = store.write(request.key, request.revision, request.body);
+ reply(saved);
+}