about summary refs log tree commit diff
path: root/tvix/store/protos
diff options
context:
space:
mode:
Diffstat (limited to 'tvix/store/protos')
-rw-r--r--tvix/store/protos/rpc_blobstore.proto32
1 files changed, 32 insertions, 0 deletions
diff --git a/tvix/store/protos/rpc_blobstore.proto b/tvix/store/protos/rpc_blobstore.proto
new file mode 100644
index 0000000000..49a6b974f0
--- /dev/null
+++ b/tvix/store/protos/rpc_blobstore.proto
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: MIT
+// Copyright © 2022 The Tvix Authors
+syntax = "proto3";
+
+package tvix.store.v1;
+
+service BlobService {
+    rpc Get(GetBlobRequest) returns (GetBlobResponse);
+    rpc Put(PutBlobRequest) returns (PutBlobResponse);
+
+    // TODO(flokli): We can get fancy here, and add methods to retrieve
+    // [Bao](https://github.com/oconnor663/bao/blob/master/docs/spec.md), and
+    // then support range requests, but that's left for later.
+}
+
+message GetBlobRequest {
+    // The blake3 digest of the blob requested
+    bytes digest = 1;
+}
+
+message GetBlobResponse {
+    bytes data = 1;
+}
+
+message PutBlobRequest {
+    bytes data = 1;
+}
+
+message PutBlobResponse {
+    // The blake3 digest of the data that was sent.
+    bytes digest = 1;
+}