2022-10-29 13:27:00 +02:00
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
// Copyright © 2022 The Tvix Authors
|
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package tvix.store.v1;
|
|
|
|
|
2022-11-19 22:20:14 +01:00
|
|
|
option go_package = "code.tvl.fyi/tvix/store/protos;storev1";
|
|
|
|
|
2022-10-29 13:27:00 +02:00
|
|
|
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;
|
|
|
|
}
|