castorev1

package module
v0.0.0-...-1310afd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2024 License: MIT Imports: 13 Imported by: 5

README

castore-go

This directory contains generated golang bindings, both for the tvix-castore data models, as well as the gRPC bindings.

They are generated with mg run //tvix:castore-go:regenerate. These files end with .pb.go, and are ensured to be up to date by a CI check.

Additionally, code useful when interacting with these data structures (ending just with .go) is provided.

Documentation

Index

Constants

View Source
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"
)
View Source
const (
	DirectoryService_Get_FullMethodName = "/tvix.castore.v1.DirectoryService/Get"
	DirectoryService_Put_FullMethodName = "/tvix.castore.v1.DirectoryService/Put"
)

Variables

View Source
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)

View Source
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)

View Source
var File_tvix_castore_protos_castore_proto protoreflect.FileDescriptor
View Source
var File_tvix_castore_protos_rpc_blobstore_proto protoreflect.FileDescriptor
View Source
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) Descriptor deprecated

func (*BlobChunk) Descriptor() ([]byte, []int)

Deprecated: Use BlobChunk.ProtoReflect.Descriptor instead.

func (*BlobChunk) GetData

func (x *BlobChunk) GetData() []byte

func (*BlobChunk) ProtoMessage

func (*BlobChunk) ProtoMessage()

func (*BlobChunk) ProtoReflect

func (x *BlobChunk) ProtoReflect() protoreflect.Message

func (*BlobChunk) Reset

func (x *BlobChunk) Reset()

func (*BlobChunk) String

func (x *BlobChunk) String() string

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) Descriptor deprecated

func (*Directory) Descriptor() ([]byte, []int)

Deprecated: Use Directory.ProtoReflect.Descriptor instead.

func (*Directory) Digest

func (d *Directory) Digest() ([]byte, error)

func (*Directory) GetDirectories

func (x *Directory) GetDirectories() []*DirectoryNode

func (*Directory) GetFiles

func (x *Directory) GetFiles() []*FileNode
func (x *Directory) GetSymlinks() []*SymlinkNode

func (*Directory) ProtoMessage

func (*Directory) ProtoMessage()

func (*Directory) ProtoReflect

func (x *Directory) ProtoReflect() protoreflect.Message

func (*Directory) Reset

func (x *Directory) Reset()

func (*Directory) Size

func (d *Directory) Size() uint64

The size of a directory is calculated by summing up the numbers of `directories`, `files` and `symlinks`, and for each directory, its size field.

func (*Directory) String

func (x *Directory) String() string

func (*Directory) Validate

func (d *Directory) Validate() error

Validate thecks the Directory message for invalid data, such as: - violations of name restrictions - invalid digest lengths - not properly sorted lists - duplicate names in the three lists

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) Descriptor deprecated

func (*FileNode) Descriptor() ([]byte, []int)

Deprecated: Use FileNode.ProtoReflect.Descriptor instead.

func (*FileNode) GetDigest

func (x *FileNode) GetDigest() []byte

func (*FileNode) GetExecutable

func (x *FileNode) GetExecutable() bool

func (*FileNode) GetName

func (x *FileNode) GetName() []byte

func (*FileNode) GetSize

func (x *FileNode) GetSize() uint64

func (*FileNode) ProtoMessage

func (*FileNode) ProtoMessage()

func (*FileNode) ProtoReflect

func (x *FileNode) ProtoReflect() protoreflect.Message

func (*FileNode) Reset

func (x *FileNode) Reset()

func (*FileNode) String

func (x *FileNode) String() string

func (*FileNode) Validate

func (n *FileNode) Validate() error

Validate ensures a FileNode has a valid name and correct digest len.

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

func RenamedNode(node *Node, name string) *Node

RenamedNode returns a node with a new name.

func (*Node) Descriptor deprecated

func (*Node) Descriptor() ([]byte, []int)

Deprecated: Use Node.ProtoReflect.Descriptor instead.

func (*Node) GetDirectory

func (x *Node) GetDirectory() *DirectoryNode

func (*Node) GetFile

func (x *Node) GetFile() *FileNode

func (*Node) GetNode

func (m *Node) GetNode() isNode_Node
func (x *Node) GetSymlink() *SymlinkNode

func (*Node) ProtoMessage

func (*Node) ProtoMessage()

func (*Node) ProtoReflect

func (x *Node) ProtoReflect() protoreflect.Message

func (*Node) Reset

func (x *Node) Reset()

func (*Node) String

func (x *Node) String() string

func (*Node) Validate

func (n *Node) Validate() error

Validate ensures a node is valid, by dispatching to the per-type validation functions.

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 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 (*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) Read

func (UnimplementedBlobServiceServer) Stat

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL