castorev1

package module
v0.0.0-...-3fc2ade Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2023 License: MIT Imports: 13 Imported by: 4

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 BlobMeta

type BlobMeta struct {
	// contains filtered or unexported fields
}

func (*BlobMeta) Descriptor deprecated

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

Deprecated: Use BlobMeta.ProtoReflect.Descriptor instead.

func (*BlobMeta) ProtoMessage

func (*BlobMeta) ProtoMessage()

func (*BlobMeta) ProtoReflect

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

func (*BlobMeta) Reset

func (x *BlobMeta) Reset()

func (*BlobMeta) String

func (x *BlobMeta) String() string

type BlobServiceClient

type BlobServiceClient interface {
	// In the future, Stat will expose more metadata about a given blob,
	// such as more granular chunking, baos.
	// For now, it's only used to check for the existence of a blob, as asking
	// this for a non-existing Blob will return a Status::not_found gRPC error.
	Stat(ctx context.Context, in *StatBlobRequest, opts ...grpc.CallOption) (*BlobMeta, error)
	// Read returns a stream of BlobChunk, which is just a stream of bytes with
	// the digest specified in ReadBlobRequest.
	//
	// The server may decide on whatever chunking it may seem fit as a size for
	// the individual BlobChunk sent in the response stream.
	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.
	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 {
	// In the future, Stat will expose more metadata about a given blob,
	// such as more granular chunking, baos.
	// For now, it's only used to check for the existence of a blob, as asking
	// this for a non-existing Blob will return a Status::not_found gRPC error.
	Stat(context.Context, *StatBlobRequest) (*BlobMeta, error)
	// Read returns a stream of BlobChunk, which is just a stream of bytes with
	// the digest specified in ReadBlobRequest.
	//
	// The server may decide on whatever chunking it may seem fit as a size for
	// the individual BlobChunk sent in the response stream.
	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.
	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() uint32

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 uint32 `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() uint32

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.
	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.
	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 uint32 `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() uint32

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"`
	// 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) 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 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