keibidrop

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2026 License: MPL-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeibiService_Open_FullMethodName           = "/keibidrop.KeibiService/Open"
	KeibiService_Write_FullMethodName          = "/keibidrop.KeibiService/Write"
	KeibiService_Read_FullMethodName           = "/keibidrop.KeibiService/Read"
	KeibiService_Fsync_FullMethodName          = "/keibidrop.KeibiService/Fsync"
	KeibiService_Close_FullMethodName          = "/keibidrop.KeibiService/Close"
	KeibiService_Notify_FullMethodName         = "/keibidrop.KeibiService/Notify"
	KeibiService_BatchNotify_FullMethodName    = "/keibidrop.KeibiService/BatchNotify"
	KeibiService_StreamFile_FullMethodName     = "/keibidrop.KeibiService/StreamFile"
	KeibiService_GetChunkHashes_FullMethodName = "/keibidrop.KeibiService/GetChunkHashes"
	KeibiService_Debug_FullMethodName          = "/keibidrop.KeibiService/Debug"
	KeibiService_Rekey_FullMethodName          = "/keibidrop.KeibiService/Rekey"
	KeibiService_Heartbeat_FullMethodName      = "/keibidrop.KeibiService/Heartbeat"
)

Variables

View Source
var (
	NotifyType_name = map[int32]string{
		0:  "UNKNOWN",
		1:  "ADD_DIR",
		2:  "ADD_FILE",
		3:  "REMOVE_DIR",
		4:  "REMOVE_FILE",
		5:  "EDIT_DIR",
		6:  "EDIT_FILE",
		7:  "RENAME_FILE",
		8:  "RENAME_DIR",
		9:  "DISCONNECT",
		10: "CHECK_FILES",
	}
	NotifyType_value = map[string]int32{
		"UNKNOWN":     0,
		"ADD_DIR":     1,
		"ADD_FILE":    2,
		"REMOVE_DIR":  3,
		"REMOVE_FILE": 4,
		"EDIT_DIR":    5,
		"EDIT_FILE":   6,
		"RENAME_FILE": 7,
		"RENAME_DIR":  8,
		"DISCONNECT":  9,
		"CHECK_FILES": 10,
	}
)

Enum value maps for NotifyType.

View Source
var File_keibidrop_proto protoreflect.FileDescriptor
View Source
var KeibiService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "keibidrop.KeibiService",
	HandlerType: (*KeibiServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Open",
			Handler:    _KeibiService_Open_Handler,
		},
		{
			MethodName: "Fsync",
			Handler:    _KeibiService_Fsync_Handler,
		},
		{
			MethodName: "Close",
			Handler:    _KeibiService_Close_Handler,
		},
		{
			MethodName: "Notify",
			Handler:    _KeibiService_Notify_Handler,
		},
		{
			MethodName: "BatchNotify",
			Handler:    _KeibiService_BatchNotify_Handler,
		},
		{
			MethodName: "Debug",
			Handler:    _KeibiService_Debug_Handler,
		},
		{
			MethodName: "Rekey",
			Handler:    _KeibiService_Rekey_Handler,
		},
		{
			MethodName: "Heartbeat",
			Handler:    _KeibiService_Heartbeat_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Write",
			Handler:       _KeibiService_Write_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "Read",
			Handler:       _KeibiService_Read_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "StreamFile",
			Handler:       _KeibiService_StreamFile_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetChunkHashes",
			Handler:       _KeibiService_GetChunkHashes_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "keibidrop.proto",
}

KeibiService_ServiceDesc is the grpc.ServiceDesc for KeibiService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterKeibiServiceServer

func RegisterKeibiServiceServer(s grpc.ServiceRegistrar, srv KeibiServiceServer)

Types

type Attr

type Attr struct {
	Dev              uint64 `protobuf:"varint,1,opt,name=dev,proto3" json:"dev,omitempty"`
	Ino              uint64 `protobuf:"varint,2,opt,name=ino,proto3" json:"ino,omitempty"`
	Mode             uint32 `protobuf:"varint,3,opt,name=mode,proto3" json:"mode,omitempty"`
	Size             int64  `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
	AccessTime       uint64 `protobuf:"varint,5,opt,name=accessTime,proto3" json:"accessTime,omitempty"`
	ModificationTime uint64 `protobuf:"varint,6,opt,name=modificationTime,proto3" json:"modificationTime,omitempty"`
	ChangeTime       uint64 `protobuf:"varint,7,opt,name=changeTime,proto3" json:"changeTime,omitempty"`
	BirthTime        uint64 `protobuf:"varint,8,opt,name=birthTime,proto3" json:"birthTime,omitempty"`
	Flags            uint32 `protobuf:"varint,9,opt,name=flags,proto3" json:"flags,omitempty"`
	// contains filtered or unexported fields
}

func (*Attr) Descriptor deprecated

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

Deprecated: Use Attr.ProtoReflect.Descriptor instead.

func (*Attr) GetAccessTime

func (x *Attr) GetAccessTime() uint64

func (*Attr) GetBirthTime

func (x *Attr) GetBirthTime() uint64

func (*Attr) GetChangeTime

func (x *Attr) GetChangeTime() uint64

func (*Attr) GetDev

func (x *Attr) GetDev() uint64

func (*Attr) GetFlags

func (x *Attr) GetFlags() uint32

func (*Attr) GetIno

func (x *Attr) GetIno() uint64

func (*Attr) GetMode

func (x *Attr) GetMode() uint32

func (*Attr) GetModificationTime

func (x *Attr) GetModificationTime() uint64

func (*Attr) GetSize

func (x *Attr) GetSize() int64

func (*Attr) ProtoMessage

func (*Attr) ProtoMessage()

func (*Attr) ProtoReflect

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

func (*Attr) Reset

func (x *Attr) Reset()

func (*Attr) String

func (x *Attr) String() string

type BatchNotifyRequest

type BatchNotifyRequest struct {
	Notifications []*NotifyRequest `protobuf:"bytes,1,rep,name=notifications,proto3" json:"notifications,omitempty"` // Ordered: receiver processes sequentially.
	Seq           uint64           `protobuf:"varint,2,opt,name=seq,proto3" json:"seq,omitempty"`                    // Monotonic batch sequence for ordering.
	Timestamp     uint64           `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`        // Sender's unix nano timestamp.
	// contains filtered or unexported fields
}

func (*BatchNotifyRequest) Descriptor deprecated

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

Deprecated: Use BatchNotifyRequest.ProtoReflect.Descriptor instead.

func (*BatchNotifyRequest) GetNotifications

func (x *BatchNotifyRequest) GetNotifications() []*NotifyRequest

func (*BatchNotifyRequest) GetSeq

func (x *BatchNotifyRequest) GetSeq() uint64

func (*BatchNotifyRequest) GetTimestamp

func (x *BatchNotifyRequest) GetTimestamp() uint64

func (*BatchNotifyRequest) ProtoMessage

func (*BatchNotifyRequest) ProtoMessage()

func (*BatchNotifyRequest) ProtoReflect

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

func (*BatchNotifyRequest) Reset

func (x *BatchNotifyRequest) Reset()

func (*BatchNotifyRequest) String

func (x *BatchNotifyRequest) String() string

type BatchNotifyResponse

type BatchNotifyResponse struct {
	Status    string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	Processed uint32 `protobuf:"varint,2,opt,name=processed,proto3" json:"processed,omitempty"` // Number of notifications successfully processed.
	// contains filtered or unexported fields
}

func (*BatchNotifyResponse) Descriptor deprecated

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

Deprecated: Use BatchNotifyResponse.ProtoReflect.Descriptor instead.

func (*BatchNotifyResponse) GetProcessed

func (x *BatchNotifyResponse) GetProcessed() uint32

func (*BatchNotifyResponse) GetStatus

func (x *BatchNotifyResponse) GetStatus() string

func (*BatchNotifyResponse) ProtoMessage

func (*BatchNotifyResponse) ProtoMessage()

func (*BatchNotifyResponse) ProtoReflect

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

func (*BatchNotifyResponse) Reset

func (x *BatchNotifyResponse) Reset()

func (*BatchNotifyResponse) String

func (x *BatchNotifyResponse) String() string

type CloseRequest

type CloseRequest struct {
	Handle uint64 `protobuf:"varint,1,opt,name=handle,proto3" json:"handle,omitempty"`
	Path   string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

func (*CloseRequest) Descriptor deprecated

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

Deprecated: Use CloseRequest.ProtoReflect.Descriptor instead.

func (*CloseRequest) GetHandle

func (x *CloseRequest) GetHandle() uint64

func (*CloseRequest) GetPath

func (x *CloseRequest) GetPath() string

func (*CloseRequest) ProtoMessage

func (*CloseRequest) ProtoMessage()

func (*CloseRequest) ProtoReflect

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

func (*CloseRequest) Reset

func (x *CloseRequest) Reset()

func (*CloseRequest) String

func (x *CloseRequest) String() string

type CloseResponse

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

func (*CloseResponse) Descriptor deprecated

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

Deprecated: Use CloseResponse.ProtoReflect.Descriptor instead.

func (*CloseResponse) ProtoMessage

func (*CloseResponse) ProtoMessage()

func (*CloseResponse) ProtoReflect

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

func (*CloseResponse) Reset

func (x *CloseResponse) Reset()

func (*CloseResponse) String

func (x *CloseResponse) String() string

type DebugRequest

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

func (*DebugRequest) Descriptor deprecated

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

Deprecated: Use DebugRequest.ProtoReflect.Descriptor instead.

func (*DebugRequest) ProtoMessage

func (*DebugRequest) ProtoMessage()

func (*DebugRequest) ProtoReflect

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

func (*DebugRequest) Reset

func (x *DebugRequest) Reset()

func (*DebugRequest) String

func (x *DebugRequest) String() string

type DebugResponse

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

func (*DebugResponse) Descriptor deprecated

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

Deprecated: Use DebugResponse.ProtoReflect.Descriptor instead.

func (*DebugResponse) ProtoMessage

func (*DebugResponse) ProtoMessage()

func (*DebugResponse) ProtoReflect

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

func (*DebugResponse) Reset

func (x *DebugResponse) Reset()

func (*DebugResponse) String

func (x *DebugResponse) String() string

type FsyncRequest

type FsyncRequest struct {
	Handle uint64 `protobuf:"varint,1,opt,name=handle,proto3" json:"handle,omitempty"`
	Path   string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

func (*FsyncRequest) Descriptor deprecated

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

Deprecated: Use FsyncRequest.ProtoReflect.Descriptor instead.

func (*FsyncRequest) GetHandle

func (x *FsyncRequest) GetHandle() uint64

func (*FsyncRequest) GetPath

func (x *FsyncRequest) GetPath() string

func (*FsyncRequest) ProtoMessage

func (*FsyncRequest) ProtoMessage()

func (*FsyncRequest) ProtoReflect

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

func (*FsyncRequest) Reset

func (x *FsyncRequest) Reset()

func (*FsyncRequest) String

func (x *FsyncRequest) String() string

type FsyncResponse

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

func (*FsyncResponse) Descriptor deprecated

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

Deprecated: Use FsyncResponse.ProtoReflect.Descriptor instead.

func (*FsyncResponse) ProtoMessage

func (*FsyncResponse) ProtoMessage()

func (*FsyncResponse) ProtoReflect

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

func (*FsyncResponse) Reset

func (x *FsyncResponse) Reset()

func (*FsyncResponse) String

func (x *FsyncResponse) String() string

type GetChunkHashesRequest added in v0.3.6

type GetChunkHashesRequest struct {
	Path      string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	ChunkSize uint64 `protobuf:"varint,2,opt,name=chunk_size,json=chunkSize,proto3" json:"chunk_size,omitempty"` // requester's chunk size in bytes; server hashes at this granularity
	FromChunk uint64 `protobuf:"varint,3,opt,name=from_chunk,json=fromChunk,proto3" json:"from_chunk,omitempty"` // first chunk index to return
	Count     uint64 `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"`                          // number of chunks; 0 means to EOF
	// contains filtered or unexported fields
}

func (*GetChunkHashesRequest) Descriptor deprecated added in v0.3.6

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

Deprecated: Use GetChunkHashesRequest.ProtoReflect.Descriptor instead.

func (*GetChunkHashesRequest) GetChunkSize added in v0.3.6

func (x *GetChunkHashesRequest) GetChunkSize() uint64

func (*GetChunkHashesRequest) GetCount added in v0.3.6

func (x *GetChunkHashesRequest) GetCount() uint64

func (*GetChunkHashesRequest) GetFromChunk added in v0.3.6

func (x *GetChunkHashesRequest) GetFromChunk() uint64

func (*GetChunkHashesRequest) GetPath added in v0.3.6

func (x *GetChunkHashesRequest) GetPath() string

func (*GetChunkHashesRequest) ProtoMessage added in v0.3.6

func (*GetChunkHashesRequest) ProtoMessage()

func (*GetChunkHashesRequest) ProtoReflect added in v0.3.6

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

func (*GetChunkHashesRequest) Reset added in v0.3.6

func (x *GetChunkHashesRequest) Reset()

func (*GetChunkHashesRequest) String added in v0.3.6

func (x *GetChunkHashesRequest) String() string

type GetChunkHashesResponse added in v0.3.6

type GetChunkHashesResponse struct {
	ChunkIndex uint64 `protobuf:"varint,1,opt,name=chunk_index,json=chunkIndex,proto3" json:"chunk_index,omitempty"`
	Hash       uint64 `protobuf:"varint,2,opt,name=hash,proto3" json:"hash,omitempty"` // xxh3-64 of bytes [chunk_index*chunk_size, min((chunk_index+1)*chunk_size, fileSize))
	// contains filtered or unexported fields
}

func (*GetChunkHashesResponse) Descriptor deprecated added in v0.3.6

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

