seaweedfs/weed/pb/volume_server_pb/volume_server.pb.go
2019-04-20 11:35:23 -07:00

1792 lines
69 KiB
Go

// Code generated by protoc-gen-go.
// source: volume_server.proto
// DO NOT EDIT!
/*
Package volume_server_pb is a generated protocol buffer package.
It is generated from these files:
volume_server.proto
It has these top-level messages:
BatchDeleteRequest
BatchDeleteResponse
DeleteResult
Empty
VacuumVolumeCheckRequest
VacuumVolumeCheckResponse
VacuumVolumeCompactRequest
VacuumVolumeCompactResponse
VacuumVolumeCommitRequest
VacuumVolumeCommitResponse
VacuumVolumeCleanupRequest
VacuumVolumeCleanupResponse
DeleteCollectionRequest
DeleteCollectionResponse
AllocateVolumeRequest
AllocateVolumeResponse
VolumeSyncStatusRequest
VolumeSyncStatusResponse
VolumeIncrementalCopyRequest
VolumeIncrementalCopyResponse
VolumeMountRequest
VolumeMountResponse
VolumeUnmountRequest
VolumeUnmountResponse
VolumeDeleteRequest
VolumeDeleteResponse
VolumeCopyRequest
VolumeCopyResponse
CopyFileRequest
CopyFileResponse
VolumeTailSenderRequest
VolumeTailSenderResponse
VolumeTailReceiverRequest
VolumeTailReceiverResponse
ReadVolumeFileStatusRequest
ReadVolumeFileStatusResponse
DiskStatus
MemStatus
*/
package volume_server_pb
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type BatchDeleteRequest struct {
FileIds []string `protobuf:"bytes,1,rep,name=file_ids,json=fileIds" json:"file_ids,omitempty"`
}
func (m *BatchDeleteRequest) Reset() { *m = BatchDeleteRequest{} }
func (m *BatchDeleteRequest) String() string { return proto.CompactTextString(m) }
func (*BatchDeleteRequest) ProtoMessage() {}
func (*BatchDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *BatchDeleteRequest) GetFileIds() []string {
if m != nil {
return m.FileIds
}
return nil
}
type BatchDeleteResponse struct {
Results []*DeleteResult `protobuf:"bytes,1,rep,name=results" json:"results,omitempty"`
}
func (m *BatchDeleteResponse) Reset() { *m = BatchDeleteResponse{} }
func (m *BatchDeleteResponse) String() string { return proto.CompactTextString(m) }
func (*BatchDeleteResponse) ProtoMessage() {}
func (*BatchDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (m *BatchDeleteResponse) GetResults() []*DeleteResult {
if m != nil {
return m.Results
}
return nil
}
type DeleteResult struct {
FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
Status int32 `protobuf:"varint,2,opt,name=status" json:"status,omitempty"`
Error string `protobuf:"bytes,3,opt,name=error" json:"error,omitempty"`
Size uint32 `protobuf:"varint,4,opt,name=size" json:"size,omitempty"`
}
func (m *DeleteResult) Reset() { *m = DeleteResult{} }
func (m *DeleteResult) String() string { return proto.CompactTextString(m) }
func (*DeleteResult) ProtoMessage() {}
func (*DeleteResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func (m *DeleteResult) GetFileId() string {
if m != nil {
return m.FileId
}
return ""
}
func (m *DeleteResult) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *DeleteResult) GetError() string {
if m != nil {
return m.Error
}
return ""
}
func (m *DeleteResult) GetSize() uint32 {
if m != nil {
return m.Size
}
return 0
}
type Empty struct {
}
func (m *Empty) Reset() { *m = Empty{} }
func (m *Empty) String() string { return proto.CompactTextString(m) }
func (*Empty) ProtoMessage() {}
func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
type VacuumVolumeCheckRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
}
func (m *VacuumVolumeCheckRequest) Reset() { *m = VacuumVolumeCheckRequest{} }
func (m *VacuumVolumeCheckRequest) String() string { return proto.CompactTextString(m) }
func (*VacuumVolumeCheckRequest) ProtoMessage() {}
func (*VacuumVolumeCheckRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *VacuumVolumeCheckRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
type VacuumVolumeCheckResponse struct {
GarbageRatio float64 `protobuf:"fixed64,1,opt,name=garbage_ratio,json=garbageRatio" json:"garbage_ratio,omitempty"`
}
func (m *VacuumVolumeCheckResponse) Reset() { *m = VacuumVolumeCheckResponse{} }
func (m *VacuumVolumeCheckResponse) String() string { return proto.CompactTextString(m) }
func (*VacuumVolumeCheckResponse) ProtoMessage() {}
func (*VacuumVolumeCheckResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (m *VacuumVolumeCheckResponse) GetGarbageRatio() float64 {
if m != nil {
return m.GarbageRatio
}
return 0
}
type VacuumVolumeCompactRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
Preallocate int64 `protobuf:"varint,2,opt,name=preallocate" json:"preallocate,omitempty"`
}
func (m *VacuumVolumeCompactRequest) Reset() { *m = VacuumVolumeCompactRequest{} }
func (m *VacuumVolumeCompactRequest) String() string { return proto.CompactTextString(m) }
func (*VacuumVolumeCompactRequest) ProtoMessage() {}
func (*VacuumVolumeCompactRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (m *VacuumVolumeCompactRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
func (m *VacuumVolumeCompactRequest) GetPreallocate() int64 {
if m != nil {
return m.Preallocate
}
return 0
}
type VacuumVolumeCompactResponse struct {
}
func (m *VacuumVolumeCompactResponse) Reset() { *m = VacuumVolumeCompactResponse{} }
func (m *VacuumVolumeCompactResponse) String() string { return proto.CompactTextString(m) }
func (*VacuumVolumeCompactResponse) ProtoMessage() {}
func (*VacuumVolumeCompactResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
type VacuumVolumeCommitRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
}
func (m *VacuumVolumeCommitRequest) Reset() { *m = VacuumVolumeCommitRequest{} }
func (m *VacuumVolumeCommitRequest) String() string { return proto.CompactTextString(m) }
func (*VacuumVolumeCommitRequest) ProtoMessage() {}
func (*VacuumVolumeCommitRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
func (m *VacuumVolumeCommitRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
type VacuumVolumeCommitResponse struct {
}
func (m *VacuumVolumeCommitResponse) Reset() { *m = VacuumVolumeCommitResponse{} }
func (m *VacuumVolumeCommitResponse) String() string { return proto.CompactTextString(m) }
func (*VacuumVolumeCommitResponse) ProtoMessage() {}
func (*VacuumVolumeCommitResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
type VacuumVolumeCleanupRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
}
func (m *VacuumVolumeCleanupRequest) Reset() { *m = VacuumVolumeCleanupRequest{} }
func (m *VacuumVolumeCleanupRequest) String() string { return proto.CompactTextString(m) }
func (*VacuumVolumeCleanupRequest) ProtoMessage() {}
func (*VacuumVolumeCleanupRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (m *VacuumVolumeCleanupRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
type VacuumVolumeCleanupResponse struct {
}
func (m *VacuumVolumeCleanupResponse) Reset() { *m = VacuumVolumeCleanupResponse{} }
func (m *VacuumVolumeCleanupResponse) String() string { return proto.CompactTextString(m) }
func (*VacuumVolumeCleanupResponse) ProtoMessage() {}
func (*VacuumVolumeCleanupResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
type DeleteCollectionRequest struct {
Collection string `protobuf:"bytes,1,opt,name=collection" json:"collection,omitempty"`
}
func (m *DeleteCollectionRequest) Reset() { *m = DeleteCollectionRequest{} }
func (m *DeleteCollectionRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteCollectionRequest) ProtoMessage() {}
func (*DeleteCollectionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
func (m *DeleteCollectionRequest) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
type DeleteCollectionResponse struct {
}
func (m *DeleteCollectionResponse) Reset() { *m = DeleteCollectionResponse{} }
func (m *DeleteCollectionResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteCollectionResponse) ProtoMessage() {}
func (*DeleteCollectionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
type AllocateVolumeRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
Preallocate int64 `protobuf:"varint,3,opt,name=preallocate" json:"preallocate,omitempty"`
Replication string `protobuf:"bytes,4,opt,name=replication" json:"replication,omitempty"`
Ttl string `protobuf:"bytes,5,opt,name=ttl" json:"ttl,omitempty"`
}
func (m *AllocateVolumeRequest) Reset() { *m = AllocateVolumeRequest{} }
func (m *AllocateVolumeRequest) String() string { return proto.CompactTextString(m) }
func (*AllocateVolumeRequest) ProtoMessage() {}
func (*AllocateVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
func (m *AllocateVolumeRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
func (m *AllocateVolumeRequest) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
func (m *AllocateVolumeRequest) GetPreallocate() int64 {
if m != nil {
return m.Preallocate
}
return 0
}
func (m *AllocateVolumeRequest) GetReplication() string {
if m != nil {
return m.Replication
}
return ""
}
func (m *AllocateVolumeRequest) GetTtl() string {
if m != nil {
return m.Ttl
}
return ""
}
type AllocateVolumeResponse struct {
}
func (m *AllocateVolumeResponse) Reset() { *m = AllocateVolumeResponse{} }
func (m *AllocateVolumeResponse) String() string { return proto.CompactTextString(m) }
func (*AllocateVolumeResponse) ProtoMessage() {}
func (*AllocateVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
type VolumeSyncStatusRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
}
func (m *VolumeSyncStatusRequest) Reset() { *m = VolumeSyncStatusRequest{} }
func (m *VolumeSyncStatusRequest) String() string { return proto.CompactTextString(m) }
func (*VolumeSyncStatusRequest) ProtoMessage() {}
func (*VolumeSyncStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
func (m *VolumeSyncStatusRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
type VolumeSyncStatusResponse struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
Replication string `protobuf:"bytes,4,opt,name=replication" json:"replication,omitempty"`
Ttl string `protobuf:"bytes,5,opt,name=ttl" json:"ttl,omitempty"`
TailOffset uint64 `protobuf:"varint,6,opt,name=tail_offset,json=tailOffset" json:"tail_offset,omitempty"`
CompactRevision uint32 `protobuf:"varint,7,opt,name=compact_revision,json=compactRevision" json:"compact_revision,omitempty"`
IdxFileSize uint64 `protobuf:"varint,8,opt,name=idx_file_size,json=idxFileSize" json:"idx_file_size,omitempty"`
}
func (m *VolumeSyncStatusResponse) Reset() { *m = VolumeSyncStatusResponse{} }
func (m *VolumeSyncStatusResponse) String() string { return proto.CompactTextString(m) }
func (*VolumeSyncStatusResponse) ProtoMessage() {}
func (*VolumeSyncStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
func (m *VolumeSyncStatusResponse) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
func (m *VolumeSyncStatusResponse) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
func (m *VolumeSyncStatusResponse) GetReplication() string {
if m != nil {
return m.Replication
}
return ""
}
func (m *VolumeSyncStatusResponse) GetTtl() string {
if m != nil {
return m.Ttl
}
return ""
}
func (m *VolumeSyncStatusResponse) GetTailOffset() uint64 {
if m != nil {
return m.TailOffset
}
return 0
}
func (m *VolumeSyncStatusResponse) GetCompactRevision() uint32 {
if m != nil {
return m.CompactRevision
}
return 0
}
func (m *VolumeSyncStatusResponse) GetIdxFileSize() uint64 {
if m != nil {
return m.IdxFileSize
}
return 0
}
type VolumeIncrementalCopyRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
SinceNs uint64 `protobuf:"varint,2,opt,name=since_ns,json=sinceNs" json:"since_ns,omitempty"`
}
func (m *VolumeIncrementalCopyRequest) Reset() { *m = VolumeIncrementalCopyRequest{} }
func (m *VolumeIncrementalCopyRequest) String() string { return proto.CompactTextString(m) }
func (*VolumeIncrementalCopyRequest) ProtoMessage() {}
func (*VolumeIncrementalCopyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
func (m *VolumeIncrementalCopyRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
func (m *VolumeIncrementalCopyRequest) GetSinceNs() uint64 {
if m != nil {
return m.SinceNs
}
return 0
}
type VolumeIncrementalCopyResponse struct {
FileContent []byte `protobuf:"bytes,1,opt,name=file_content,json=fileContent,proto3" json:"file_content,omitempty"`
}
func (m *VolumeIncrementalCopyResponse) Reset() { *m = VolumeIncrementalCopyResponse{} }
func (m *VolumeIncrementalCopyResponse) String() string { return proto.CompactTextString(m) }
func (*VolumeIncrementalCopyResponse) ProtoMessage() {}
func (*VolumeIncrementalCopyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
func (m *VolumeIncrementalCopyResponse) GetFileContent() []byte {
if m != nil {
return m.FileContent
}
return nil
}
type VolumeMountRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
}
func (m *VolumeMountRequest) Reset() { *m = VolumeMountRequest{} }
func (m *VolumeMountRequest) String() string { return proto.CompactTextString(m) }
func (*VolumeMountRequest) ProtoMessage() {}
func (*VolumeMountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
func (m *VolumeMountRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
type VolumeMountResponse struct {
}
func (m *VolumeMountResponse) Reset() { *m = VolumeMountResponse{} }
func (m *VolumeMountResponse) String() string { return proto.CompactTextString(m) }
func (*VolumeMountResponse) ProtoMessage() {}
func (*VolumeMountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
type VolumeUnmountRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
}
func (m *VolumeUnmountRequest) Reset() { *m = VolumeUnmountRequest{} }
func (m *VolumeUnmountRequest) String() string { return proto.CompactTextString(m) }
func (*VolumeUnmountRequest) ProtoMessage() {}
func (*VolumeUnmountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
func (m *VolumeUnmountRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
type VolumeUnmountResponse struct {
}
func (m *VolumeUnmountResponse) Reset() { *m = VolumeUnmountResponse{} }
func (m *VolumeUnmountResponse) String() string { return proto.CompactTextString(m) }
func (*VolumeUnmountResponse) ProtoMessage() {}
func (*VolumeUnmountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
type VolumeDeleteRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
}
func (m *VolumeDeleteRequest) Reset() { *m = VolumeDeleteRequest{} }
func (m *VolumeDeleteRequest) String() string { return proto.CompactTextString(m) }
func (*VolumeDeleteRequest) ProtoMessage() {}
func (*VolumeDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
func (m *VolumeDeleteRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
type VolumeDeleteResponse struct {
}
func (m *VolumeDeleteResponse) Reset() { *m = VolumeDeleteResponse{} }
func (m *VolumeDeleteResponse) String() string { return proto.CompactTextString(m) }
func (*VolumeDeleteResponse) ProtoMessage() {}
func (*VolumeDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
type VolumeCopyRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
Replication string `protobuf:"bytes,3,opt,name=replication" json:"replication,omitempty"`
Ttl string `protobuf:"bytes,4,opt,name=ttl" json:"ttl,omitempty"`
SourceDataNode string `protobuf:"bytes,5,opt,name=source_data_node,json=sourceDataNode" json:"source_data_node,omitempty"`
}
func (m *VolumeCopyRequest) Reset() { *m = VolumeCopyRequest{} }
func (m *VolumeCopyRequest) String() string { return proto.CompactTextString(m) }
func (*VolumeCopyRequest) ProtoMessage() {}
func (*VolumeCopyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
func (m *VolumeCopyRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
func (m *VolumeCopyRequest) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
func (m *VolumeCopyRequest) GetReplication() string {
if m != nil {
return m.Replication
}
return ""
}
func (m *VolumeCopyRequest) GetTtl() string {
if m != nil {
return m.Ttl
}
return ""
}
func (m *VolumeCopyRequest) GetSourceDataNode() string {
if m != nil {
return m.SourceDataNode
}
return ""
}
type VolumeCopyResponse struct {
LastAppendAtNs uint64 `protobuf:"varint,1,opt,name=last_append_at_ns,json=lastAppendAtNs" json:"last_append_at_ns,omitempty"`
}
func (m *VolumeCopyResponse) Reset() { *m = VolumeCopyResponse{} }
func (m *VolumeCopyResponse) String() string { return proto.CompactTextString(m) }
func (*VolumeCopyResponse) ProtoMessage() {}
func (*VolumeCopyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
func (m *VolumeCopyResponse) GetLastAppendAtNs() uint64 {
if m != nil {
return m.LastAppendAtNs
}
return 0
}
type CopyFileRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
IsIdxFile bool `protobuf:"varint,2,opt,name=is_idx_file,json=isIdxFile" json:"is_idx_file,omitempty"`
IsDatFile bool `protobuf:"varint,3,opt,name=is_dat_file,json=isDatFile" json:"is_dat_file,omitempty"`
CompactionRevision uint32 `protobuf:"varint,4,opt,name=compaction_revision,json=compactionRevision" json:"compaction_revision,omitempty"`
StopOffset uint64 `protobuf:"varint,5,opt,name=stop_offset,json=stopOffset" json:"stop_offset,omitempty"`
}
func (m *CopyFileRequest) Reset() { *m = CopyFileRequest{} }
func (m *CopyFileRequest) String() string { return proto.CompactTextString(m) }
func (*CopyFileRequest) ProtoMessage() {}
func (*CopyFileRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
func (m *CopyFileRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
func (m *CopyFileRequest) GetIsIdxFile() bool {
if m != nil {
return m.IsIdxFile
}
return false
}
func (m *CopyFileRequest) GetIsDatFile() bool {
if m != nil {
return m.IsDatFile
}
return false
}
func (m *CopyFileRequest) GetCompactionRevision() uint32 {
if m != nil {
return m.CompactionRevision
}
return 0
}
func (m *CopyFileRequest) GetStopOffset() uint64 {
if m != nil {
return m.StopOffset
}
return 0
}
type CopyFileResponse struct {
FileContent []byte `protobuf:"bytes,1,opt,name=file_content,json=fileContent,proto3" json:"file_content,omitempty"`
}
func (m *CopyFileResponse) Reset() { *m = CopyFileResponse{} }
func (m *CopyFileResponse) String() string { return proto.CompactTextString(m) }
func (*CopyFileResponse) ProtoMessage() {}
func (*CopyFileResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
func (m *CopyFileResponse) GetFileContent() []byte {
if m != nil {
return m.FileContent
}
return nil
}
type VolumeTailSenderRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
SinceNs uint64 `protobuf:"varint,2,opt,name=since_ns,json=sinceNs" json:"since_ns,omitempty"`
DrainingSeconds uint32 `protobuf:"varint,3,opt,name=drainingSeconds" json:"drainingSeconds,omitempty"`
}
func (m *VolumeTailSenderRequest) Reset() { *m = VolumeTailSenderRequest{} }
func (m *VolumeTailSenderRequest) String() string { return proto.CompactTextString(m) }
func (*VolumeTailSenderRequest) ProtoMessage() {}
func (*VolumeTailSenderRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
func (m *VolumeTailSenderRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
func (m *VolumeTailSenderRequest) GetSinceNs() uint64 {
if m != nil {
return m.SinceNs
}
return 0
}
func (m *VolumeTailSenderRequest) GetDrainingSeconds() uint32 {
if m != nil {
return m.DrainingSeconds
}
return 0
}
type VolumeTailSenderResponse struct {
NeedleHeader []byte `protobuf:"bytes,1,opt,name=needle_header,json=needleHeader,proto3" json:"needle_header,omitempty"`
NeedleBody []byte `protobuf:"bytes,2,opt,name=needle_body,json=needleBody,proto3" json:"needle_body,omitempty"`
IsLastChunk bool `protobuf:"varint,3,opt,name=is_last_chunk,json=isLastChunk" json:"is_last_chunk,omitempty"`
}
func (m *VolumeTailSenderResponse) Reset() { *m = VolumeTailSenderResponse{} }
func (m *VolumeTailSenderResponse) String() string { return proto.CompactTextString(m) }
func (*VolumeTailSenderResponse) ProtoMessage() {}
func (*VolumeTailSenderResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
func (m *VolumeTailSenderResponse) GetNeedleHeader() []byte {
if m != nil {
return m.NeedleHeader
}
return nil
}
func (m *VolumeTailSenderResponse) GetNeedleBody() []byte {
if m != nil {
return m.NeedleBody
}
return nil
}
func (m *VolumeTailSenderResponse) GetIsLastChunk() bool {
if m != nil {
return m.IsLastChunk
}
return false
}
type VolumeTailReceiverRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
SinceNs uint64 `protobuf:"varint,2,opt,name=since_ns,json=sinceNs" json:"since_ns,omitempty"`
DrainingSeconds uint32 `protobuf:"varint,3,opt,name=drainingSeconds" json:"drainingSeconds,omitempty"`
SourceVolumeServer string `protobuf:"bytes,4,opt,name=source_volume_server,json=sourceVolumeServer" json:"source_volume_server,omitempty"`
}
func (m *VolumeTailReceiverRequest) Reset() { *m = VolumeTailReceiverRequest{} }
func (m *VolumeTailReceiverRequest) String() string { return proto.CompactTextString(m) }
func (*VolumeTailReceiverRequest) ProtoMessage() {}
func (*VolumeTailReceiverRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
func (m *VolumeTailReceiverRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
func (m *VolumeTailReceiverRequest) GetSinceNs() uint64 {
if m != nil {
return m.SinceNs
}
return 0
}
func (m *VolumeTailReceiverRequest) GetDrainingSeconds() uint32 {
if m != nil {
return m.DrainingSeconds
}
return 0
}
func (m *VolumeTailReceiverRequest) GetSourceVolumeServer() string {
if m != nil {
return m.SourceVolumeServer
}
return ""
}
type VolumeTailReceiverResponse struct {
}
func (m *VolumeTailReceiverResponse) Reset() { *m = VolumeTailReceiverResponse{} }
func (m *VolumeTailReceiverResponse) String() string { return proto.CompactTextString(m) }
func (*VolumeTailReceiverResponse) ProtoMessage() {}
func (*VolumeTailReceiverResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
type ReadVolumeFileStatusRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
}
func (m *ReadVolumeFileStatusRequest) Reset() { *m = ReadVolumeFileStatusRequest{} }
func (m *ReadVolumeFileStatusRequest) String() string { return proto.CompactTextString(m) }
func (*ReadVolumeFileStatusRequest) ProtoMessage() {}
func (*ReadVolumeFileStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
func (m *ReadVolumeFileStatusRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
type ReadVolumeFileStatusResponse struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
IdxFileTimestampSeconds uint64 `protobuf:"varint,2,opt,name=idx_file_timestamp_seconds,json=idxFileTimestampSeconds" json:"idx_file_timestamp_seconds,omitempty"`
IdxFileSize uint64 `protobuf:"varint,3,opt,name=idx_file_size,json=idxFileSize" json:"idx_file_size,omitempty"`
DatFileTimestampSeconds uint64 `protobuf:"varint,4,opt,name=dat_file_timestamp_seconds,json=datFileTimestampSeconds" json:"dat_file_timestamp_seconds,omitempty"`
DatFileSize uint64 `protobuf:"varint,5,opt,name=dat_file_size,json=datFileSize" json:"dat_file_size,omitempty"`
FileCount uint64 `protobuf:"varint,6,opt,name=file_count,json=fileCount" json:"file_count,omitempty"`
CompactionRevision uint32 `protobuf:"varint,7,opt,name=compaction_revision,json=compactionRevision" json:"compaction_revision,omitempty"`
Collection string `protobuf:"bytes,8,opt,name=collection" json:"collection,omitempty"`
}
func (m *ReadVolumeFileStatusResponse) Reset() { *m = ReadVolumeFileStatusResponse{} }
func (m *ReadVolumeFileStatusResponse) String() string { return proto.CompactTextString(m) }
func (*ReadVolumeFileStatusResponse) ProtoMessage() {}
func (*ReadVolumeFileStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
func (m *ReadVolumeFileStatusResponse) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
func (m *ReadVolumeFileStatusResponse) GetIdxFileTimestampSeconds() uint64 {
if m != nil {
return m.IdxFileTimestampSeconds
}
return 0
}
func (m *ReadVolumeFileStatusResponse) GetIdxFileSize() uint64 {
if m != nil {
return m.IdxFileSize
}
return 0
}
func (m *ReadVolumeFileStatusResponse) GetDatFileTimestampSeconds() uint64 {
if m != nil {
return m.DatFileTimestampSeconds
}
return 0
}
func (m *ReadVolumeFileStatusResponse) GetDatFileSize() uint64 {
if m != nil {
return m.DatFileSize
}
return 0
}
func (m *ReadVolumeFileStatusResponse) GetFileCount() uint64 {
if m != nil {
return m.FileCount
}
return 0
}
func (m *ReadVolumeFileStatusResponse) GetCompactionRevision() uint32 {
if m != nil {
return m.CompactionRevision
}
return 0
}
func (m *ReadVolumeFileStatusResponse) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
type DiskStatus struct {
Dir string `protobuf:"bytes,1,opt,name=dir" json:"dir,omitempty"`
All uint64 `protobuf:"varint,2,opt,name=all" json:"all,omitempty"`
Used uint64 `protobuf:"varint,3,opt,name=used" json:"used,omitempty"`
Free uint64 `protobuf:"varint,4,opt,name=free" json:"free,omitempty"`
}
func (m *DiskStatus) Reset() { *m = DiskStatus{} }
func (m *DiskStatus) String() string { return proto.CompactTextString(m) }
func (*DiskStatus) ProtoMessage() {}
func (*DiskStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
func (m *DiskStatus) GetDir() string {
if m != nil {
return m.Dir
}
return ""
}
func (m *DiskStatus) GetAll() uint64 {
if m != nil {
return m.All
}
return 0
}
func (m *DiskStatus) GetUsed() uint64 {
if m != nil {
return m.Used
}
return 0
}
func (m *DiskStatus) GetFree() uint64 {
if m != nil {
return m.Free
}
return 0
}
type MemStatus struct {
Goroutines int32 `protobuf:"varint,1,opt,name=goroutines" json:"goroutines,omitempty"`
All uint64 `protobuf:"varint,2,opt,name=all" json:"all,omitempty"`
Used uint64 `protobuf:"varint,3,opt,name=used" json:"used,omitempty"`
Free uint64 `protobuf:"varint,4,opt,name=free" json:"free,omitempty"`
Self uint64 `protobuf:"varint,5,opt,name=self" json:"self,omitempty"`
Heap uint64 `protobuf:"varint,6,opt,name=heap" json:"heap,omitempty"`
Stack uint64 `protobuf:"varint,7,opt,name=stack" json:"stack,omitempty"`
}
func (m *MemStatus) Reset() { *m = MemStatus{} }
func (m *MemStatus) String() string { return proto.CompactTextString(m) }
func (*MemStatus) ProtoMessage() {}
func (*MemStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
func (m *MemStatus) GetGoroutines() int32 {
if m != nil {
return m.Goroutines
}
return 0
}
func (m *MemStatus) GetAll() uint64 {
if m != nil {
return m.All
}
return 0
}
func (m *MemStatus) GetUsed() uint64 {
if m != nil {
return m.Used
}
return 0
}
func (m *MemStatus) GetFree() uint64 {
if m != nil {
return m.Free
}
return 0
}
func (m *MemStatus) GetSelf() uint64 {
if m != nil {
return m.Self
}
return 0
}
func (m *MemStatus) GetHeap() uint64 {
if m != nil {
return m.Heap
}
return 0
}
func (m *MemStatus) GetStack() uint64 {
if m != nil {
return m.Stack
}
return 0
}
func init() {
proto.RegisterType((*BatchDeleteRequest)(nil), "volume_server_pb.BatchDeleteRequest")
proto.RegisterType((*BatchDeleteResponse)(nil), "volume_server_pb.BatchDeleteResponse")
proto.RegisterType((*DeleteResult)(nil), "volume_server_pb.DeleteResult")
proto.RegisterType((*Empty)(nil), "volume_server_pb.Empty")
proto.RegisterType((*VacuumVolumeCheckRequest)(nil), "volume_server_pb.VacuumVolumeCheckRequest")
proto.RegisterType((*VacuumVolumeCheckResponse)(nil), "volume_server_pb.VacuumVolumeCheckResponse")
proto.RegisterType((*VacuumVolumeCompactRequest)(nil), "volume_server_pb.VacuumVolumeCompactRequest")
proto.RegisterType((*VacuumVolumeCompactResponse)(nil), "volume_server_pb.VacuumVolumeCompactResponse")
proto.RegisterType((*VacuumVolumeCommitRequest)(nil), "volume_server_pb.VacuumVolumeCommitRequest")
proto.RegisterType((*VacuumVolumeCommitResponse)(nil), "volume_server_pb.VacuumVolumeCommitResponse")
proto.RegisterType((*VacuumVolumeCleanupRequest)(nil), "volume_server_pb.VacuumVolumeCleanupRequest")
proto.RegisterType((*VacuumVolumeCleanupResponse)(nil), "volume_server_pb.VacuumVolumeCleanupResponse")
proto.RegisterType((*DeleteCollectionRequest)(nil), "volume_server_pb.DeleteCollectionRequest")
proto.RegisterType((*DeleteCollectionResponse)(nil), "volume_server_pb.DeleteCollectionResponse")
proto.RegisterType((*AllocateVolumeRequest)(nil), "volume_server_pb.AllocateVolumeRequest")
proto.RegisterType((*AllocateVolumeResponse)(nil), "volume_server_pb.AllocateVolumeResponse")
proto.RegisterType((*VolumeSyncStatusRequest)(nil), "volume_server_pb.VolumeSyncStatusRequest")
proto.RegisterType((*VolumeSyncStatusResponse)(nil), "volume_server_pb.VolumeSyncStatusResponse")
proto.RegisterType((*VolumeIncrementalCopyRequest)(nil), "volume_server_pb.VolumeIncrementalCopyRequest")
proto.RegisterType((*VolumeIncrementalCopyResponse)(nil), "volume_server_pb.VolumeIncrementalCopyResponse")
proto.RegisterType((*VolumeMountRequest)(nil), "volume_server_pb.VolumeMountRequest")
proto.RegisterType((*VolumeMountResponse)(nil), "volume_server_pb.VolumeMountResponse")
proto.RegisterType((*VolumeUnmountRequest)(nil), "volume_server_pb.VolumeUnmountRequest")
proto.RegisterType((*VolumeUnmountResponse)(nil), "volume_server_pb.VolumeUnmountResponse")
proto.RegisterType((*VolumeDeleteRequest)(nil), "volume_server_pb.VolumeDeleteRequest")
proto.RegisterType((*VolumeDeleteResponse)(nil), "volume_server_pb.VolumeDeleteResponse")
proto.RegisterType((*VolumeCopyRequest)(nil), "volume_server_pb.VolumeCopyRequest")
proto.RegisterType((*VolumeCopyResponse)(nil), "volume_server_pb.VolumeCopyResponse")
proto.RegisterType((*CopyFileRequest)(nil), "volume_server_pb.CopyFileRequest")
proto.RegisterType((*CopyFileResponse)(nil), "volume_server_pb.CopyFileResponse")
proto.RegisterType((*VolumeTailSenderRequest)(nil), "volume_server_pb.VolumeTailSenderRequest")
proto.RegisterType((*VolumeTailSenderResponse)(nil), "volume_server_pb.VolumeTailSenderResponse")
proto.RegisterType((*VolumeTailReceiverRequest)(nil), "volume_server_pb.VolumeTailReceiverRequest")
proto.RegisterType((*VolumeTailReceiverResponse)(nil), "volume_server_pb.VolumeTailReceiverResponse")
proto.RegisterType((*ReadVolumeFileStatusRequest)(nil), "volume_server_pb.ReadVolumeFileStatusRequest")
proto.RegisterType((*ReadVolumeFileStatusResponse)(nil), "volume_server_pb.ReadVolumeFileStatusResponse")
proto.RegisterType((*DiskStatus)(nil), "volume_server_pb.DiskStatus")
proto.RegisterType((*MemStatus)(nil), "volume_server_pb.MemStatus")
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// Client API for VolumeServer service
type VolumeServerClient interface {
// Experts only: takes multiple fid parameters. This function does not propagate deletes to replicas.
BatchDelete(ctx context.Context, in *BatchDeleteRequest, opts ...grpc.CallOption) (*BatchDeleteResponse, error)
VacuumVolumeCheck(ctx context.Context, in *VacuumVolumeCheckRequest, opts ...grpc.CallOption) (*VacuumVolumeCheckResponse, error)
VacuumVolumeCompact(ctx context.Context, in *VacuumVolumeCompactRequest, opts ...grpc.CallOption) (*VacuumVolumeCompactResponse, error)
VacuumVolumeCommit(ctx context.Context, in *VacuumVolumeCommitRequest, opts ...grpc.CallOption) (*VacuumVolumeCommitResponse, error)
VacuumVolumeCleanup(ctx context.Context, in *VacuumVolumeCleanupRequest, opts ...grpc.CallOption) (*VacuumVolumeCleanupResponse, error)
DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error)
AllocateVolume(ctx context.Context, in *AllocateVolumeRequest, opts ...grpc.CallOption) (*AllocateVolumeResponse, error)
VolumeSyncStatus(ctx context.Context, in *VolumeSyncStatusRequest, opts ...grpc.CallOption) (*VolumeSyncStatusResponse, error)
VolumeIncrementalCopy(ctx context.Context, in *VolumeIncrementalCopyRequest, opts ...grpc.CallOption) (VolumeServer_VolumeIncrementalCopyClient, error)
VolumeMount(ctx context.Context, in *VolumeMountRequest, opts ...grpc.CallOption) (*VolumeMountResponse, error)
VolumeUnmount(ctx context.Context, in *VolumeUnmountRequest, opts ...grpc.CallOption) (*VolumeUnmountResponse, error)
VolumeDelete(ctx context.Context, in *VolumeDeleteRequest, opts ...grpc.CallOption) (*VolumeDeleteResponse, error)
// copy the .idx .dat files, and mount this volume
VolumeCopy(ctx context.Context, in *VolumeCopyRequest, opts ...grpc.CallOption) (*VolumeCopyResponse, error)
ReadVolumeFileStatus(ctx context.Context, in *ReadVolumeFileStatusRequest, opts ...grpc.CallOption) (*ReadVolumeFileStatusResponse, error)
CopyFile(ctx context.Context, in *CopyFileRequest, opts ...grpc.CallOption) (VolumeServer_CopyFileClient, error)
VolumeTailSender(ctx context.Context, in *VolumeTailSenderRequest, opts ...grpc.CallOption) (VolumeServer_VolumeTailSenderClient, error)
VolumeTailReceiver(ctx context.Context, in *VolumeTailReceiverRequest, opts ...grpc.CallOption) (*VolumeTailReceiverResponse, error)
}
type volumeServerClient struct {
cc *grpc.ClientConn
}
func NewVolumeServerClient(cc *grpc.ClientConn) VolumeServerClient {
return &volumeServerClient{cc}
}
func (c *volumeServerClient) BatchDelete(ctx context.Context, in *BatchDeleteRequest, opts ...grpc.CallOption) (*BatchDeleteResponse, error) {
out := new(BatchDeleteResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/BatchDelete", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) VacuumVolumeCheck(ctx context.Context, in *VacuumVolumeCheckRequest, opts ...grpc.CallOption) (*VacuumVolumeCheckResponse, error) {
out := new(VacuumVolumeCheckResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCheck", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) VacuumVolumeCompact(ctx context.Context, in *VacuumVolumeCompactRequest, opts ...grpc.CallOption) (*VacuumVolumeCompactResponse, error) {
out := new(VacuumVolumeCompactResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCompact", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) VacuumVolumeCommit(ctx context.Context, in *VacuumVolumeCommitRequest, opts ...grpc.CallOption) (*VacuumVolumeCommitResponse, error) {
out := new(VacuumVolumeCommitResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCommit", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) VacuumVolumeCleanup(ctx context.Context, in *VacuumVolumeCleanupRequest, opts ...grpc.CallOption) (*VacuumVolumeCleanupResponse, error) {
out := new(VacuumVolumeCleanupResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VacuumVolumeCleanup", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error) {
out := new(DeleteCollectionResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/DeleteCollection", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) AllocateVolume(ctx context.Context, in *AllocateVolumeRequest, opts ...grpc.CallOption) (*AllocateVolumeResponse, error) {
out := new(AllocateVolumeResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/AllocateVolume", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) VolumeSyncStatus(ctx context.Context, in *VolumeSyncStatusRequest, opts ...grpc.CallOption) (*VolumeSyncStatusResponse, error) {
out := new(VolumeSyncStatusResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeSyncStatus", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) VolumeIncrementalCopy(ctx context.Context, in *VolumeIncrementalCopyRequest, opts ...grpc.CallOption) (VolumeServer_VolumeIncrementalCopyClient, error) {
stream, err := grpc.NewClientStream(ctx, &_VolumeServer_serviceDesc.Streams[0], c.cc, "/volume_server_pb.VolumeServer/VolumeIncrementalCopy", opts...)
if err != nil {
return nil, err
}
x := &volumeServerVolumeIncrementalCopyClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type VolumeServer_VolumeIncrementalCopyClient interface {
Recv() (*VolumeIncrementalCopyResponse, error)
grpc.ClientStream
}
type volumeServerVolumeIncrementalCopyClient struct {
grpc.ClientStream
}
func (x *volumeServerVolumeIncrementalCopyClient) Recv() (*VolumeIncrementalCopyResponse, error) {
m := new(VolumeIncrementalCopyResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *volumeServerClient) VolumeMount(ctx context.Context, in *VolumeMountRequest, opts ...grpc.CallOption) (*VolumeMountResponse, error) {
out := new(VolumeMountResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeMount", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) VolumeUnmount(ctx context.Context, in *VolumeUnmountRequest, opts ...grpc.CallOption) (*VolumeUnmountResponse, error) {
out := new(VolumeUnmountResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeUnmount", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) VolumeDelete(ctx context.Context, in *VolumeDeleteRequest, opts ...grpc.CallOption) (*VolumeDeleteResponse, error) {
out := new(VolumeDeleteResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeDelete", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) VolumeCopy(ctx context.Context, in *VolumeCopyRequest, opts ...grpc.CallOption) (*VolumeCopyResponse, error) {
out := new(VolumeCopyResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeCopy", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) ReadVolumeFileStatus(ctx context.Context, in *ReadVolumeFileStatusRequest, opts ...grpc.CallOption) (*ReadVolumeFileStatusResponse, error) {
out := new(ReadVolumeFileStatusResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/ReadVolumeFileStatus", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *volumeServerClient) CopyFile(ctx context.Context, in *CopyFileRequest, opts ...grpc.CallOption) (VolumeServer_CopyFileClient, error) {
stream, err := grpc.NewClientStream(ctx, &_VolumeServer_serviceDesc.Streams[1], c.cc, "/volume_server_pb.VolumeServer/CopyFile", opts...)
if err != nil {
return nil, err
}
x := &volumeServerCopyFileClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type VolumeServer_CopyFileClient interface {
Recv() (*CopyFileResponse, error)
grpc.ClientStream
}
type volumeServerCopyFileClient struct {
grpc.ClientStream
}
func (x *volumeServerCopyFileClient) Recv() (*CopyFileResponse, error) {
m := new(CopyFileResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *volumeServerClient) VolumeTailSender(ctx context.Context, in *VolumeTailSenderRequest, opts ...grpc.CallOption) (VolumeServer_VolumeTailSenderClient, error) {
stream, err := grpc.NewClientStream(ctx, &_VolumeServer_serviceDesc.Streams[2], c.cc, "/volume_server_pb.VolumeServer/VolumeTailSender", opts...)
if err != nil {
return nil, err
}
x := &volumeServerVolumeTailSenderClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type VolumeServer_VolumeTailSenderClient interface {
Recv() (*VolumeTailSenderResponse, error)
grpc.ClientStream
}
type volumeServerVolumeTailSenderClient struct {
grpc.ClientStream
}
func (x *volumeServerVolumeTailSenderClient) Recv() (*VolumeTailSenderResponse, error) {
m := new(VolumeTailSenderResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *volumeServerClient) VolumeTailReceiver(ctx context.Context, in *VolumeTailReceiverRequest, opts ...grpc.CallOption) (*VolumeTailReceiverResponse, error) {
out := new(VolumeTailReceiverResponse)
err := grpc.Invoke(ctx, "/volume_server_pb.VolumeServer/VolumeTailReceiver", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for VolumeServer service
type VolumeServerServer interface {
// Experts only: takes multiple fid parameters. This function does not propagate deletes to replicas.
BatchDelete(context.Context, *BatchDeleteRequest) (*BatchDeleteResponse, error)
VacuumVolumeCheck(context.Context, *VacuumVolumeCheckRequest) (*VacuumVolumeCheckResponse, error)
VacuumVolumeCompact(context.Context, *VacuumVolumeCompactRequest) (*VacuumVolumeCompactResponse, error)
VacuumVolumeCommit(context.Context, *VacuumVolumeCommitRequest) (*VacuumVolumeCommitResponse, error)
VacuumVolumeCleanup(context.Context, *VacuumVolumeCleanupRequest) (*VacuumVolumeCleanupResponse, error)
DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error)
AllocateVolume(context.Context, *AllocateVolumeRequest) (*AllocateVolumeResponse, error)
VolumeSyncStatus(context.Context, *VolumeSyncStatusRequest) (*VolumeSyncStatusResponse, error)
VolumeIncrementalCopy(*VolumeIncrementalCopyRequest, VolumeServer_VolumeIncrementalCopyServer) error
VolumeMount(context.Context, *VolumeMountRequest) (*VolumeMountResponse, error)
VolumeUnmount(context.Context, *VolumeUnmountRequest) (*VolumeUnmountResponse, error)
VolumeDelete(context.Context, *VolumeDeleteRequest) (*VolumeDeleteResponse, error)
// copy the .idx .dat files, and mount this volume
VolumeCopy(context.Context, *VolumeCopyRequest) (*VolumeCopyResponse, error)
ReadVolumeFileStatus(context.Context, *ReadVolumeFileStatusRequest) (*ReadVolumeFileStatusResponse, error)
CopyFile(*CopyFileRequest, VolumeServer_CopyFileServer) error
VolumeTailSender(*VolumeTailSenderRequest, VolumeServer_VolumeTailSenderServer) error
VolumeTailReceiver(context.Context, *VolumeTailReceiverRequest) (*VolumeTailReceiverResponse, error)
}
func RegisterVolumeServerServer(s *grpc.Server, srv VolumeServerServer) {
s.RegisterService(&_VolumeServer_serviceDesc, srv)
}
func _VolumeServer_BatchDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(BatchDeleteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).BatchDelete(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/BatchDelete",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).BatchDelete(ctx, req.(*BatchDeleteRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_VacuumVolumeCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VacuumVolumeCheckRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).VacuumVolumeCheck(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCheck",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).VacuumVolumeCheck(ctx, req.(*VacuumVolumeCheckRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_VacuumVolumeCompact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VacuumVolumeCompactRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).VacuumVolumeCompact(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCompact",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).VacuumVolumeCompact(ctx, req.(*VacuumVolumeCompactRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_VacuumVolumeCommit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VacuumVolumeCommitRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).VacuumVolumeCommit(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCommit",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).VacuumVolumeCommit(ctx, req.(*VacuumVolumeCommitRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_VacuumVolumeCleanup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VacuumVolumeCleanupRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).VacuumVolumeCleanup(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/VacuumVolumeCleanup",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).VacuumVolumeCleanup(ctx, req.(*VacuumVolumeCleanupRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_DeleteCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteCollectionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).DeleteCollection(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/DeleteCollection",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).DeleteCollection(ctx, req.(*DeleteCollectionRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_AllocateVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AllocateVolumeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).AllocateVolume(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/AllocateVolume",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).AllocateVolume(ctx, req.(*AllocateVolumeRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_VolumeSyncStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VolumeSyncStatusRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).VolumeSyncStatus(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/VolumeSyncStatus",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).VolumeSyncStatus(ctx, req.(*VolumeSyncStatusRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_VolumeIncrementalCopy_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(VolumeIncrementalCopyRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(VolumeServerServer).VolumeIncrementalCopy(m, &volumeServerVolumeIncrementalCopyServer{stream})
}
type VolumeServer_VolumeIncrementalCopyServer interface {
Send(*VolumeIncrementalCopyResponse) error
grpc.ServerStream
}
type volumeServerVolumeIncrementalCopyServer struct {
grpc.ServerStream
}
func (x *volumeServerVolumeIncrementalCopyServer) Send(m *VolumeIncrementalCopyResponse) error {
return x.ServerStream.SendMsg(m)
}
func _VolumeServer_VolumeMount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VolumeMountRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).VolumeMount(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/VolumeMount",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).VolumeMount(ctx, req.(*VolumeMountRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_VolumeUnmount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VolumeUnmountRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).VolumeUnmount(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/VolumeUnmount",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).VolumeUnmount(ctx, req.(*VolumeUnmountRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_VolumeDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VolumeDeleteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).VolumeDelete(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/VolumeDelete",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).VolumeDelete(ctx, req.(*VolumeDeleteRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_VolumeCopy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VolumeCopyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).VolumeCopy(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/VolumeCopy",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).VolumeCopy(ctx, req.(*VolumeCopyRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_ReadVolumeFileStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ReadVolumeFileStatusRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).ReadVolumeFileStatus(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/ReadVolumeFileStatus",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).ReadVolumeFileStatus(ctx, req.(*ReadVolumeFileStatusRequest))
}
return interceptor(ctx, in, info, handler)
}
func _VolumeServer_CopyFile_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(CopyFileRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(VolumeServerServer).CopyFile(m, &volumeServerCopyFileServer{stream})
}
type VolumeServer_CopyFileServer interface {
Send(*CopyFileResponse) error
grpc.ServerStream
}
type volumeServerCopyFileServer struct {
grpc.ServerStream
}
func (x *volumeServerCopyFileServer) Send(m *CopyFileResponse) error {
return x.ServerStream.SendMsg(m)
}
func _VolumeServer_VolumeTailSender_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(VolumeTailSenderRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(VolumeServerServer).VolumeTailSender(m, &volumeServerVolumeTailSenderServer{stream})
}
type VolumeServer_VolumeTailSenderServer interface {
Send(*VolumeTailSenderResponse) error
grpc.ServerStream
}
type volumeServerVolumeTailSenderServer struct {
grpc.ServerStream
}
func (x *volumeServerVolumeTailSenderServer) Send(m *VolumeTailSenderResponse) error {
return x.ServerStream.SendMsg(m)
}
func _VolumeServer_VolumeTailReceiver_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VolumeTailReceiverRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(VolumeServerServer).VolumeTailReceiver(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/volume_server_pb.VolumeServer/VolumeTailReceiver",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(VolumeServerServer).VolumeTailReceiver(ctx, req.(*VolumeTailReceiverRequest))
}
return interceptor(ctx, in, info, handler)
}
var _VolumeServer_serviceDesc = grpc.ServiceDesc{
ServiceName: "volume_server_pb.VolumeServer",
HandlerType: (*VolumeServerServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "BatchDelete",
Handler: _VolumeServer_BatchDelete_Handler,
},
{
MethodName: "VacuumVolumeCheck",
Handler: _VolumeServer_VacuumVolumeCheck_Handler,
},
{
MethodName: "VacuumVolumeCompact",
Handler: _VolumeServer_VacuumVolumeCompact_Handler,
},
{
MethodName: "VacuumVolumeCommit",
Handler: _VolumeServer_VacuumVolumeCommit_Handler,
},
{
MethodName: "VacuumVolumeCleanup",
Handler: _VolumeServer_VacuumVolumeCleanup_Handler,
},
{
MethodName: "DeleteCollection",
Handler: _VolumeServer_DeleteCollection_Handler,
},
{
MethodName: "AllocateVolume",
Handler: _VolumeServer_AllocateVolume_Handler,
},
{
MethodName: "VolumeSyncStatus",
Handler: _VolumeServer_VolumeSyncStatus_Handler,
},
{
MethodName: "VolumeMount",
Handler: _VolumeServer_VolumeMount_Handler,
},
{
MethodName: "VolumeUnmount",
Handler: _VolumeServer_VolumeUnmount_Handler,
},
{
MethodName: "VolumeDelete",
Handler: _VolumeServer_VolumeDelete_Handler,
},
{
MethodName: "VolumeCopy",
Handler: _VolumeServer_VolumeCopy_Handler,
},
{
MethodName: "ReadVolumeFileStatus",
Handler: _VolumeServer_ReadVolumeFileStatus_Handler,
},
{
MethodName: "VolumeTailReceiver",
Handler: _VolumeServer_VolumeTailReceiver_Handler,
},
},
Streams: []grpc.StreamDesc{
{
StreamName: "VolumeIncrementalCopy",
Handler: _VolumeServer_VolumeIncrementalCopy_Handler,
ServerStreams: true,
},
{
StreamName: "CopyFile",
Handler: _VolumeServer_CopyFile_Handler,
ServerStreams: true,
},
{
StreamName: "VolumeTailSender",
Handler: _VolumeServer_VolumeTailSender_Handler,
ServerStreams: true,
},
},
Metadata: "volume_server.proto",
}
func init() { proto.RegisterFile("volume_server.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 1450 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0xdd, 0x6e, 0xdc, 0xc4,
0x17, 0x8f, 0xbb, 0x9b, 0xec, 0xe6, 0xec, 0x26, 0x4d, 0x27, 0x69, 0xb3, 0xd9, 0x7e, 0xa5, 0x6e,
0xff, 0xed, 0xf6, 0xe3, 0x9f, 0x96, 0x56, 0x40, 0x81, 0x0b, 0x68, 0x13, 0x10, 0x91, 0x68, 0x2b,
0x39, 0x6d, 0x05, 0x02, 0xc9, 0x9a, 0xd8, 0x27, 0x89, 0x15, 0xaf, 0xed, 0x78, 0xc6, 0xa1, 0x01,
0x2e, 0x79, 0x13, 0xee, 0x7a, 0x01, 0xaf, 0xc0, 0x0b, 0xf1, 0x04, 0xdc, 0x20, 0xcf, 0x8c, 0xbd,
0xfe, 0xcc, 0xba, 0x54, 0xe2, 0x6e, 0xf6, 0xcc, 0xf9, 0xf6, 0xf9, 0x9d, 0x39, 0x67, 0x61, 0xf9,
0xd8, 0x77, 0xa3, 0x31, 0x9a, 0x0c, 0xc3, 0x63, 0x0c, 0x37, 0x82, 0xd0, 0xe7, 0x3e, 0x59, 0xca,
0x11, 0xcd, 0x60, 0x57, 0xbf, 0x0f, 0xe4, 0x29, 0xe5, 0xd6, 0xc1, 0x16, 0xba, 0xc8, 0xd1, 0xc0,
0xa3, 0x08, 0x19, 0x27, 0x6b, 0xd0, 0xdd, 0x73, 0x5c, 0x34, 0x1d, 0x9b, 0x0d, 0xb4, 0xf5, 0xd6,
0x68, 0xde, 0xe8, 0xc4, 0xbf, 0xb7, 0x6d, 0xa6, 0xbf, 0x80, 0xe5, 0x9c, 0x00, 0x0b, 0x7c, 0x8f,
0x21, 0x79, 0x0c, 0x9d, 0x10, 0x59, 0xe4, 0x72, 0x29, 0xd0, 0x7b, 0x78, 0x65, 0xa3, 0x68, 0x6b,
0x23, 0x15, 0x89, 0x5c, 0x6e, 0x24, 0xec, 0xba, 0x03, 0xfd, 0xec, 0x05, 0x59, 0x85, 0x8e, 0xb2,
0x3d, 0xd0, 0xd6, 0xb5, 0xd1, 0xbc, 0x31, 0x27, 0x4d, 0x93, 0x0b, 0x30, 0xc7, 0x38, 0xe5, 0x11,
0x1b, 0x9c, 0x59, 0xd7, 0x46, 0xb3, 0x86, 0xfa, 0x45, 0x56, 0x60, 0x16, 0xc3, 0xd0, 0x0f, 0x07,
0x2d, 0xc1, 0x2e, 0x7f, 0x10, 0x02, 0x6d, 0xe6, 0xfc, 0x84, 0x83, 0xf6, 0xba, 0x36, 0x5a, 0x30,
0xc4, 0x59, 0xef, 0xc0, 0xec, 0x97, 0xe3, 0x80, 0x9f, 0xe8, 0x1f, 0xc3, 0xe0, 0x35, 0xb5, 0xa2,
0x68, 0xfc, 0x5a, 0xf8, 0xb8, 0x79, 0x80, 0xd6, 0x61, 0x12, 0xfb, 0x45, 0x98, 0x57, 0x9e, 0x2b,
0x0f, 0x16, 0x8c, 0xae, 0x24, 0x6c, 0xdb, 0xfa, 0x17, 0xb0, 0x56, 0x21, 0xa8, 0x72, 0x70, 0x1d,
0x16, 0xf6, 0x69, 0xb8, 0x4b, 0xf7, 0xd1, 0x0c, 0x29, 0x77, 0x7c, 0x21, 0xad, 0x19, 0x7d, 0x45,
0x34, 0x62, 0x9a, 0xfe, 0x3d, 0x0c, 0x73, 0x1a, 0xfc, 0x71, 0x40, 0x2d, 0xde, 0xc4, 0x38, 0x59,
0x87, 0x5e, 0x10, 0x22, 0x75, 0x5d, 0xdf, 0xa2, 0x1c, 0x45, 0x16, 0x5a, 0x46, 0x96, 0xa4, 0x5f,
0x86, 0x8b, 0x95, 0xca, 0xa5, 0x83, 0xfa, 0xe3, 0x82, 0xf7, 0xfe, 0x78, 0xec, 0x34, 0x32, 0xad,
0x5f, 0x2a, 0x79, 0x2d, 0x24, 0x95, 0xde, 0x4f, 0x0a, 0xb7, 0x2e, 0x52, 0x2f, 0x0a, 0x1a, 0x29,
0x2e, 0x7a, 0x9c, 0x88, 0xa6, 0x9a, 0x57, 0x65, 0x71, 0x6c, 0xfa, 0xae, 0x8b, 0x16, 0x77, 0x7c,
0x2f, 0x51, 0x7b, 0x05, 0xc0, 0x4a, 0x89, 0xaa, 0x54, 0x32, 0x14, 0x7d, 0x08, 0x83, 0xb2, 0xa8,
0x52, 0xfb, 0x56, 0x83, 0xf3, 0x4f, 0x54, 0xd2, 0xa4, 0xe1, 0x46, 0x1f, 0x20, 0x6f, 0xf2, 0x4c,
0xd1, 0x64, 0xf1, 0x03, 0xb5, 0x4a, 0x1f, 0x28, 0xe6, 0x08, 0x31, 0x70, 0x1d, 0x8b, 0x0a, 0x15,
0x6d, 0xa1, 0x22, 0x4b, 0x22, 0x4b, 0xd0, 0xe2, 0xdc, 0x1d, 0xcc, 0x8a, 0x9b, 0xf8, 0xa8, 0x0f,
0xe0, 0x42, 0xd1, 0x57, 0x15, 0xc6, 0x47, 0xb0, 0x2a, 0x29, 0x3b, 0x27, 0x9e, 0xb5, 0x23, 0xd0,
0xd0, 0x28, 0xe9, 0x7f, 0x6b, 0x30, 0x28, 0x0b, 0xaa, 0x2a, 0x7e, 0xdf, 0x0c, 0xbc, 0x6b, 0x7c,
0xe4, 0x2a, 0xf4, 0x38, 0x75, 0x5c, 0xd3, 0xdf, 0xdb, 0x63, 0xc8, 0x07, 0x73, 0xeb, 0xda, 0xa8,
0x6d, 0x40, 0x4c, 0x7a, 0x21, 0x28, 0xe4, 0x36, 0x2c, 0x59, 0xb2, 0x92, 0xcd, 0x10, 0x8f, 0x1d,
0x16, 0x6b, 0xee, 0x08, 0xc7, 0xce, 0x5a, 0x49, 0x85, 0x4b, 0x32, 0xd1, 0x61, 0xc1, 0xb1, 0xdf,
0x98, 0xa2, 0x81, 0x08, 0xf8, 0x77, 0x85, 0xb6, 0x9e, 0x63, 0xbf, 0xf9, 0xca, 0x71, 0x71, 0x27,
0xee, 0x02, 0xaf, 0xe1, 0x92, 0x0c, 0x7e, 0xdb, 0xb3, 0x42, 0x1c, 0xa3, 0xc7, 0xa9, 0xbb, 0xe9,
0x07, 0x27, 0x8d, 0x4a, 0x60, 0x0d, 0xba, 0xcc, 0xf1, 0x2c, 0x34, 0x3d, 0xd9, 0x86, 0xda, 0x46,
0x47, 0xfc, 0x7e, 0xce, 0xf4, 0xa7, 0x70, 0xb9, 0x46, 0xaf, 0xca, 0xec, 0x35, 0xe8, 0x0b, 0xc7,
0x2c, 0xdf, 0xe3, 0xe8, 0x71, 0xa1, 0xbb, 0x6f, 0xf4, 0x62, 0xda, 0xa6, 0x24, 0xe9, 0x1f, 0x00,
0x91, 0x3a, 0x9e, 0xf9, 0x91, 0xd7, 0x0c, 0x9a, 0xe7, 0x61, 0x39, 0x27, 0xa2, 0x6a, 0xe3, 0x11,
0xac, 0x48, 0xf2, 0x2b, 0x6f, 0xdc, 0x58, 0xd7, 0x2a, 0x9c, 0x2f, 0x08, 0x29, 0x6d, 0x0f, 0x13,
0x23, 0xf9, 0x77, 0xe2, 0x54, 0x65, 0x17, 0x12, 0x0f, 0xf2, 0x4f, 0x85, 0xfe, 0xbb, 0x06, 0xe7,
0x92, 0x36, 0xd2, 0x30, 0xeb, 0xef, 0x58, 0x76, 0xad, 0xda, 0xb2, 0x6b, 0x4f, 0xca, 0x6e, 0x04,
0x4b, 0xcc, 0x8f, 0x42, 0x0b, 0x4d, 0x9b, 0x72, 0x6a, 0x7a, 0xbe, 0x8d, 0xaa, 0x2a, 0x17, 0x25,
0x7d, 0x8b, 0x72, 0xfa, 0xdc, 0xb7, 0x51, 0xff, 0x3c, 0xf9, 0x28, 0xb9, 0xaf, 0x79, 0x1b, 0xce,
0xb9, 0x94, 0x71, 0x93, 0x06, 0x01, 0x7a, 0xb6, 0x49, 0x79, 0x5c, 0x12, 0x9a, 0x28, 0x89, 0xc5,
0xf8, 0xe2, 0x89, 0xa0, 0x3f, 0xe1, 0xcf, 0x99, 0xfe, 0xa7, 0x06, 0x67, 0x63, 0xd9, 0xb8, 0x04,
0x1b, 0xc6, 0xdb, 0x73, 0x98, 0x99, 0x54, 0xb2, 0x08, 0xb8, 0x6b, 0xcc, 0x3b, 0x6c, 0x5b, 0x96,
0xb1, 0xba, 0xb7, 0x29, 0x97, 0xf7, 0xad, 0xe4, 0x7e, 0x8b, 0x72, 0x71, 0x7f, 0x1f, 0x96, 0x15,
0x32, 0x1c, 0xdf, 0x9b, 0x80, 0x46, 0xbe, 0x85, 0x64, 0x72, 0x95, 0xe2, 0xe6, 0x2a, 0xf4, 0x18,
0xf7, 0x83, 0x04, 0x83, 0xb3, 0x12, 0x83, 0x31, 0x49, 0x62, 0x50, 0xff, 0x10, 0x96, 0x26, 0x11,
0x34, 0xaf, 0xe7, 0x9f, 0x93, 0x0e, 0xf5, 0x92, 0x3a, 0xee, 0x0e, 0x7a, 0x36, 0x86, 0xef, 0x09,
0x33, 0x32, 0x82, 0xb3, 0x76, 0x48, 0x1d, 0xcf, 0xf1, 0xf6, 0x77, 0xd0, 0xf2, 0x3d, 0x9b, 0x89,
0xf8, 0x17, 0x8c, 0x22, 0x59, 0xff, 0x35, 0x6d, 0x73, 0x59, 0xeb, 0x93, 0xc7, 0xda, 0x43, 0xb4,
0x5d, 0x34, 0x0f, 0x90, 0xda, 0x18, 0x2a, 0xef, 0xfb, 0x92, 0xf8, 0xb5, 0xa0, 0xc5, 0x69, 0x51,
0x4c, 0xbb, 0xbe, 0x7d, 0x22, 0x3c, 0xe9, 0x1b, 0x20, 0x49, 0x4f, 0x7d, 0xfb, 0x44, 0xf4, 0x1b,
0x66, 0x8a, 0x3a, 0xb0, 0x0e, 0x22, 0xef, 0x50, 0x7d, 0x8a, 0x9e, 0xc3, 0xbe, 0xa1, 0x8c, 0x6f,
0xc6, 0x24, 0xfd, 0x0f, 0x0d, 0xd6, 0x26, 0x6e, 0x18, 0x68, 0xa1, 0x73, 0xfc, 0x1f, 0xa6, 0x81,
0x3c, 0x80, 0x15, 0x55, 0xe8, 0xb9, 0x89, 0x4c, 0x61, 0x81, 0xc8, 0x3b, 0xf5, 0x1c, 0x88, 0x1b,
0xf1, 0xda, 0x57, 0x38, 0xac, 0xf0, 0xfb, 0x29, 0x5c, 0x34, 0x90, 0xda, 0x92, 0x43, 0x74, 0xd5,
0xe6, 0x2f, 0xcf, 0x5f, 0x67, 0xe0, 0x52, 0xb5, 0x70, 0x93, 0xd7, 0xe7, 0x33, 0x18, 0xa6, 0xdd,
0x9d, 0x3b, 0x63, 0x64, 0x9c, 0x8e, 0x03, 0x93, 0xa9, 0xf0, 0x65, 0x82, 0x56, 0x55, 0xab, 0x7f,
0x99, 0xdc, 0x27, 0x69, 0x28, 0x3d, 0x0d, 0xad, 0xd2, 0xd3, 0x10, 0x1b, 0x48, 0x40, 0x55, 0x61,
0xa0, 0x2d, 0x0d, 0xd8, 0x12, 0x64, 0x55, 0x06, 0x52, 0x61, 0x61, 0x40, 0xa2, 0xa8, 0xa7, 0xf8,
0x85, 0x81, 0xcb, 0x00, 0x0a, 0x32, 0x91, 0x97, 0x3c, 0x75, 0xf3, 0x12, 0x30, 0x91, 0xc7, 0xeb,
0x70, 0xdb, 0xa9, 0xc5, 0x6d, 0xbe, 0x31, 0x76, 0x4b, 0x43, 0xd0, 0xb7, 0x00, 0x5b, 0x0e, 0x3b,
0x94, 0x49, 0x8e, 0x9b, 0xa0, 0xed, 0x84, 0x6a, 0x56, 0x8a, 0x8f, 0x31, 0x85, 0xba, 0xae, 0x4a,
0x5d, 0x7c, 0x8c, 0xe7, 0xe6, 0x88, 0xa1, 0xad, 0xb2, 0x23, 0xce, 0x31, 0x6d, 0x2f, 0x44, 0x54,
0x09, 0x10, 0x67, 0xfd, 0x37, 0x0d, 0xe6, 0x9f, 0xe1, 0x58, 0x69, 0xbe, 0x02, 0xb0, 0xef, 0x87,
0x7e, 0xc4, 0x1d, 0x0f, 0x65, 0x17, 0x9c, 0x35, 0x32, 0x94, 0x7f, 0x6f, 0x47, 0xcc, 0xf1, 0xe8,
0xee, 0xa9, 0x64, 0x8a, 0x73, 0x4c, 0x3b, 0x40, 0x1a, 0xa8, 0xfc, 0x89, 0x73, 0xbc, 0x05, 0x30,
0x4e, 0xad, 0x43, 0x91, 0xac, 0xb6, 0x21, 0x7f, 0x3c, 0x7c, 0xbb, 0x08, 0xfd, 0x6c, 0x69, 0x93,
0x1f, 0xa0, 0x97, 0x59, 0x5f, 0xc8, 0x8d, 0xf2, 0x96, 0x52, 0x5e, 0x87, 0x86, 0xff, 0x9b, 0xc2,
0xa5, 0x80, 0x31, 0x43, 0x3c, 0x38, 0x57, 0x5a, 0x0f, 0xc8, 0x9d, 0xb2, 0x74, 0xdd, 0xf2, 0x31,
0xbc, 0xdb, 0x88, 0x37, 0xb5, 0xc7, 0x61, 0xb9, 0x62, 0xde, 0x27, 0xf7, 0xa6, 0x68, 0xc9, 0xed,
0x1c, 0xc3, 0xff, 0x37, 0xe4, 0x4e, 0xad, 0x1e, 0x01, 0x29, 0x2f, 0x03, 0xe4, 0xee, 0x54, 0x35,
0x93, 0x65, 0x63, 0x78, 0xaf, 0x19, 0x73, 0x6d, 0xa0, 0x72, 0x4d, 0x98, 0x1a, 0x68, 0x6e, 0x11,
0x99, 0x1a, 0x68, 0x61, 0xf7, 0x98, 0x21, 0x87, 0xb0, 0x54, 0x5c, 0x21, 0xc8, 0xed, 0xba, 0xbd,
0xb6, 0xb4, 0xa1, 0x0c, 0xef, 0x34, 0x61, 0x4d, 0x8d, 0x21, 0x2c, 0xe6, 0xc7, 0x7c, 0x72, 0xab,
0x2c, 0x5f, 0xb9, 0xb4, 0x0c, 0x47, 0xd3, 0x19, 0xb3, 0x31, 0x15, 0x47, 0xff, 0xaa, 0x98, 0x6a,
0xf6, 0x8a, 0xaa, 0x98, 0xea, 0x36, 0x09, 0x7d, 0x86, 0xfc, 0x92, 0xcc, 0x93, 0x85, 0x91, 0x98,
0x6c, 0xd4, 0xa9, 0xa9, 0x9e, 0xc9, 0x87, 0xf7, 0x1b, 0xf3, 0x27, 0xb6, 0x1f, 0x68, 0x31, 0xd6,
0x33, 0x93, 0x71, 0x15, 0xd6, 0xcb, 0xb3, 0x76, 0x15, 0xd6, 0xab, 0xc6, 0xeb, 0x19, 0xb2, 0x0b,
0x0b, 0xb9, 0x59, 0x99, 0xdc, 0xac, 0x93, 0xcc, 0x4f, 0xe0, 0xc3, 0x5b, 0x53, 0xf9, 0x52, 0x1b,
0x66, 0xd2, 0xbd, 0x54, 0xbb, 0xaa, 0x75, 0x2e, 0xdf, 0xaf, 0x6e, 0x4e, 0x63, 0x4b, 0x0d, 0x7c,
0x07, 0x30, 0x19, 0x6d, 0xc9, 0xf5, 0x3a, 0xb9, 0xec, 0xa7, 0xb8, 0x71, 0x3a, 0x53, 0xaa, 0xfa,
0x47, 0x58, 0xa9, 0x7a, 0xe9, 0x49, 0x05, 0x0a, 0x4f, 0x19, 0x27, 0x86, 0x1b, 0x4d, 0xd9, 0x53,
0xc3, 0xaf, 0xa0, 0x9b, 0x8c, 0xaa, 0xe4, 0x5a, 0x59, 0xba, 0x30, 0x88, 0x0f, 0xf5, 0xd3, 0x58,
0x32, 0xd5, 0x34, 0x4e, 0x80, 0x33, 0x19, 0x26, 0xeb, 0x81, 0x53, 0x1a, 0x77, 0xeb, 0x81, 0x53,
0x9e, 0x4d, 0x85, 0xb9, 0xa3, 0x64, 0xe9, 0xc8, 0xce, 0x60, 0x95, 0x4d, 0xb6, 0x6e, 0xb4, 0xac,
0x6c, 0xb2, 0xf5, 0x63, 0xdd, 0xcc, 0xee, 0x9c, 0xf8, 0x93, 0xf0, 0xd1, 0x3f, 0x01, 0x00, 0x00,
0xff, 0xff, 0x4c, 0x2f, 0x65, 0x47, 0x3b, 0x14, 0x00, 0x00,
}