87e1934f2d
Further emphasize Read() can be used to ask for blobs OR chunks, and that clients usually want to stat and then request (smaller) chunks, rather than reading whole blobs. Also clarify that the chunking used to send BlobChunks over has nothing to do with the chunk sizes communicated in a Stat() request. Change-Id: Ia615d190aae570611de2655b11342a14d0b75976 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8028 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
542 lines
19 KiB
Go
542 lines
19 KiB
Go
// SPDX-License-Identifier: MIT
|
|
// Copyright © 2022 The Tvix Authors
|
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.28.1
|
|
// protoc (unknown)
|
|
// source: tvix/store/protos/rpc_blobstore.proto
|
|
|
|
package storev1
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
type StatBlobRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The blake3 digest of the blob requested
|
|
Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
|
|
// Whether to include the chunks field
|
|
IncludeChunks bool `protobuf:"varint,2,opt,name=include_chunks,json=includeChunks,proto3" json:"include_chunks,omitempty"`
|
|
// Whether to include the inline_bao field, containing an (outboard) bao.
|
|
// The [bao](https://github.com/oconnor663/bao/blob/master/docs/spec.md)
|
|
// can be used to validate chunks end up hashing to the same root digest.
|
|
// These only really matter when only downloading parts of a blob. Some
|
|
// caution needs to be applied when validating chunks - the bao works with
|
|
// 1K leaf nodes, which might not align with the chunk sizes - this might
|
|
// imply a neighboring chunk might need to be (partially) fetched to
|
|
// validate the hash.
|
|
IncludeBao bool `protobuf:"varint,3,opt,name=include_bao,json=includeBao,proto3" json:"include_bao,omitempty"`
|
|
}
|
|
|
|
func (x *StatBlobRequest) Reset() {
|
|
*x = StatBlobRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *StatBlobRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*StatBlobRequest) ProtoMessage() {}
|
|
|
|
func (x *StatBlobRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[0]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use StatBlobRequest.ProtoReflect.Descriptor instead.
|
|
func (*StatBlobRequest) Descriptor() ([]byte, []int) {
|
|
return file_tvix_store_protos_rpc_blobstore_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *StatBlobRequest) GetDigest() []byte {
|
|
if x != nil {
|
|
return x.Digest
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *StatBlobRequest) GetIncludeChunks() bool {
|
|
if x != nil {
|
|
return x.IncludeChunks
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *StatBlobRequest) GetIncludeBao() bool {
|
|
if x != nil {
|
|
return x.IncludeBao
|
|
}
|
|
return false
|
|
}
|
|
|
|
// BlobMeta provides more granular chunking information for the requested blob,
|
|
// and baos.
|
|
type BlobMeta struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// This provides a list of chunks.
|
|
// Concatenating their contents would produce a blob with the digest that
|
|
// was specified in the request.
|
|
Chunks []*BlobMeta_ChunkMeta `protobuf:"bytes,1,rep,name=chunks,proto3" json:"chunks,omitempty"`
|
|
InlineBao []byte `protobuf:"bytes,2,opt,name=inline_bao,json=inlineBao,proto3" json:"inline_bao,omitempty"`
|
|
}
|
|
|
|
func (x *BlobMeta) Reset() {
|
|
*x = BlobMeta{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *BlobMeta) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*BlobMeta) ProtoMessage() {}
|
|
|
|
func (x *BlobMeta) ProtoReflect() protoreflect.Message {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[1]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use BlobMeta.ProtoReflect.Descriptor instead.
|
|
func (*BlobMeta) Descriptor() ([]byte, []int) {
|
|
return file_tvix_store_protos_rpc_blobstore_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *BlobMeta) GetChunks() []*BlobMeta_ChunkMeta {
|
|
if x != nil {
|
|
return x.Chunks
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlobMeta) GetInlineBao() []byte {
|
|
if x != nil {
|
|
return x.InlineBao
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ReadBlobRequest struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The blake3 digest of the blob or chunk requested
|
|
Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
|
|
}
|
|
|
|
func (x *ReadBlobRequest) Reset() {
|
|
*x = ReadBlobRequest{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ReadBlobRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ReadBlobRequest) ProtoMessage() {}
|
|
|
|
func (x *ReadBlobRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[2]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ReadBlobRequest.ProtoReflect.Descriptor instead.
|
|
func (*ReadBlobRequest) Descriptor() ([]byte, []int) {
|
|
return file_tvix_store_protos_rpc_blobstore_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *ReadBlobRequest) GetDigest() []byte {
|
|
if x != nil {
|
|
return x.Digest
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// This represents some bytes of a blob.
|
|
// Blobs are sent in smaller chunks to keep message sizes manageable.
|
|
type BlobChunk struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
|
|
}
|
|
|
|
func (x *BlobChunk) Reset() {
|
|
*x = BlobChunk{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *BlobChunk) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*BlobChunk) ProtoMessage() {}
|
|
|
|
func (x *BlobChunk) ProtoReflect() protoreflect.Message {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[3]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use BlobChunk.ProtoReflect.Descriptor instead.
|
|
func (*BlobChunk) Descriptor() ([]byte, []int) {
|
|
return file_tvix_store_protos_rpc_blobstore_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *BlobChunk) GetData() []byte {
|
|
if x != nil {
|
|
return x.Data
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type PutBlobResponse struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The blake3 digest of the data that was sent.
|
|
Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
|
|
}
|
|
|
|
func (x *PutBlobResponse) Reset() {
|
|
*x = PutBlobResponse{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *PutBlobResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PutBlobResponse) ProtoMessage() {}
|
|
|
|
func (x *PutBlobResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[4]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PutBlobResponse.ProtoReflect.Descriptor instead.
|
|
func (*PutBlobResponse) Descriptor() ([]byte, []int) {
|
|
return file_tvix_store_protos_rpc_blobstore_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *PutBlobResponse) GetDigest() []byte {
|
|
if x != nil {
|
|
return x.Digest
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type BlobMeta_ChunkMeta struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
|
|
Size uint32 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
|
|
}
|
|
|
|
func (x *BlobMeta_ChunkMeta) Reset() {
|
|
*x = BlobMeta_ChunkMeta{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *BlobMeta_ChunkMeta) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*BlobMeta_ChunkMeta) ProtoMessage() {}
|
|
|
|
func (x *BlobMeta_ChunkMeta) ProtoReflect() protoreflect.Message {
|
|
mi := &file_tvix_store_protos_rpc_blobstore_proto_msgTypes[5]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use BlobMeta_ChunkMeta.ProtoReflect.Descriptor instead.
|
|
func (*BlobMeta_ChunkMeta) Descriptor() ([]byte, []int) {
|
|
return file_tvix_store_protos_rpc_blobstore_proto_rawDescGZIP(), []int{1, 0}
|
|
}
|
|
|
|
func (x *BlobMeta_ChunkMeta) GetDigest() []byte {
|
|
if x != nil {
|
|
return x.Digest
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlobMeta_ChunkMeta) GetSize() uint32 {
|
|
if x != nil {
|
|
return x.Size
|
|
}
|
|
return 0
|
|
}
|
|
|
|
var File_tvix_store_protos_rpc_blobstore_proto protoreflect.FileDescriptor
|
|
|
|
var file_tvix_store_protos_rpc_blobstore_proto_rawDesc = []byte{
|
|
0x0a, 0x25, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x74, 0x6f, 0x72,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74,
|
|
0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x22, 0x71, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6c,
|
|
0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67,
|
|
0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73,
|
|
0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x68, 0x75,
|
|
0x6e, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75,
|
|
0x64, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x6c,
|
|
0x75, 0x64, 0x65, 0x5f, 0x62, 0x61, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69,
|
|
0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x61, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x08, 0x42, 0x6c,
|
|
0x6f, 0x62, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73,
|
|
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74,
|
|
0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x61, 0x2e,
|
|
0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b,
|
|
0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x62, 0x61, 0x6f, 0x18,
|
|
0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x61, 0x6f,
|
|
0x1a, 0x37, 0x0a, 0x09, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x16, 0x0a,
|
|
0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64,
|
|
0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x29, 0x0a, 0x0f, 0x52, 0x65, 0x61,
|
|
0x64, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
|
0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x69,
|
|
0x67, 0x65, 0x73, 0x74, 0x22, 0x1f, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x62, 0x43, 0x68, 0x75, 0x6e,
|
|
0x6b, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
|
|
0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x29, 0x0a, 0x0f, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62,
|
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65,
|
|
0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74,
|
|
0x32, 0xd5, 0x01, 0x0a, 0x0b, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
|
0x12, 0x3f, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1e, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e,
|
|
0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6c, 0x6f,
|
|
0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e,
|
|
0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x4d, 0x65, 0x74,
|
|
0x61, 0x12, 0x42, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, 0x12, 0x1e, 0x2e, 0x74, 0x76, 0x69, 0x78,
|
|
0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x42, 0x6c,
|
|
0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x74, 0x76, 0x69, 0x78,
|
|
0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x43, 0x68,
|
|
0x75, 0x6e, 0x6b, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x12, 0x18, 0x2e, 0x74,
|
|
0x76, 0x69, 0x78, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6f,
|
|
0x62, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0x1e, 0x2e, 0x74, 0x76, 0x69, 0x78, 0x2e, 0x73, 0x74,
|
|
0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65,
|
|
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x42, 0x28, 0x5a, 0x26, 0x63, 0x6f, 0x64, 0x65,
|
|
0x2e, 0x74, 0x76, 0x6c, 0x2e, 0x66, 0x79, 0x69, 0x2f, 0x74, 0x76, 0x69, 0x78, 0x2f, 0x73, 0x74,
|
|
0x6f, 0x72, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x65,
|
|
0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
}
|
|
|
|
var (
|
|
file_tvix_store_protos_rpc_blobstore_proto_rawDescOnce sync.Once
|
|
file_tvix_store_protos_rpc_blobstore_proto_rawDescData = file_tvix_store_protos_rpc_blobstore_proto_rawDesc
|
|
)
|
|
|
|
func file_tvix_store_protos_rpc_blobstore_proto_rawDescGZIP() []byte {
|
|
file_tvix_store_protos_rpc_blobstore_proto_rawDescOnce.Do(func() {
|
|
file_tvix_store_protos_rpc_blobstore_proto_rawDescData = protoimpl.X.CompressGZIP(file_tvix_store_protos_rpc_blobstore_proto_rawDescData)
|
|
})
|
|
return file_tvix_store_protos_rpc_blobstore_proto_rawDescData
|
|
}
|
|
|
|
var file_tvix_store_protos_rpc_blobstore_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
|
var file_tvix_store_protos_rpc_blobstore_proto_goTypes = []interface{}{
|
|
(*StatBlobRequest)(nil), // 0: tvix.store.v1.StatBlobRequest
|
|
(*BlobMeta)(nil), // 1: tvix.store.v1.BlobMeta
|
|
(*ReadBlobRequest)(nil), // 2: tvix.store.v1.ReadBlobRequest
|
|
(*BlobChunk)(nil), // 3: tvix.store.v1.BlobChunk
|
|
(*PutBlobResponse)(nil), // 4: tvix.store.v1.PutBlobResponse
|
|
(*BlobMeta_ChunkMeta)(nil), // 5: tvix.store.v1.BlobMeta.ChunkMeta
|
|
}
|
|
var file_tvix_store_protos_rpc_blobstore_proto_depIdxs = []int32{
|
|
5, // 0: tvix.store.v1.BlobMeta.chunks:type_name -> tvix.store.v1.BlobMeta.ChunkMeta
|
|
0, // 1: tvix.store.v1.BlobService.Stat:input_type -> tvix.store.v1.StatBlobRequest
|
|
2, // 2: tvix.store.v1.BlobService.Read:input_type -> tvix.store.v1.ReadBlobRequest
|
|
3, // 3: tvix.store.v1.BlobService.Put:input_type -> tvix.store.v1.BlobChunk
|
|
1, // 4: tvix.store.v1.BlobService.Stat:output_type -> tvix.store.v1.BlobMeta
|
|
3, // 5: tvix.store.v1.BlobService.Read:output_type -> tvix.store.v1.BlobChunk
|
|
4, // 6: tvix.store.v1.BlobService.Put:output_type -> tvix.store.v1.PutBlobResponse
|
|
4, // [4:7] is the sub-list for method output_type
|
|
1, // [1:4] is the sub-list for method input_type
|
|
1, // [1:1] is the sub-list for extension type_name
|
|
1, // [1:1] is the sub-list for extension extendee
|
|
0, // [0:1] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_tvix_store_protos_rpc_blobstore_proto_init() }
|
|
func file_tvix_store_protos_rpc_blobstore_proto_init() {
|
|
if File_tvix_store_protos_rpc_blobstore_proto != nil {
|
|
return
|
|
}
|
|
if !protoimpl.UnsafeEnabled {
|
|
file_tvix_store_protos_rpc_blobstore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*StatBlobRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_tvix_store_protos_rpc_blobstore_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*BlobMeta); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_tvix_store_protos_rpc_blobstore_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ReadBlobRequest); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_tvix_store_protos_rpc_blobstore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*BlobChunk); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_tvix_store_protos_rpc_blobstore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*PutBlobResponse); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_tvix_store_protos_rpc_blobstore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*BlobMeta_ChunkMeta); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: file_tvix_store_protos_rpc_blobstore_proto_rawDesc,
|
|
NumEnums: 0,
|
|
NumMessages: 6,
|
|
NumExtensions: 0,
|
|
NumServices: 1,
|
|
},
|
|
GoTypes: file_tvix_store_protos_rpc_blobstore_proto_goTypes,
|
|
DependencyIndexes: file_tvix_store_protos_rpc_blobstore_proto_depIdxs,
|
|
MessageInfos: file_tvix_store_protos_rpc_blobstore_proto_msgTypes,
|
|
}.Build()
|
|
File_tvix_store_protos_rpc_blobstore_proto = out.File
|
|
file_tvix_store_protos_rpc_blobstore_proto_rawDesc = nil
|
|
file_tvix_store_protos_rpc_blobstore_proto_goTypes = nil
|
|
file_tvix_store_protos_rpc_blobstore_proto_depIdxs = nil
|
|
}
|