Deprecated: Use GetChunkHashesResponse.ProtoReflect.Descriptor instead.

func (*GetChunkHashesResponse) GetChunkIndex added in v0.3.6

func (x *GetChunkHashesResponse) GetChunkIndex() uint64

func (*GetChunkHashesResponse) GetHash added in v0.3.6

func (x *GetChunkHashesResponse) GetHash() uint64

func (*GetChunkHashesResponse) ProtoMessage added in v0.3.6

func (*GetChunkHashesResponse) ProtoMessage()

func (*GetChunkHashesResponse) ProtoReflect added in v0.3.6

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

func (*GetChunkHashesResponse) Reset added in v0.3.6

func (x *GetChunkHashesResponse) Reset()

func (*GetChunkHashesResponse) String added in v0.3.6

func (x *GetChunkHashesResponse) String() string

type HeartbeatRequest

type HeartbeatRequest struct {
	Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // sender's unix nano timestamp
	Seq       uint64 `protobuf:"varint,2,opt,name=seq,proto3" json:"seq,omitempty"`             // monotonic sequence number
	// contains filtered or unexported fields
}

HeartbeatRequest for connection health monitoring. Sent every 5 seconds; 3 consecutive failures trigger reconnection.

func (*HeartbeatRequest) Descriptor deprecated

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

Deprecated: Use HeartbeatRequest.ProtoReflect.Descriptor instead.

func (*HeartbeatRequest) GetSeq

func (x *HeartbeatRequest) GetSeq() uint64

func (*HeartbeatRequest) GetTimestamp

func (x *HeartbeatRequest) GetTimestamp() uint64

func (*HeartbeatRequest) ProtoMessage

func (*HeartbeatRequest) ProtoMessage()

func (*HeartbeatRequest) ProtoReflect

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

func (*HeartbeatRequest) Reset

func (x *HeartbeatRequest) Reset()

func (*HeartbeatRequest) String

func (x *HeartbeatRequest) String() string

type HeartbeatResponse

