Documentation ¶
Index ¶
- Constants
- Variables
- func RegisterBlobServiceServer(s grpc.ServiceRegistrar, srv BlobServiceServer)
- func RegisterDirectoryServiceServer(s grpc.ServiceRegistrar, srv DirectoryServiceServer)
- type BlobChunk
- type BlobServiceClient
- type BlobServiceServer
- type BlobService_PutClient
- type BlobService_PutServer
- type BlobService_ReadClient
- type BlobService_ReadServer
- type Directory
- func (*Directory) Descriptor() ([]byte, []int)deprecated
- func (d *Directory) Digest() ([]byte, error)
- func (x *Directory) GetDirectories() []*DirectoryNode
- func (x *Directory) GetFiles() []*FileNode
- func (x *Directory) GetSymlinks() []*SymlinkNode
- func (*Directory) ProtoMessage()
- func (x *Directory) ProtoReflect() protoreflect.Message
- func (x *Directory) Reset()
- func (d *Directory) Size() uint64
- func (x *Directory) String() string
- func (d *Directory) Validate() error
- type DirectoryNode
- func (*DirectoryNode) Descriptor() ([]byte, []int)deprecated
- func (x *DirectoryNode) GetDigest() []byte
- func (x *DirectoryNode) GetName() []byte
- func (x *DirectoryNode) GetSize() uint64
- func (*DirectoryNode) ProtoMessage()
- func (x *DirectoryNode) ProtoReflect() protoreflect.Message
- func (x *DirectoryNode) Reset()
- func (x *DirectoryNode) String() string
- func (n *DirectoryNode) Validate() error
- type DirectoryServiceClient
- type DirectoryServiceServer
- type DirectoryService_GetClient
- type DirectoryService_GetServer
- type DirectoryService_PutClient
- type DirectoryService_PutServer
- type FileNode
- func (*FileNode) Descriptor() ([]byte, []int)deprecated
- func (x *FileNode) GetDigest() []byte
- func (x *FileNode) GetExecutable() bool
- func (x *FileNode) GetName() []byte
- func (x *FileNode) GetSize() uint64
- func (*FileNode) ProtoMessage()
- func (x *FileNode) ProtoReflect() protoreflect.Message
- func (x *FileNode) Reset()
- func (x *FileNode) String() string
- func (n *FileNode) Validate() error
- type GetDirectoryRequest
- func (*GetDirectoryRequest) Descriptor() ([]byte, []int)deprecated
- func (m *GetDirectoryRequest) GetByWhat() isGetDirectoryRequest_ByWhat
- func (x *GetDirectoryRequest) GetDigest() []byte
- func (x *GetDirectoryRequest) GetRecursive() bool
- func (*GetDirectoryRequest) ProtoMessage()
- func (x *GetDirectoryRequest) ProtoReflect() protoreflect.Message
- func (x *GetDirectoryRequest) Reset()
- func (x *GetDirectoryRequest) String() string
- type GetDirectoryRequest_Digest
- type Node
- func (*Node) Descriptor() ([]byte, []int)deprecated
- func (x *Node) GetDirectory() *DirectoryNode
- func (x *Node) GetFile() *FileNode
- func (m *Node) GetNode() isNode_Node
- func (x *Node) GetSymlink() *SymlinkNode
- func (*Node) ProtoMessage()
- func (x *Node) ProtoReflect() protoreflect.Message
- func (x *Node) Reset()
- func (x *Node) String() string
- func (n *Node) Validate() error
- type Node_Directory
- type Node_File
- type Node_Symlink
- type PutBlobResponse
- type PutDirectoryResponse
- func (*PutDirectoryResponse) Descriptor() ([]byte, []int)deprecated
- func (x *PutDirectoryResponse) GetRootDigest() []byte
- func (*PutDirectoryResponse) ProtoMessage()
- func (x *PutDirectoryResponse) ProtoReflect() protoreflect.Message
- func (x *PutDirectoryResponse) Reset()
- func (x *PutDirectoryResponse) String() string
- type ReadBlobRequest
- type StatBlobRequest
- func (*StatBlobRequest) Descriptor() ([]byte, []int)deprecated
- func (x *StatBlobRequest) GetDigest() []byte
- func (x *StatBlobRequest) GetSendBao() bool
- func (x *StatBlobRequest) GetSendChunks() bool
- func (*StatBlobRequest) ProtoMessage()
- func (x *StatBlobRequest) ProtoReflect() protoreflect.Message
- func (x *StatBlobRequest) Reset()
- func (x *StatBlobRequest) String() string
- type StatBlobResponse
- func (*StatBlobResponse) Descriptor() ([]byte, []int)deprecated
- func (x *StatBlobResponse) GetBao() []byte
- func (x *StatBlobResponse) GetChunks() []*StatBlobResponse_ChunkMeta
- func (*StatBlobResponse) ProtoMessage()
- func (x *StatBlobResponse) ProtoReflect() protoreflect.Message
- func (x *StatBlobResponse) Reset()
- func (x *StatBlobResponse) String() string
- type StatBlobResponse_ChunkMeta
- func (*StatBlobResponse_ChunkMeta) Descriptor() ([]byte, []int)deprecated
- func (x *StatBlobResponse_ChunkMeta) GetDigest() []byte
- func (x *StatBlobResponse_ChunkMeta) GetSize() uint64
- func (*StatBlobResponse_ChunkMeta) ProtoMessage()
- func (x *StatBlobResponse_ChunkMeta) ProtoReflect() protoreflect.Message
- func (x *StatBlobResponse_ChunkMeta) Reset()
- func (x *StatBlobResponse_ChunkMeta) String() string
- type SymlinkNode
- func (*SymlinkNode) Descriptor() ([]byte, []int)deprecated
- func (x *SymlinkNode) GetName() []byte
- func (x *SymlinkNode) GetTarget() []byte
- func (*SymlinkNode) ProtoMessage()
- func (x *SymlinkNode) ProtoReflect() protoreflect.Message
- func (x *SymlinkNode) Reset()
- func (x *SymlinkNode) String() string
- func (n *SymlinkNode) Validate() error
- type UnimplementedBlobServiceServer
- type UnimplementedDirectoryServiceServer
- type UnsafeBlobServiceServer
- type UnsafeDirectoryServiceServer
Constants ¶
const ( BlobService_Stat_FullMethodName = "/tvix.castore.v1.BlobService/Stat" BlobService_Read_FullMethodName = "/tvix.castore.v1.BlobService/Read" BlobService_Put_FullMethodName = "/tvix.castore.v1.BlobService/Put" )
const ( DirectoryService_Get_FullMethodName = "/tvix.castore.v1.DirectoryService/Get" DirectoryService_Put_FullMethodName = "/tvix.castore.v1.DirectoryService/Put" )
Variables ¶
var BlobService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "tvix.castore.v1.BlobService", HandlerType: (*BlobServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Stat", Handler: _BlobService_Stat_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "Read", Handler: _BlobService_Read_Handler, ServerStreams: true, }, { StreamName: "Put", Handler: _BlobService_Put_Handler, ClientStreams: true, }, }, Metadata: "tvix/castore/protos/rpc_blobstore.proto", }
BlobService_ServiceDesc is the grpc.ServiceDesc for BlobService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var DirectoryService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "tvix.castore.v1.DirectoryService", HandlerType: (*DirectoryServiceServer)(nil), Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "Get", Handler: _DirectoryService_Get_Handler, ServerStreams: true, }, { StreamName: "Put", Handler: _DirectoryService_Put_Handler, ClientStreams: true, }, }, Metadata: "tvix/castore/protos/rpc_directory.proto", }
DirectoryService_ServiceDesc is the grpc.ServiceDesc for DirectoryService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_tvix_castore_protos_castore_proto protoreflect.FileDescriptor
var File_tvix_castore_protos_rpc_blobstore_proto protoreflect.FileDescriptor
var File_tvix_castore_protos_rpc_directory_proto protoreflect.FileDescriptor
Functions ¶
func RegisterBlobServiceServer ¶
func RegisterBlobServiceServer(s grpc.ServiceRegistrar, srv BlobServiceServer)
func RegisterDirectoryServiceServer ¶
func RegisterDirectoryServiceServer(s grpc.ServiceRegistrar, srv DirectoryServiceServer)
Types ¶
type BlobChunk ¶
type BlobChunk struct { Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // contains filtered or unexported fields }
This represents some bytes of a blob. Blobs are sent in smaller chunks to keep message sizes manageable.
func (*BlobChunk) ProtoReflect ¶
func (x *BlobChunk) ProtoReflect() protoreflect.Message
type BlobServiceClient ¶
type BlobServiceClient interface { // Stat can be used to check for the existence of a blob, as well as // gathering more data about it, like more granular chunking information // or baos. // Server implementations are not required to provide more granular chunking // information, especially if the digest specified in `StatBlobRequest` is // already a chunk of a blob. Stat(ctx context.Context, in *StatBlobRequest, opts ...grpc.CallOption) (*StatBlobResponse, error) // Read allows reading (all) data of a blob/chunk by the BLAKE3 digest of // its contents. // If the backend communicated more granular chunks in the `Stat` request, // this can also be used to read chunks. // This request returns a stream of BlobChunk, which is just a container for // a stream of bytes. // The server may decide on whatever chunking it may seem fit as a size for // the individual BlobChunk sent in the response stream, this is mostly to // keep individual messages at a manageable size. Read(ctx context.Context, in *ReadBlobRequest, opts ...grpc.CallOption) (BlobService_ReadClient, error) // Put uploads a Blob, by reading a stream of bytes. // // The way the data is chunked up in individual BlobChunk messages sent in // the stream has no effect on how the server ends up chunking blobs up, if // it does at all. Put(ctx context.Context, opts ...grpc.CallOption) (BlobService_PutClient, error) }
BlobServiceClient is the client API for BlobService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewBlobServiceClient ¶
func NewBlobServiceClient(cc grpc.ClientConnInterface) BlobServiceClient
type BlobServiceServer ¶
type BlobServiceServer interface { // Stat can be used to check for the existence of a blob, as well as // gathering more data about it, like more granular chunking information // or baos. // Server implementations are not required to provide more granular chunking // information, especially if the digest specified in `StatBlobRequest` is // already a chunk of a blob. Stat(context.Context, *StatBlobRequest) (*StatBlobResponse, error) // Read allows reading (all) data of a blob/chunk by the BLAKE3 digest of // its contents. // If the backend communicated more granular chunks in the `Stat` request, // this can also be used to read chunks. // This request returns a stream of BlobChunk, which is just a container for // a stream of bytes. // The server may decide on whatever chunking it may seem fit as a size for // the individual BlobChunk sent in the response stream, this is mostly to // keep individual messages at a manageable size. Read(*ReadBlobRequest, BlobService_ReadServer) error // Put uploads a Blob, by reading a stream of bytes. // // The way the data is chunked up in individual BlobChunk messages sent in // the stream has no effect on how the server ends up chunking blobs up, if // it does at all. Put(BlobService_PutServer) error // contains filtered or unexported methods }
BlobServiceServer is the server API for BlobService service. All implementations must embed UnimplementedBlobServiceServer for forward compatibility
type BlobService_PutClient ¶
type BlobService_PutClient interface { Send(*BlobChunk) error CloseAndRecv() (*PutBlobResponse, error) grpc.ClientStream }
type BlobService_PutServer ¶
type BlobService_PutServer interface { SendAndClose(*PutBlobResponse) error Recv() (*BlobChunk, error) grpc.ServerStream }
type BlobService_ReadClient ¶
type BlobService_ReadClient interface { Recv() (*BlobChunk, error) grpc.ClientStream }
type BlobService_ReadServer ¶
type BlobService_ReadServer interface { Send(*BlobChunk) error grpc.ServerStream }
type Directory ¶
type Directory struct { Directories []*DirectoryNode `protobuf:"bytes,1,rep,name=directories,proto3" json:"directories,omitempty"` Files []*FileNode `protobuf:"bytes,2,rep,name=files,proto3" json:"files,omitempty"` Symlinks []*SymlinkNode `protobuf:"bytes,3,rep,name=symlinks,proto3" json:"symlinks,omitempty"` // contains filtered or unexported fields }
A Directory can contain Directory, File or Symlink nodes. Each of these nodes have a name attribute, which is the basename in that directory and node type specific attributes. The name attribute:
- MUST not contain slashes or null bytes
- MUST not be '.' or '..'
- MUST be unique across all three lists
Elements in each list need to be lexicographically ordered by the name attribute.
func (*Directory) GetDirectories ¶
func (x *Directory) GetDirectories() []*DirectoryNode
func (*Directory) GetSymlinks ¶
func (x *Directory) GetSymlinks() []*SymlinkNode
func (*Directory) ProtoReflect ¶
func (x *Directory) ProtoReflect() protoreflect.Message
func (*Directory) Size ¶
The size of a directory is calculated by summing up the numbers of `directories`, `files` and `symlinks`, and for each directory, its size field.
type DirectoryNode ¶
type DirectoryNode struct { // The (base)name of the directory Name []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The blake3 hash of a Directory message, serialized in protobuf canonical form. Digest []byte `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` // Number of child elements in the Directory referred to by `digest`. // Calculated by summing up the numbers of `directories`, `files` and // `symlinks`, and for each directory, its size field. Used for inode number // calculation. // This field is precisely as verifiable as any other Merkle tree edge. // Resolve `digest`, and you can compute it incrementally. Resolve the entire // tree, and you can fully compute it from scratch. // A credulous implementation won't reject an excessive size, but this is // harmless: you'll have some ordinals without nodes. Undersizing is obvious // and easy to reject: you won't have an ordinal for some nodes. Size uint64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"` // contains filtered or unexported fields }
A DirectoryNode represents a directory in a Directory.
func (*DirectoryNode) Descriptor
deprecated
func (*DirectoryNode) Descriptor() ([]byte, []int)
Deprecated: Use DirectoryNode.ProtoReflect.Descriptor instead.
func (*DirectoryNode) GetDigest ¶
func (x *DirectoryNode) GetDigest() []byte
func (*DirectoryNode) GetName ¶
func (x *DirectoryNode) GetName() []byte
func (*DirectoryNode) GetSize ¶
func (x *DirectoryNode) GetSize() uint64
func (*DirectoryNode) ProtoMessage ¶
func (*DirectoryNode) ProtoMessage()
func (*DirectoryNode) ProtoReflect ¶
func (x *DirectoryNode) ProtoReflect() protoreflect.Message
func (*DirectoryNode) Reset ¶
func (x *DirectoryNode) Reset()
func (*DirectoryNode) String ¶
func (x *DirectoryNode) String() string
func (*DirectoryNode) Validate ¶
func (n *DirectoryNode) Validate() error
Validate ensures a DirectoryNode has a valid name and correct digest len.
type DirectoryServiceClient ¶
type DirectoryServiceClient interface { // Get retrieves a stream of Directory messages, by using the lookup // parameters in GetDirectoryRequest. // Keep in mind multiple DirectoryNodes in different parts of the graph might // have the same digest if they have the same underlying contents, // so sending subsequent ones can be omitted. // // It is okay for certain implementations to only allow retrieval of // Directory digests that are at the "root", aka the last element that's // sent in a Put. This makes sense for implementations bundling closures of // directories together in batches. Get(ctx context.Context, in *GetDirectoryRequest, opts ...grpc.CallOption) (DirectoryService_GetClient, error) // Put uploads a graph of Directory messages. // Individual Directory messages need to be send in an order walking up // from the leaves to the root - a Directory message can only refer to // Directory messages previously sent in the same stream. // Keep in mind multiple DirectoryNodes in different parts of the graph might // have the same digest if they have the same underlying contents, // so sending subsequent ones can be omitted. // We might add a separate method, allowing to send partial graphs at a later // time, if requiring to send the full graph turns out to be a problem. Put(ctx context.Context, opts ...grpc.CallOption) (DirectoryService_PutClient, error) }
DirectoryServiceClient is the client API for DirectoryService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewDirectoryServiceClient ¶
func NewDirectoryServiceClient(cc grpc.ClientConnInterface) DirectoryServiceClient
type DirectoryServiceServer ¶
type DirectoryServiceServer interface { // Get retrieves a stream of Directory messages, by using the lookup // parameters in GetDirectoryRequest. // Keep in mind multiple DirectoryNodes in different parts of the graph might // have the same digest if they have the same underlying contents, // so sending subsequent ones can be omitted. // // It is okay for certain implementations to only allow retrieval of // Directory digests that are at the "root", aka the last element that's // sent in a Put. This makes sense for implementations bundling closures of // directories together in batches. Get(*GetDirectoryRequest, DirectoryService_GetServer) error // Put uploads a graph of Directory messages. // Individual Directory messages need to be send in an order walking up // from the leaves to the root - a Directory message can only refer to // Directory messages previously sent in the same stream. // Keep in mind multiple DirectoryNodes in different parts of the graph might // have the same digest if they have the same underlying contents, // so sending subsequent ones can be omitted. // We might add a separate method, allowing to send partial graphs at a later // time, if requiring to send the full graph turns out to be a problem. Put(DirectoryService_PutServer) error // contains filtered or unexported methods }
DirectoryServiceServer is the server API for DirectoryService service. All implementations must embed UnimplementedDirectoryServiceServer for forward compatibility
type DirectoryService_GetClient ¶
type DirectoryService_GetClient interface { Recv() (*Directory, error) grpc.ClientStream }
type DirectoryService_GetServer ¶
type DirectoryService_GetServer interface { Send(*Directory) error grpc.ServerStream }
type DirectoryService_PutClient ¶
type DirectoryService_PutClient interface { Send(*Directory) error CloseAndRecv() (*PutDirectoryResponse, error) grpc.ClientStream }
type DirectoryService_PutServer ¶
type DirectoryService_PutServer interface { SendAndClose(*PutDirectoryResponse) error Recv() (*Directory, error) grpc.ServerStream }
type FileNode ¶
type FileNode struct { // The (base)name of the file Name []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The blake3 digest of the file contents Digest []byte `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` // The file content size Size uint64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"` // Whether the file is executable Executable bool `protobuf:"varint,4,opt,name=executable,proto3" json:"executable,omitempty"` // contains filtered or unexported fields }
A FileNode represents a regular or executable file in a Directory.
func (*FileNode) ProtoReflect ¶
func (x *FileNode) ProtoReflect() protoreflect.Message
type GetDirectoryRequest ¶
type GetDirectoryRequest struct { // Types that are assignable to ByWhat: // // *GetDirectoryRequest_Digest ByWhat isGetDirectoryRequest_ByWhat `protobuf_oneof:"by_what"` // If set to true, recursively resolve all child Directory messages. // Directory messages SHOULD be streamed in a recursive breadth-first walk, // but other orders are also fine, as long as Directory messages are only // sent after they are referred to from previously sent Directory messages. Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"` // contains filtered or unexported fields }
func (*GetDirectoryRequest) Descriptor
deprecated
func (*GetDirectoryRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetDirectoryRequest.ProtoReflect.Descriptor instead.
func (*GetDirectoryRequest) GetByWhat ¶
func (m *GetDirectoryRequest) GetByWhat() isGetDirectoryRequest_ByWhat
func (*GetDirectoryRequest) GetDigest ¶
func (x *GetDirectoryRequest) GetDigest() []byte
func (*GetDirectoryRequest) GetRecursive ¶
func (x *GetDirectoryRequest) GetRecursive() bool
func (*GetDirectoryRequest) ProtoMessage ¶
func (*GetDirectoryRequest) ProtoMessage()
func (*GetDirectoryRequest) ProtoReflect ¶
func (x *GetDirectoryRequest) ProtoReflect() protoreflect.Message
func (*GetDirectoryRequest) Reset ¶
func (x *GetDirectoryRequest) Reset()
func (*GetDirectoryRequest) String ¶
func (x *GetDirectoryRequest) String() string
type GetDirectoryRequest_Digest ¶
type GetDirectoryRequest_Digest struct { // The blake3 hash of the (root) Directory message, serialized in // protobuf canonical form. // Keep in mind this can be a subtree of another root. Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3,oneof"` }
type Node ¶
type Node struct { // Types that are assignable to Node: // // *Node_Directory // *Node_File // *Node_Symlink Node isNode_Node `protobuf_oneof:"node"` // contains filtered or unexported fields }
A Node is either a DirectoryNode, FileNode or SymlinkNode.
func RenamedNode ¶
RenamedNode returns a node with a new name.
func (*Node) GetDirectory ¶
func (x *Node) GetDirectory() *DirectoryNode
func (*Node) GetSymlink ¶
func (x *Node) GetSymlink() *SymlinkNode
func (*Node) ProtoReflect ¶
func (x *Node) ProtoReflect() protoreflect.Message
type Node_Directory ¶
type Node_Directory struct {
Directory *DirectoryNode `protobuf:"bytes,1,opt,name=directory,proto3,oneof"`
}
type Node_File ¶
type Node_File struct {
File *FileNode `protobuf:"bytes,2,opt,name=file,proto3,oneof"`
}
type Node_Symlink ¶
type Node_Symlink struct {
Symlink *SymlinkNode `protobuf:"bytes,3,opt,name=symlink,proto3,oneof"`
}
type PutBlobResponse ¶
type PutBlobResponse struct { // The blake3 digest of the data that was sent. Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` // contains filtered or unexported fields }
func (*PutBlobResponse) Descriptor
deprecated
func (*PutBlobResponse) Descriptor() ([]byte, []int)
Deprecated: Use PutBlobResponse.ProtoReflect.Descriptor instead.
func (*PutBlobResponse) GetDigest ¶
func (x *PutBlobResponse) GetDigest() []byte
func (*PutBlobResponse) ProtoMessage ¶
func (*PutBlobResponse) ProtoMessage()
func (*PutBlobResponse) ProtoReflect ¶
func (x *PutBlobResponse) ProtoReflect() protoreflect.Message
func (*PutBlobResponse) Reset ¶
func (x *PutBlobResponse) Reset()
func (*PutBlobResponse) String ¶
func (x *PutBlobResponse) String() string
type PutDirectoryResponse ¶
type PutDirectoryResponse struct { RootDigest []byte `protobuf:"bytes,1,opt,name=root_digest,json=rootDigest,proto3" json:"root_digest,omitempty"` // contains filtered or unexported fields }
func (*PutDirectoryResponse) Descriptor
deprecated
func (*PutDirectoryResponse) Descriptor() ([]byte, []int)
Deprecated: Use PutDirectoryResponse.ProtoReflect.Descriptor instead.
func (*PutDirectoryResponse) GetRootDigest ¶
func (x *PutDirectoryResponse) GetRootDigest() []byte
func (*PutDirectoryResponse) ProtoMessage ¶
func (*PutDirectoryResponse) ProtoMessage()
func (*PutDirectoryResponse) ProtoReflect ¶
func (x *PutDirectoryResponse) ProtoReflect() protoreflect.Message
func (*PutDirectoryResponse) Reset ¶
func (x *PutDirectoryResponse) Reset()
func (*PutDirectoryResponse) String ¶
func (x *PutDirectoryResponse) String() string
type ReadBlobRequest ¶
type ReadBlobRequest struct { // The blake3 digest of the blob or chunk requested Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` // contains filtered or unexported fields }
func (*ReadBlobRequest) Descriptor
deprecated
func (*ReadBlobRequest) Descriptor() ([]byte, []int)
Deprecated: Use ReadBlobRequest.ProtoReflect.Descriptor instead.
func (*ReadBlobRequest) GetDigest ¶
func (x *ReadBlobRequest) GetDigest() []byte
func (*ReadBlobRequest) ProtoMessage ¶
func (*ReadBlobRequest) ProtoMessage()
func (*ReadBlobRequest) ProtoReflect ¶
func (x *ReadBlobRequest) ProtoReflect() protoreflect.Message
func (*ReadBlobRequest) Reset ¶
func (x *ReadBlobRequest) Reset()
func (*ReadBlobRequest) String ¶
func (x *ReadBlobRequest) String() string
type StatBlobRequest ¶
type StatBlobRequest struct { // The blake3 digest of the blob requested Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` // Whether the server should reply with a list of more granular chunks. SendChunks bool `protobuf:"varint,2,opt,name=send_chunks,json=sendChunks,proto3" json:"send_chunks,omitempty"` // Whether the server should reply with a bao. SendBao bool `protobuf:"varint,3,opt,name=send_bao,json=sendBao,proto3" json:"send_bao,omitempty"` // contains filtered or unexported fields }
func (*StatBlobRequest) Descriptor
deprecated
func (*StatBlobRequest) Descriptor() ([]byte, []int)
Deprecated: Use StatBlobRequest.ProtoReflect.Descriptor instead.
func (*StatBlobRequest) GetDigest ¶
func (x *StatBlobRequest) GetDigest() []byte
func (*StatBlobRequest) GetSendBao ¶
func (x *StatBlobRequest) GetSendBao() bool
func (*StatBlobRequest) GetSendChunks ¶
func (x *StatBlobRequest) GetSendChunks() bool
func (*StatBlobRequest) ProtoMessage ¶
func (*StatBlobRequest) ProtoMessage()
func (*StatBlobRequest) ProtoReflect ¶
func (x *StatBlobRequest) ProtoReflect() protoreflect.Message
func (*StatBlobRequest) Reset ¶
func (x *StatBlobRequest) Reset()
func (*StatBlobRequest) String ¶
func (x *StatBlobRequest) String() string
type StatBlobResponse ¶
type StatBlobResponse struct { // If `send_chunks` was set to true, this MAY contain a list of more // granular chunks, which then may be read individually via the `Read` // method. Chunks []*StatBlobResponse_ChunkMeta `protobuf:"bytes,2,rep,name=chunks,proto3" json:"chunks,omitempty"` // If `send_bao` was set to true, this MAY contain a outboard bao. // The exact format and message types here will still be fleshed out. Bao []byte `protobuf:"bytes,3,opt,name=bao,proto3" json:"bao,omitempty"` // contains filtered or unexported fields }
func (*StatBlobResponse) Descriptor
deprecated
func (*StatBlobResponse) Descriptor() ([]byte, []int)
Deprecated: Use StatBlobResponse.ProtoReflect.Descriptor instead.
func (*StatBlobResponse) GetBao ¶
func (x *StatBlobResponse) GetBao() []byte
func (*StatBlobResponse) GetChunks ¶
func (x *StatBlobResponse) GetChunks() []*StatBlobResponse_ChunkMeta
func (*StatBlobResponse) ProtoMessage ¶
func (*StatBlobResponse) ProtoMessage()
func (*StatBlobResponse) ProtoReflect ¶
func (x *StatBlobResponse) ProtoReflect() protoreflect.Message
func (*StatBlobResponse) Reset ¶
func (x *StatBlobResponse) Reset()
func (*StatBlobResponse) String ¶
func (x *StatBlobResponse) String() string
type StatBlobResponse_ChunkMeta ¶
type StatBlobResponse_ChunkMeta struct { // Digest of that specific chunk Digest []byte `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` // Length of that chunk, in bytes. Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` // contains filtered or unexported fields }
func (*StatBlobResponse_ChunkMeta) Descriptor
deprecated
func (*StatBlobResponse_ChunkMeta) Descriptor() ([]byte, []int)
Deprecated: Use StatBlobResponse_ChunkMeta.ProtoReflect.Descriptor instead.
func (*StatBlobResponse_ChunkMeta) GetDigest ¶
func (x *StatBlobResponse_ChunkMeta) GetDigest() []byte
func (*StatBlobResponse_ChunkMeta) GetSize ¶
func (x *StatBlobResponse_ChunkMeta) GetSize() uint64
func (*StatBlobResponse_ChunkMeta) ProtoMessage ¶
func (*StatBlobResponse_ChunkMeta) ProtoMessage()
func (*StatBlobResponse_ChunkMeta) ProtoReflect ¶
func (x *StatBlobResponse_ChunkMeta) ProtoReflect() protoreflect.Message
func (*StatBlobResponse_ChunkMeta) Reset ¶
func (x *StatBlobResponse_ChunkMeta) Reset()
func (*StatBlobResponse_ChunkMeta) String ¶
func (x *StatBlobResponse_ChunkMeta) String() string
type SymlinkNode ¶
type SymlinkNode struct { // The (base)name of the symlink Name []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The target of the symlink. Target []byte `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` // contains filtered or unexported fields }
A SymlinkNode represents a symbolic link in a Directory.
func (*SymlinkNode) Descriptor
deprecated
func (*SymlinkNode) Descriptor() ([]byte, []int)
Deprecated: Use SymlinkNode.ProtoReflect.Descriptor instead.
func (*SymlinkNode) GetName ¶
func (x *SymlinkNode) GetName() []byte
func (*SymlinkNode) GetTarget ¶
func (x *SymlinkNode) GetTarget() []byte
func (*SymlinkNode) ProtoMessage ¶
func (*SymlinkNode) ProtoMessage()
func (*SymlinkNode) ProtoReflect ¶
func (x *SymlinkNode) ProtoReflect() protoreflect.Message
func (*SymlinkNode) Reset ¶
func (x *SymlinkNode) Reset()
func (*SymlinkNode) String ¶
func (x *SymlinkNode) String() string
func (*SymlinkNode) Validate ¶
func (n *SymlinkNode) Validate() error
Validate ensures a SymlinkNode has a valid name and target.
type UnimplementedBlobServiceServer ¶
type UnimplementedBlobServiceServer struct { }
UnimplementedBlobServiceServer must be embedded to have forward compatible implementations.
func (UnimplementedBlobServiceServer) Put ¶
func (UnimplementedBlobServiceServer) Put(BlobService_PutServer) error
func (UnimplementedBlobServiceServer) Read ¶
func (UnimplementedBlobServiceServer) Read(*ReadBlobRequest, BlobService_ReadServer) error
func (UnimplementedBlobServiceServer) Stat ¶
func (UnimplementedBlobServiceServer) Stat(context.Context, *StatBlobRequest) (*StatBlobResponse, error)
type UnimplementedDirectoryServiceServer ¶
type UnimplementedDirectoryServiceServer struct { }
UnimplementedDirectoryServiceServer must be embedded to have forward compatible implementations.
func (UnimplementedDirectoryServiceServer) Get ¶
func (UnimplementedDirectoryServiceServer) Put ¶
type UnsafeBlobServiceServer ¶
type UnsafeBlobServiceServer interface {
// contains filtered or unexported methods
}
UnsafeBlobServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to BlobServiceServer will result in compilation errors.
type UnsafeDirectoryServiceServer ¶
type UnsafeDirectoryServiceServer interface {
// contains filtered or unexported methods
}
UnsafeDirectoryServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to DirectoryServiceServer will result in compilation errors.