type HeartbeatResponse struct {
	Timestamp    uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`                           // responder's unix nano timestamp
	ReqTimestamp uint64 `protobuf:"varint,2,opt,name=req_timestamp,json=reqTimestamp,proto3" json:"req_timestamp,omitempty"` // echo of request timestamp (for RTT)
	Seq          uint64 `protobuf:"varint,3,opt,name=seq,proto3" json:"seq,omitempty"`                                       // echo of sequence number
	// contains filtered or unexported fields
}

HeartbeatResponse echoes the request for RTT calculation.

func (*HeartbeatResponse) Descriptor deprecated

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

Deprecated: Use HeartbeatResponse.ProtoReflect.Descriptor instead.

func (*HeartbeatResponse) GetReqTimestamp

func (x *HeartbeatResponse) GetReqTimestamp() uint64

func (*HeartbeatResponse) GetSeq

func (x *HeartbeatResponse) GetSeq() uint64

func (*HeartbeatResponse) GetTimestamp

func (x *HeartbeatResponse) GetTimestamp() uint64

func (*HeartbeatResponse) ProtoMessage

func (*HeartbeatResponse) ProtoMessage()

func (*HeartbeatResponse) ProtoReflect

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

func (*HeartbeatResponse) Reset

func (x *HeartbeatResponse) Reset()

func (*HeartbeatResponse) String

func (x *HeartbeatResponse) String() string

type KeibiServiceClient

type KeibiServiceClient interface {
	Open(ctx context.Context, in *OpenRequest, opts ...grpc.CallOption) (*OpenResponse, error)
	Write(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[WriteRequest, WriteResponse], error)
	Read(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[ReadRequest, ReadResponse], error)
	Fsync(ctx context.Context, in *FsyncRequest, opts ...grpc.CallOption) (*FsyncResponse, error)
	Close(ctx context.Context, in *CloseRequest, opts ...grpc.CallOption) (*CloseResponse, error)
	Notify(ctx context.Context, in *NotifyRequest, opts ...grpc.CallOption) (*NotifyResponse, error)
	BatchNotify(ctx context.Context, in *BatchNotifyRequest, opts ...grpc.CallOption) (*BatchNotifyResponse, error)
	// Push-based file streaming: client sends one request, server pushes
	// all chunks sequentially. No per-chunk round-trip overhead.
	StreamFile(ctx context.Context, in *StreamFileRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[StreamFileResponse], error)
	// Per-chunk xxh3-64 fingerprints for partial re-fetch on edit.
	GetChunkHashes(ctx context.Context, in *GetChunkHashesRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GetChunkHashesResponse], error)
	Debug(ctx context.Context, in *DebugRequest, opts ...grpc.CallOption) (*DebugResponse, error)
	// Re-keying for forward secrecy during long sessions.
	Rekey(ctx context.Context, in *RekeyRequest, opts ...grpc.CallOption) (*RekeyResponse, error)
	// Connection health monitoring for auto-reconnection.
	Heartbeat(ctx context.Context, in *HeartbeatRequest, opts ...grpc.CallOption) (*HeartbeatResponse, error)
}

KeibiServiceClient is the client API for KeibiService 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.

type KeibiServiceServer

type KeibiServiceServer interface {
	Open(context.Context, *OpenRequest) (*OpenResponse, error)
	Write(grpc.ClientStreamingServer[WriteRequest, WriteResponse]) error
	Read(grpc.BidiStreamingServer[ReadRequest, ReadResponse]) error
	Fsync(context.Context, *FsyncRequest) (*FsyncResponse, error)
	Close(context.Context, *CloseRequest) (*CloseResponse, error)
	Notify(context.Context, *NotifyRequest) (*NotifyResponse, error)
	BatchNotify(context.Context, *BatchNotifyRequest) (*BatchNotifyResponse, error)
	// Push-based file streaming: client sends one request, server pushes
	// all chunks sequentially. No per-chunk round-trip overhead.
	StreamFile(*StreamFileRequest, grpc.ServerStreamingServer[StreamFileResponse]) error
	// Per-chunk xxh3-64 fingerprints for partial re-fetch on edit.
	GetChunkHashes(*GetChunkHashesRequest, grpc.ServerStreamingServer[GetChunkHashesResponse]) error
	Debug(context.Context, *DebugRequest) (*DebugResponse, error)
	// Re-keying for forward secrecy during long sessions.
	Rekey(context.Context, *RekeyRequest) (*RekeyResponse, error)
	// Connection health monitoring for auto-reconnection.
	Heartbeat(context.Context, *HeartbeatRequest) (*HeartbeatResponse, error)
	// contains filtered or unexported methods
}

KeibiServiceServer is the server API for KeibiService service. All implementations must embed UnimplementedKeibiServiceServer for forward compatibility.

type KeibiService_GetChunkHashesClient added in v0.3.6

type KeibiService_GetChunkHashesClient = grpc.ServerStreamingClient[GetChunkHashesResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type KeibiService_GetChunkHashesServer added in v0.3.6

type KeibiService_GetChunkHashesServer = grpc.ServerStreamingServer[GetChunkHashesResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type KeibiService_ReadClient

type KeibiService_ReadClient = grpc.BidiStreamingClient[ReadRequest, ReadResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type KeibiService_ReadServer

type KeibiService_ReadServer = grpc.BidiStreamingServer[ReadRequest, ReadResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type KeibiService_StreamFileClient

type KeibiService_StreamFileClient = grpc.ServerStreamingClient[StreamFileResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type KeibiService_StreamFileServer

type KeibiService_StreamFileServer = grpc.ServerStreamingServer[StreamFileResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type KeibiService_WriteClient

type KeibiService_WriteClient = grpc.ClientStreamingClient[WriteRequest, WriteResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type KeibiService_WriteServer

type KeibiService_WriteServer = grpc.ClientStreamingServer[WriteRequest, WriteResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type NotifyRequest

type NotifyRequest struct {
	Type    NotifyType `protobuf:"varint,1,opt,name=type,proto3,enum=keibidrop.NotifyType" json:"type,omitempty"`
	Path    string     `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Name    string     `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Attr    *Attr      `protobuf:"bytes,4,opt,name=attr,proto3" json:"attr,omitempty"`
	OldPath string     `protobuf:"bytes,5,opt,name=old_path,json=oldPath,proto3" json:"old_path,omitempty"` // For RENAME operations: the source path.
	// The newest peer version (RemoteMtimeNs) the sender had accepted for this
	// file when its edit session started. The receiver preserves a conflict
	// copy exactly when base < the version it holds: the edit provably never
	// saw it. 0 = unknown: never preserve (plain last-writer-wins).
	BaseMtimeNs int64 `protobuf:"varint,6,opt,name=base_mtime_ns,json=baseMtimeNs,proto3" json:"base_mtime_ns,omitempty"`
	// contains filtered or unexported fields
}

func (*NotifyRequest) Descriptor deprecated

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

Deprecated: Use NotifyRequest.ProtoReflect.Descriptor instead.

func (*NotifyRequest) GetAttr

func (x *NotifyRequest) GetAttr() *Attr

func (*NotifyRequest) GetBaseMtimeNs added in v0.4.0

func (x *NotifyRequest) GetBaseMtimeNs() int64

func (*NotifyRequest) GetName

func (x *NotifyRequest) GetName() string

func (*NotifyRequest) GetOldPath

func (x *NotifyRequest) GetOldPath() string

func (*NotifyRequest) GetPath

func (x *NotifyRequest) GetPath() string

func (*NotifyRequest) GetType

func (x *NotifyRequest) GetType() NotifyType

func (*NotifyRequest) ProtoMessage

func (*NotifyRequest) ProtoMessage()

func (*NotifyRequest) ProtoReflect

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

func (*NotifyRequest) Reset

func (x *NotifyRequest) Reset()

func (*NotifyRequest) String

func (x *NotifyRequest) String() string

type NotifyResponse

type NotifyResponse struct {
	Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*NotifyResponse) Descriptor deprecated

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

Deprecated: Use NotifyResponse.ProtoReflect.Descriptor instead.

func (*NotifyResponse) GetStatus

func (x *NotifyResponse) GetStatus() string

func (*NotifyResponse) ProtoMessage

func (*NotifyResponse) ProtoMessage()

func (*NotifyResponse) ProtoReflect

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

func (*NotifyResponse) Reset

func (x *NotifyResponse) Reset()

func (*NotifyResponse) String

func (x *NotifyResponse) String() string

type NotifyType

type NotifyType int32
const (
	NotifyType_UNKNOWN     NotifyType = 0
	NotifyType_ADD_DIR     NotifyType = 1
	NotifyType_ADD_FILE    NotifyType = 2
	NotifyType_REMOVE_DIR  NotifyType = 3
	NotifyType_REMOVE_FILE NotifyType = 4
	NotifyType_EDIT_DIR    NotifyType = 5
	NotifyType_EDIT_FILE   NotifyType = 6
	NotifyType_RENAME_FILE NotifyType = 7  // File moved/renamed. old_path -> path.
	NotifyType_RENAME_DIR  NotifyType = 8  // Directory moved/renamed. old_path -> path.
	NotifyType_DISCONNECT  NotifyType = 9  // Graceful peer disconnect notification.
	NotifyType_CHECK_FILES NotifyType = 10 // Request peer to confirm which files it still has (resume).
)

func (NotifyType) Descriptor

func (NotifyType) Descriptor() protoreflect.EnumDescriptor

func (NotifyType) Enum

func (x NotifyType) Enum() *NotifyType

func (NotifyType) EnumDescriptor deprecated

func (NotifyType) EnumDescriptor() ([]byte, []int)

Deprecated: Use NotifyType.Descriptor instead.

func (NotifyType) Number

func (x NotifyType) Number() protoreflect.EnumNumber

func (NotifyType) String

func (x NotifyType) String() string

func (NotifyType) Type

type OpenRequest

type OpenRequest struct {
	Path     string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Create   bool   `protobuf:"varint,2,opt,name=create,proto3" json:"create,omitempty"`
	Truncate bool   `protobuf:"varint,3,opt,name=truncate,proto3" json:"truncate,omitempty"`
	// contains filtered or unexported fields
}

func (*OpenRequest) Descriptor deprecated

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

Deprecated: Use OpenRequest.ProtoReflect.Descriptor instead.

func (*OpenRequest) GetCreate

func (x *OpenRequest) GetCreate() bool

func (*OpenRequest) GetPath

func (x *OpenRequest) GetPath() string

func (*OpenRequest) GetTruncate

func (x *OpenRequest) GetTruncate() bool

func (*OpenRequest) ProtoMessage

func (*OpenRequest) ProtoMessage()

func (*OpenRequest) ProtoReflect

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

func (*OpenRequest) Reset

func (x *OpenRequest) Reset()

func (*OpenRequest) String

func (x *OpenRequest) String() string

type OpenResponse

type OpenResponse struct {
	Handle uint64 `protobuf:"varint,1,opt,name=handle,proto3" json:"handle,omitempty"`
	// contains filtered or unexported fields
}

func (*OpenResponse) Descriptor deprecated

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

Deprecated: Use OpenResponse.ProtoReflect.Descriptor instead.

func (*OpenResponse) GetHandle

func (x *OpenResponse) GetHandle() uint64

func (*OpenResponse) ProtoMessage

func (*OpenResponse) ProtoMessage()

func (*OpenResponse) ProtoReflect

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

func (*OpenResponse) Reset

func (x *OpenResponse) Reset()

func (*OpenResponse) String

func (x *OpenResponse) String() string

type ReadRequest

type ReadRequest struct {
	Handle     uint64 `protobuf:"varint,1,opt,name=handle,proto3" json:"handle,omitempty"`
	Path       string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Offset     uint64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
	Size       uint32 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
	Prefetch   bool   `protobuf:"varint,5,opt,name=prefetch,proto3" json:"prefetch,omitempty"`                       // If true, stream entire file (ignore offset/size).
	LocalSize  uint64 `protobuf:"varint,6,opt,name=local_size,json=localSize,proto3" json:"local_size,omitempty"`    // Local file size (for delta detection).
	LocalMtime uint64 `protobuf:"varint,7,opt,name=local_mtime,json=localMtime,proto3" json:"local_mtime,omitempty"` // Local mtime (for delta detection).
	// contains filtered or unexported fields
}

func (*ReadRequest) Descriptor deprecated

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

Deprecated: Use ReadRequest.ProtoReflect.Descriptor instead.

func (*ReadRequest) GetHandle

func (x *ReadRequest) GetHandle() uint64

func (*ReadRequest) GetLocalMtime

func (x *ReadRequest) GetLocalMtime() uint64

func (*ReadRequest) GetLocalSize

func (x *ReadRequest) GetLocalSize() uint64

func (*ReadRequest) GetOffset

func (x *ReadRequest) GetOffset() uint64

func (*ReadRequest) GetPath

func (x *ReadRequest) GetPath() string

func (*ReadRequest) GetPrefetch

func (x *ReadRequest) GetPrefetch() bool

func (*ReadRequest) GetSize

func (x *ReadRequest) GetSize() uint32

func (*ReadRequest) ProtoMessage

func (*ReadRequest) ProtoMessage()

func (*ReadRequest) ProtoReflect

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

func (*ReadRequest) Reset

func (x *ReadRequest) Reset()

func (*ReadRequest) String

func (x *ReadRequest) String() string

type ReadResponse

type ReadResponse struct {
	Data      []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	Offset    uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`                        // For delta sync: offset where this chunk applies.
	IsDelta   bool   `protobuf:"varint,3,opt,name=is_delta,json=isDelta,proto3" json:"is_delta,omitempty"`       // True if this is a delta chunk (not full file).
	TotalSize uint64 `protobuf:"varint,4,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"` // Total file size (for prefetch completion).
	// contains filtered or unexported fields
}

func (*ReadResponse) Descriptor deprecated

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

Deprecated: Use ReadResponse.ProtoReflect.Descriptor instead.

func (*ReadResponse) GetData

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

func (*ReadResponse) GetIsDelta

func (x *ReadResponse) GetIsDelta() bool

func (*ReadResponse) GetOffset

func (x *ReadResponse) GetOffset() uint64

func (*ReadResponse) GetTotalSize

func (x *ReadResponse) GetTotalSize() uint64

func (*ReadResponse) ProtoMessage

func (*ReadResponse) ProtoMessage()

func (*ReadResponse) ProtoReflect

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

func (*ReadResponse) Reset

func (x *ReadResponse) Reset()

func (*ReadResponse) String

func (x *ReadResponse) String() string

type RekeyRequest

type RekeyRequest struct {
	EncSeeds map[string][]byte `` // x25519, mlkem encapsulated seeds
	/* 159-byte string literal not displayed */
	Epoch uint64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"` // monotonic key epoch counter
	// contains filtered or unexported fields
}

RekeyRequest initiates key rotation for forward secrecy. Sent when byte/message threshold is reached.

func (*RekeyRequest) Descriptor deprecated

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

Deprecated: Use RekeyRequest.ProtoReflect.Descriptor instead.

func (*RekeyRequest) GetEncSeeds

func (x *RekeyRequest) GetEncSeeds() map[string][]byte

func (*RekeyRequest) GetEpoch

func (x *RekeyRequest) GetEpoch() uint64

func (*RekeyRequest) ProtoMessage

func (*RekeyRequest) ProtoMessage()

func (*RekeyRequest) ProtoReflect

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

func (*RekeyRequest) Reset

func (x *RekeyRequest) Reset()

func (*RekeyRequest) String

func (x *RekeyRequest) String() string

type RekeyResponse

type RekeyResponse struct {
	EncSeeds map[string][]byte `` // peer's new encapsulated seeds
	/* 159-byte string literal not displayed */
	Epoch uint64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"` // confirmed epoch
	// contains filtered or unexported fields
}

RekeyResponse acknowledges rekey and provides peer's new seeds.

func (*RekeyResponse) Descriptor deprecated

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

Deprecated: Use RekeyResponse.ProtoReflect.Descriptor instead.

func (*RekeyResponse) GetEncSeeds

func (x *RekeyResponse) GetEncSeeds() map[string][]byte

func (*RekeyResponse) GetEpoch

func (x *RekeyResponse) GetEpoch() uint64

func (*RekeyResponse) ProtoMessage

func (*RekeyResponse) ProtoMessage()

func (*RekeyResponse) ProtoReflect

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

func (*RekeyResponse) Reset

func (x *RekeyResponse) Reset()

func (*RekeyResponse) String

func (x *RekeyResponse) String() string

type StreamFileRequest

type StreamFileRequest struct {
	Path        string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	StartOffset uint64 `protobuf:"varint,2,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` // Resume from this byte offset (0 for full file).
	// contains filtered or unexported fields
}

func (*StreamFileRequest) Descriptor deprecated

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

Deprecated: Use StreamFileRequest.ProtoReflect.Descriptor instead.

func (*StreamFileRequest) GetPath

func (x *StreamFileRequest) GetPath() string

func (*StreamFileRequest) GetStartOffset

func (x *StreamFileRequest) GetStartOffset() uint64

func (*StreamFileRequest) ProtoMessage

func (*StreamFileRequest) ProtoMessage()

func (*StreamFileRequest) ProtoReflect

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

func (*StreamFileRequest) Reset

func (x *StreamFileRequest) Reset()

func (*StreamFileRequest) String

func (x *StreamFileRequest) String() string

type StreamFileResponse

type StreamFileResponse struct {
	Data      []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	Offset    uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`                        // Byte offset where this chunk belongs.
	TotalSize uint64 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"` // Total file size (sent with every chunk for progress).
	// contains filtered or unexported fields
}

func (*StreamFileResponse) Descriptor deprecated

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

Deprecated: Use StreamFileResponse.ProtoReflect.Descriptor instead.

func (*StreamFileResponse) GetData

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

func (*StreamFileResponse) GetOffset

func (x *StreamFileResponse) GetOffset() uint64

func (*StreamFileResponse) GetTotalSize

func (x *StreamFileResponse) GetTotalSize() uint64

func (*StreamFileResponse) ProtoMessage

func (*StreamFileResponse) ProtoMessage()

func (*StreamFileResponse) ProtoReflect

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

func (*StreamFileResponse) Reset

func (x *StreamFileResponse) Reset()

func (*StreamFileResponse) String

func (x *StreamFileResponse) String() string

type UnimplementedKeibiServiceServer

type UnimplementedKeibiServiceServer struct{}

UnimplementedKeibiServiceServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedKeibiServiceServer) BatchNotify

func (UnimplementedKeibiServiceServer) Close

func (UnimplementedKeibiServiceServer) Debug

func (UnimplementedKeibiServiceServer) Fsync

func (UnimplementedKeibiServiceServer) GetChunkHashes added in v0.3.6

func (UnimplementedKeibiServiceServer) Heartbeat

func (UnimplementedKeibiServiceServer) Notify

func (UnimplementedKeibiServiceServer) Open

func (UnimplementedKeibiServiceServer) Read

func (UnimplementedKeibiServiceServer) Rekey

func (UnimplementedKeibiServiceServer) Write

type UnsafeKeibiServiceServer

type UnsafeKeibiServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeKeibiServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to KeibiServiceServer will result in compilation errors.

type WriteRequest

type WriteRequest struct {
	Handle uint64 `protobuf:"varint,1,opt,name=handle,proto3" json:"handle,omitempty"`
	Path   string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	Data   []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	Offset uint64 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
	Size   uint64 `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"`
	// contains filtered or unexported fields
}

func (*WriteRequest) Descriptor deprecated

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

Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead.

func (*WriteRequest) GetData

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

func (*WriteRequest) GetHandle

func (x *WriteRequest) GetHandle() uint64

func (*WriteRequest) GetOffset

func (x *WriteRequest) GetOffset() uint64

func (*WriteRequest) GetPath

func (x *WriteRequest) GetPath() string

func (*WriteRequest) GetSize

func (x *WriteRequest) GetSize() uint64

func (*WriteRequest) ProtoMessage

func (*WriteRequest) ProtoMessage()

func (*WriteRequest) ProtoReflect

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

func (*WriteRequest) Reset

func (x *WriteRequest) Reset()

func (*WriteRequest) String

func (x *WriteRequest) String() string

type WriteResponse

type WriteResponse struct {
	BytesWritten uint32 `protobuf:"varint,1,opt,name=bytes_written,json=bytesWritten,proto3" json:"bytes_written,omitempty"`
	// contains filtered or unexported fields
}

func (*WriteResponse) Descriptor deprecated

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

Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead.

func (*WriteResponse) GetBytesWritten

func (x *WriteResponse) GetBytesWritten() uint32

func (*WriteResponse) ProtoMessage

func (*WriteResponse) ProtoMessage()

func (*WriteResponse) ProtoReflect

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

func (*WriteResponse) Reset

func (x *WriteResponse) Reset()

func (*WriteResponse) String

func (x *WriteResponse) String() string

Jump to

Keyboard shortcuts

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