// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v7.35.0
// source: volume_server.proto

package volume_server_pb

import (
	remote_pb "github.com/seaweedfs/seaweedfs/weed/pb/remote_pb"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type ChecksumAlgorithm int32

const (
	ChecksumAlgorithm_CHECKSUM_NONE   ChecksumAlgorithm = 0
	ChecksumAlgorithm_CHECKSUM_CRC32C ChecksumAlgorithm = 1
)

// Enum value maps for ChecksumAlgorithm.
var (
	ChecksumAlgorithm_name = map[int32]string{
		0: "CHECKSUM_NONE",
		1: "CHECKSUM_CRC32C",
	}
	ChecksumAlgorithm_value = map[string]int32{
		"CHECKSUM_NONE":   0,
		"CHECKSUM_CRC32C": 1,
	}
)

func (x ChecksumAlgorithm) Enum() *ChecksumAlgorithm {
	p := new(ChecksumAlgorithm)
	*p = x
	return p
}

func (x ChecksumAlgorithm) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ChecksumAlgorithm) Descriptor() protoreflect.EnumDescriptor {
	return file_volume_server_proto_enumTypes[0].Descriptor()
}

func (ChecksumAlgorithm) Type() protoreflect.EnumType {
	return &file_volume_server_proto_enumTypes[0]
}

func (x ChecksumAlgorithm) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ChecksumAlgorithm.Descriptor instead.
func (ChecksumAlgorithm) EnumDescriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{0}
}

type VolumeScrubMode int32

const (
	VolumeScrubMode_UNKNOWN  VolumeScrubMode = 0
	VolumeScrubMode_INDEX    VolumeScrubMode = 1
	VolumeScrubMode_FULL     VolumeScrubMode = 2
	VolumeScrubMode_LOCAL    VolumeScrubMode = 3
	VolumeScrubMode_CHECKSUM VolumeScrubMode = 4 // EC only: verify each local shard's raw bytes against the bitrot checksum sidecar
	VolumeScrubMode_READS    VolumeScrubMode = 5 // like FULL, but EC intervals no shard can serve are reconstructed from parity
)

// Enum value maps for VolumeScrubMode.
var (
	VolumeScrubMode_name = map[int32]string{
		0: "UNKNOWN",
		1: "INDEX",
		2: "FULL",
		3: "LOCAL",
		4: "CHECKSUM",
		5: "READS",
	}
	VolumeScrubMode_value = map[string]int32{
		"UNKNOWN":  0,
		"INDEX":    1,
		"FULL":     2,
		"LOCAL":    3,
		"CHECKSUM": 4,
		"READS":    5,
	}
)

func (x VolumeScrubMode) Enum() *VolumeScrubMode {
	p := new(VolumeScrubMode)
	*p = x
	return p
}

func (x VolumeScrubMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (VolumeScrubMode) Descriptor() protoreflect.EnumDescriptor {
	return file_volume_server_proto_enumTypes[1].Descriptor()
}

func (VolumeScrubMode) Type() protoreflect.EnumType {
	return &file_volume_server_proto_enumTypes[1]
}

func (x VolumeScrubMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use VolumeScrubMode.Descriptor instead.
func (VolumeScrubMode) EnumDescriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{1}
}

// Persistent state for volume servers.
type VolumeServerState struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// whether the server is in maintenance (i.e. read-only) mode.
	Maintenance bool `protobuf:"varint,1,opt,name=maintenance,proto3" json:"maintenance,omitempty"`
	// incremental version counter
	Version       uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeServerState) Reset() {
	*x = VolumeServerState{}
	mi := &file_volume_server_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeServerState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeServerState) ProtoMessage() {}

func (x *VolumeServerState) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeServerState.ProtoReflect.Descriptor instead.
func (*VolumeServerState) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{0}
}

func (x *VolumeServerState) GetMaintenance() bool {
	if x != nil {
		return x.Maintenance
	}
	return false
}

func (x *VolumeServerState) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

type BatchDeleteRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	FileIds         []string               `protobuf:"bytes,1,rep,name=file_ids,json=fileIds,proto3" json:"file_ids,omitempty"`
	SkipCookieCheck bool                   `protobuf:"varint,2,opt,name=skip_cookie_check,json=skipCookieCheck,proto3" json:"skip_cookie_check,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *BatchDeleteRequest) Reset() {
	*x = BatchDeleteRequest{}
	mi := &file_volume_server_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BatchDeleteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BatchDeleteRequest) ProtoMessage() {}

func (x *BatchDeleteRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BatchDeleteRequest.ProtoReflect.Descriptor instead.
func (*BatchDeleteRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{1}
}

func (x *BatchDeleteRequest) GetFileIds() []string {
	if x != nil {
		return x.FileIds
	}
	return nil
}

func (x *BatchDeleteRequest) GetSkipCookieCheck() bool {
	if x != nil {
		return x.SkipCookieCheck
	}
	return false
}

type BatchDeleteResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Results       []*DeleteResult        `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchDeleteResponse) Reset() {
	*x = BatchDeleteResponse{}
	mi := &file_volume_server_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BatchDeleteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BatchDeleteResponse) ProtoMessage() {}

func (x *BatchDeleteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BatchDeleteResponse.ProtoReflect.Descriptor instead.
func (*BatchDeleteResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{2}
}

func (x *BatchDeleteResponse) GetResults() []*DeleteResult {
	if x != nil {
		return x.Results
	}
	return nil
}

type DeleteResult struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FileId        string                 `protobuf:"bytes,1,opt,name=file_id,json=fileId,proto3" json:"file_id,omitempty"`
	Status        int32                  `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
	Error         string                 `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
	Size          uint32                 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
	Version       uint32                 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteResult) Reset() {
	*x = DeleteResult{}
	mi := &file_volume_server_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteResult) ProtoMessage() {}

func (x *DeleteResult) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteResult.ProtoReflect.Descriptor instead.
func (*DeleteResult) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{3}
}

func (x *DeleteResult) GetFileId() string {
	if x != nil {
		return x.FileId
	}
	return ""
}

func (x *DeleteResult) GetStatus() int32 {
	if x != nil {
		return x.Status
	}
	return 0
}

func (x *DeleteResult) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

func (x *DeleteResult) GetSize() uint32 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *DeleteResult) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

type Empty struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Empty) Reset() {
	*x = Empty{}
	mi := &file_volume_server_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Empty) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Empty) ProtoMessage() {}

func (x *Empty) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Empty.ProtoReflect.Descriptor instead.
func (*Empty) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{4}
}

type VacuumVolumeCheckRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VacuumVolumeCheckRequest) Reset() {
	*x = VacuumVolumeCheckRequest{}
	mi := &file_volume_server_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VacuumVolumeCheckRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VacuumVolumeCheckRequest) ProtoMessage() {}

func (x *VacuumVolumeCheckRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VacuumVolumeCheckRequest.ProtoReflect.Descriptor instead.
func (*VacuumVolumeCheckRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{5}
}

func (x *VacuumVolumeCheckRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type VacuumVolumeCheckResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GarbageRatio  float64                `protobuf:"fixed64,1,opt,name=garbage_ratio,json=garbageRatio,proto3" json:"garbage_ratio,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VacuumVolumeCheckResponse) Reset() {
	*x = VacuumVolumeCheckResponse{}
	mi := &file_volume_server_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VacuumVolumeCheckResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VacuumVolumeCheckResponse) ProtoMessage() {}

func (x *VacuumVolumeCheckResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VacuumVolumeCheckResponse.ProtoReflect.Descriptor instead.
func (*VacuumVolumeCheckResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{6}
}

func (x *VacuumVolumeCheckResponse) GetGarbageRatio() float64 {
	if x != nil {
		return x.GarbageRatio
	}
	return 0
}

type VacuumVolumeCompactRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Preallocate   int64                  `protobuf:"varint,2,opt,name=preallocate,proto3" json:"preallocate,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VacuumVolumeCompactRequest) Reset() {
	*x = VacuumVolumeCompactRequest{}
	mi := &file_volume_server_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VacuumVolumeCompactRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VacuumVolumeCompactRequest) ProtoMessage() {}

func (x *VacuumVolumeCompactRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VacuumVolumeCompactRequest.ProtoReflect.Descriptor instead.
func (*VacuumVolumeCompactRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{7}
}

func (x *VacuumVolumeCompactRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VacuumVolumeCompactRequest) GetPreallocate() int64 {
	if x != nil {
		return x.Preallocate
	}
	return 0
}

type VacuumVolumeCompactResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ProcessedBytes int64                  `protobuf:"varint,1,opt,name=processed_bytes,json=processedBytes,proto3" json:"processed_bytes,omitempty"`
	LoadAvg_1M     float32                `protobuf:"fixed32,2,opt,name=load_avg_1m,json=loadAvg1m,proto3" json:"load_avg_1m,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *VacuumVolumeCompactResponse) Reset() {
	*x = VacuumVolumeCompactResponse{}
	mi := &file_volume_server_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VacuumVolumeCompactResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VacuumVolumeCompactResponse) ProtoMessage() {}

func (x *VacuumVolumeCompactResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VacuumVolumeCompactResponse.ProtoReflect.Descriptor instead.
func (*VacuumVolumeCompactResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{8}
}

func (x *VacuumVolumeCompactResponse) GetProcessedBytes() int64 {
	if x != nil {
		return x.ProcessedBytes
	}
	return 0
}

func (x *VacuumVolumeCompactResponse) GetLoadAvg_1M() float32 {
	if x != nil {
		return x.LoadAvg_1M
	}
	return 0
}

type VacuumVolumeCommitRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VacuumVolumeCommitRequest) Reset() {
	*x = VacuumVolumeCommitRequest{}
	mi := &file_volume_server_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VacuumVolumeCommitRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VacuumVolumeCommitRequest) ProtoMessage() {}

func (x *VacuumVolumeCommitRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VacuumVolumeCommitRequest.ProtoReflect.Descriptor instead.
func (*VacuumVolumeCommitRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{9}
}

func (x *VacuumVolumeCommitRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type VacuumVolumeCommitResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	IsReadOnly    bool                   `protobuf:"varint,1,opt,name=is_read_only,json=isReadOnly,proto3" json:"is_read_only,omitempty"`
	VolumeSize    uint64                 `protobuf:"varint,2,opt,name=volume_size,json=volumeSize,proto3" json:"volume_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VacuumVolumeCommitResponse) Reset() {
	*x = VacuumVolumeCommitResponse{}
	mi := &file_volume_server_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VacuumVolumeCommitResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VacuumVolumeCommitResponse) ProtoMessage() {}

func (x *VacuumVolumeCommitResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VacuumVolumeCommitResponse.ProtoReflect.Descriptor instead.
func (*VacuumVolumeCommitResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{10}
}

func (x *VacuumVolumeCommitResponse) GetIsReadOnly() bool {
	if x != nil {
		return x.IsReadOnly
	}
	return false
}

func (x *VacuumVolumeCommitResponse) GetVolumeSize() uint64 {
	if x != nil {
		return x.VolumeSize
	}
	return 0
}

type VacuumVolumeCleanupRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VacuumVolumeCleanupRequest) Reset() {
	*x = VacuumVolumeCleanupRequest{}
	mi := &file_volume_server_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VacuumVolumeCleanupRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VacuumVolumeCleanupRequest) ProtoMessage() {}

func (x *VacuumVolumeCleanupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VacuumVolumeCleanupRequest.ProtoReflect.Descriptor instead.
func (*VacuumVolumeCleanupRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{11}
}

func (x *VacuumVolumeCleanupRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type VacuumVolumeCleanupResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VacuumVolumeCleanupResponse) Reset() {
	*x = VacuumVolumeCleanupResponse{}
	mi := &file_volume_server_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VacuumVolumeCleanupResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VacuumVolumeCleanupResponse) ProtoMessage() {}

func (x *VacuumVolumeCleanupResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VacuumVolumeCleanupResponse.ProtoReflect.Descriptor instead.
func (*VacuumVolumeCleanupResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{12}
}

type DeleteCollectionRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Collection    string                 `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteCollectionRequest) Reset() {
	*x = DeleteCollectionRequest{}
	mi := &file_volume_server_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteCollectionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteCollectionRequest) ProtoMessage() {}

func (x *DeleteCollectionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteCollectionRequest.ProtoReflect.Descriptor instead.
func (*DeleteCollectionRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{13}
}

func (x *DeleteCollectionRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

type DeleteCollectionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteCollectionResponse) Reset() {
	*x = DeleteCollectionResponse{}
	mi := &file_volume_server_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteCollectionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteCollectionResponse) ProtoMessage() {}

func (x *DeleteCollectionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteCollectionResponse.ProtoReflect.Descriptor instead.
func (*DeleteCollectionResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{14}
}

type AllocateVolumeRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	VolumeId           uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection         string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	Preallocate        int64                  `protobuf:"varint,3,opt,name=preallocate,proto3" json:"preallocate,omitempty"`
	Replication        string                 `protobuf:"bytes,4,opt,name=replication,proto3" json:"replication,omitempty"`
	Ttl                string                 `protobuf:"bytes,5,opt,name=ttl,proto3" json:"ttl,omitempty"`
	MemoryMapMaxSizeMb uint32                 `protobuf:"varint,6,opt,name=memory_map_max_size_mb,json=memoryMapMaxSizeMb,proto3" json:"memory_map_max_size_mb,omitempty"`
	DiskType           string                 `protobuf:"bytes,7,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
	Version            uint32                 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *AllocateVolumeRequest) Reset() {
	*x = AllocateVolumeRequest{}
	mi := &file_volume_server_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AllocateVolumeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AllocateVolumeRequest) ProtoMessage() {}

func (x *AllocateVolumeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AllocateVolumeRequest.ProtoReflect.Descriptor instead.
func (*AllocateVolumeRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{15}
}

func (x *AllocateVolumeRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *AllocateVolumeRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *AllocateVolumeRequest) GetPreallocate() int64 {
	if x != nil {
		return x.Preallocate
	}
	return 0
}

func (x *AllocateVolumeRequest) GetReplication() string {
	if x != nil {
		return x.Replication
	}
	return ""
}

func (x *AllocateVolumeRequest) GetTtl() string {
	if x != nil {
		return x.Ttl
	}
	return ""
}

func (x *AllocateVolumeRequest) GetMemoryMapMaxSizeMb() uint32 {
	if x != nil {
		return x.MemoryMapMaxSizeMb
	}
	return 0
}

func (x *AllocateVolumeRequest) GetDiskType() string {
	if x != nil {
		return x.DiskType
	}
	return ""
}

func (x *AllocateVolumeRequest) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

type AllocateVolumeResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AllocateVolumeResponse) Reset() {
	*x = AllocateVolumeResponse{}
	mi := &file_volume_server_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AllocateVolumeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AllocateVolumeResponse) ProtoMessage() {}

func (x *AllocateVolumeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AllocateVolumeResponse.ProtoReflect.Descriptor instead.
func (*AllocateVolumeResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{16}
}

type VolumeSyncStatusRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeSyncStatusRequest) Reset() {
	*x = VolumeSyncStatusRequest{}
	mi := &file_volume_server_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeSyncStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeSyncStatusRequest) ProtoMessage() {}

func (x *VolumeSyncStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeSyncStatusRequest.ProtoReflect.Descriptor instead.
func (*VolumeSyncStatusRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{17}
}

func (x *VolumeSyncStatusRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type VolumeSyncStatusResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	VolumeId        uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection      string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	Replication     string                 `protobuf:"bytes,4,opt,name=replication,proto3" json:"replication,omitempty"`
	Ttl             string                 `protobuf:"bytes,5,opt,name=ttl,proto3" json:"ttl,omitempty"`
	TailOffset      uint64                 `protobuf:"varint,6,opt,name=tail_offset,json=tailOffset,proto3" json:"tail_offset,omitempty"`
	CompactRevision uint32                 `protobuf:"varint,7,opt,name=compact_revision,json=compactRevision,proto3" json:"compact_revision,omitempty"`
	IdxFileSize     uint64                 `protobuf:"varint,8,opt,name=idx_file_size,json=idxFileSize,proto3" json:"idx_file_size,omitempty"`
	Version         uint32                 `protobuf:"varint,9,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *VolumeSyncStatusResponse) Reset() {
	*x = VolumeSyncStatusResponse{}
	mi := &file_volume_server_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeSyncStatusResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeSyncStatusResponse) ProtoMessage() {}

func (x *VolumeSyncStatusResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeSyncStatusResponse.ProtoReflect.Descriptor instead.
func (*VolumeSyncStatusResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{18}
}

func (x *VolumeSyncStatusResponse) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeSyncStatusResponse) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *VolumeSyncStatusResponse) GetReplication() string {
	if x != nil {
		return x.Replication
	}
	return ""
}

func (x *VolumeSyncStatusResponse) GetTtl() string {
	if x != nil {
		return x.Ttl
	}
	return ""
}

func (x *VolumeSyncStatusResponse) GetTailOffset() uint64 {
	if x != nil {
		return x.TailOffset
	}
	return 0
}

func (x *VolumeSyncStatusResponse) GetCompactRevision() uint32 {
	if x != nil {
		return x.CompactRevision
	}
	return 0
}

func (x *VolumeSyncStatusResponse) GetIdxFileSize() uint64 {
	if x != nil {
		return x.IdxFileSize
	}
	return 0
}

func (x *VolumeSyncStatusResponse) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

type VolumeIncrementalCopyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	SinceNs       uint64                 `protobuf:"varint,2,opt,name=since_ns,json=sinceNs,proto3" json:"since_ns,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeIncrementalCopyRequest) Reset() {
	*x = VolumeIncrementalCopyRequest{}
	mi := &file_volume_server_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeIncrementalCopyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeIncrementalCopyRequest) ProtoMessage() {}

func (x *VolumeIncrementalCopyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeIncrementalCopyRequest.ProtoReflect.Descriptor instead.
func (*VolumeIncrementalCopyRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{19}
}

func (x *VolumeIncrementalCopyRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeIncrementalCopyRequest) GetSinceNs() uint64 {
	if x != nil {
		return x.SinceNs
	}
	return 0
}

type VolumeIncrementalCopyResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FileContent   []byte                 `protobuf:"bytes,1,opt,name=file_content,json=fileContent,proto3" json:"file_content,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeIncrementalCopyResponse) Reset() {
	*x = VolumeIncrementalCopyResponse{}
	mi := &file_volume_server_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeIncrementalCopyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeIncrementalCopyResponse) ProtoMessage() {}

func (x *VolumeIncrementalCopyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeIncrementalCopyResponse.ProtoReflect.Descriptor instead.
func (*VolumeIncrementalCopyResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{20}
}

func (x *VolumeIncrementalCopyResponse) GetFileContent() []byte {
	if x != nil {
		return x.FileContent
	}
	return nil
}

type VolumeMountRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeMountRequest) Reset() {
	*x = VolumeMountRequest{}
	mi := &file_volume_server_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeMountRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeMountRequest) ProtoMessage() {}

func (x *VolumeMountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeMountRequest.ProtoReflect.Descriptor instead.
func (*VolumeMountRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{21}
}

func (x *VolumeMountRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type VolumeMountResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeMountResponse) Reset() {
	*x = VolumeMountResponse{}
	mi := &file_volume_server_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeMountResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeMountResponse) ProtoMessage() {}

func (x *VolumeMountResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeMountResponse.ProtoReflect.Descriptor instead.
func (*VolumeMountResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{22}
}

type VolumeUnmountRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeUnmountRequest) Reset() {
	*x = VolumeUnmountRequest{}
	mi := &file_volume_server_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeUnmountRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeUnmountRequest) ProtoMessage() {}

func (x *VolumeUnmountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeUnmountRequest.ProtoReflect.Descriptor instead.
func (*VolumeUnmountRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{23}
}

func (x *VolumeUnmountRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type VolumeUnmountResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeUnmountResponse) Reset() {
	*x = VolumeUnmountResponse{}
	mi := &file_volume_server_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeUnmountResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeUnmountResponse) ProtoMessage() {}

func (x *VolumeUnmountResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeUnmountResponse.ProtoReflect.Descriptor instead.
func (*VolumeUnmountResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{24}
}

type VolumeConsolidateIndexRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeConsolidateIndexRequest) Reset() {
	*x = VolumeConsolidateIndexRequest{}
	mi := &file_volume_server_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeConsolidateIndexRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeConsolidateIndexRequest) ProtoMessage() {}

func (x *VolumeConsolidateIndexRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeConsolidateIndexRequest.ProtoReflect.Descriptor instead.
func (*VolumeConsolidateIndexRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{25}
}

func (x *VolumeConsolidateIndexRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type VolumeConsolidateIndexResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeConsolidateIndexResponse) Reset() {
	*x = VolumeConsolidateIndexResponse{}
	mi := &file_volume_server_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeConsolidateIndexResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeConsolidateIndexResponse) ProtoMessage() {}

func (x *VolumeConsolidateIndexResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeConsolidateIndexResponse.ProtoReflect.Descriptor instead.
func (*VolumeConsolidateIndexResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{26}
}

type VolumeDeleteRequest struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	VolumeId  uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	OnlyEmpty bool                   `protobuf:"varint,2,opt,name=only_empty,json=onlyEmpty,proto3" json:"only_empty,omitempty"`
	// when true, do not remove the cloud-tier object backing the volume.
	// used for moves where another server is taking over the same .vif.
	KeepRemoteData bool `protobuf:"varint,3,opt,name=keep_remote_data,json=keepRemoteData,proto3" json:"keep_remote_data,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *VolumeDeleteRequest) Reset() {
	*x = VolumeDeleteRequest{}
	mi := &file_volume_server_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeDeleteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeDeleteRequest) ProtoMessage() {}

func (x *VolumeDeleteRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeDeleteRequest.ProtoReflect.Descriptor instead.
func (*VolumeDeleteRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{27}
}

func (x *VolumeDeleteRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeDeleteRequest) GetOnlyEmpty() bool {
	if x != nil {
		return x.OnlyEmpty
	}
	return false
}

func (x *VolumeDeleteRequest) GetKeepRemoteData() bool {
	if x != nil {
		return x.KeepRemoteData
	}
	return false
}

type VolumeDeleteResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeDeleteResponse) Reset() {
	*x = VolumeDeleteResponse{}
	mi := &file_volume_server_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeDeleteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeDeleteResponse) ProtoMessage() {}

func (x *VolumeDeleteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeDeleteResponse.ProtoReflect.Descriptor instead.
func (*VolumeDeleteResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{28}
}

type VolumeMarkReadonlyRequest struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	VolumeId uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Persist  bool                   `protobuf:"varint,2,opt,name=persist,proto3" json:"persist,omitempty"`
	// reject writes but keep accepting deletes, so expiring data can drain the volume
	CanDelete     bool `protobuf:"varint,3,opt,name=can_delete,json=canDelete,proto3" json:"can_delete,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeMarkReadonlyRequest) Reset() {
	*x = VolumeMarkReadonlyRequest{}
	mi := &file_volume_server_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeMarkReadonlyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeMarkReadonlyRequest) ProtoMessage() {}

func (x *VolumeMarkReadonlyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeMarkReadonlyRequest.ProtoReflect.Descriptor instead.
func (*VolumeMarkReadonlyRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{29}
}

func (x *VolumeMarkReadonlyRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeMarkReadonlyRequest) GetPersist() bool {
	if x != nil {
		return x.Persist
	}
	return false
}

func (x *VolumeMarkReadonlyRequest) GetCanDelete() bool {
	if x != nil {
		return x.CanDelete
	}
	return false
}

type VolumeMarkReadonlyResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeMarkReadonlyResponse) Reset() {
	*x = VolumeMarkReadonlyResponse{}
	mi := &file_volume_server_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeMarkReadonlyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeMarkReadonlyResponse) ProtoMessage() {}

func (x *VolumeMarkReadonlyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeMarkReadonlyResponse.ProtoReflect.Descriptor instead.
func (*VolumeMarkReadonlyResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{30}
}

type VolumeMarkWritableRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeMarkWritableRequest) Reset() {
	*x = VolumeMarkWritableRequest{}
	mi := &file_volume_server_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeMarkWritableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeMarkWritableRequest) ProtoMessage() {}

func (x *VolumeMarkWritableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeMarkWritableRequest.ProtoReflect.Descriptor instead.
func (*VolumeMarkWritableRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{31}
}

func (x *VolumeMarkWritableRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type VolumeMarkWritableResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeMarkWritableResponse) Reset() {
	*x = VolumeMarkWritableResponse{}
	mi := &file_volume_server_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeMarkWritableResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeMarkWritableResponse) ProtoMessage() {}

func (x *VolumeMarkWritableResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeMarkWritableResponse.ProtoReflect.Descriptor instead.
func (*VolumeMarkWritableResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{32}
}

type VolumeConfigureRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Replication   string                 `protobuf:"bytes,2,opt,name=replication,proto3" json:"replication,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeConfigureRequest) Reset() {
	*x = VolumeConfigureRequest{}
	mi := &file_volume_server_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeConfigureRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeConfigureRequest) ProtoMessage() {}

func (x *VolumeConfigureRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeConfigureRequest.ProtoReflect.Descriptor instead.
func (*VolumeConfigureRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{33}
}

func (x *VolumeConfigureRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeConfigureRequest) GetReplication() string {
	if x != nil {
		return x.Replication
	}
	return ""
}

type VolumeConfigureResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Error         string                 `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeConfigureResponse) Reset() {
	*x = VolumeConfigureResponse{}
	mi := &file_volume_server_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeConfigureResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeConfigureResponse) ProtoMessage() {}

func (x *VolumeConfigureResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeConfigureResponse.ProtoReflect.Descriptor instead.
func (*VolumeConfigureResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{34}
}

func (x *VolumeConfigureResponse) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

type VolumeStatusRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeStatusRequest) Reset() {
	*x = VolumeStatusRequest{}
	mi := &file_volume_server_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeStatusRequest) ProtoMessage() {}

func (x *VolumeStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[35]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeStatusRequest.ProtoReflect.Descriptor instead.
func (*VolumeStatusRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{35}
}

func (x *VolumeStatusRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type VolumeStatusResponse struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	IsReadOnly       bool                   `protobuf:"varint,1,opt,name=is_read_only,json=isReadOnly,proto3" json:"is_read_only,omitempty"`
	VolumeSize       uint64                 `protobuf:"varint,2,opt,name=volume_size,json=volumeSize,proto3" json:"volume_size,omitempty"`
	FileCount        uint64                 `protobuf:"varint,3,opt,name=file_count,json=fileCount,proto3" json:"file_count,omitempty"`
	FileDeletedCount uint64                 `protobuf:"varint,4,opt,name=file_deleted_count,json=fileDeletedCount,proto3" json:"file_deleted_count,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *VolumeStatusResponse) Reset() {
	*x = VolumeStatusResponse{}
	mi := &file_volume_server_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeStatusResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeStatusResponse) ProtoMessage() {}

func (x *VolumeStatusResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[36]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeStatusResponse.ProtoReflect.Descriptor instead.
func (*VolumeStatusResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{36}
}

func (x *VolumeStatusResponse) GetIsReadOnly() bool {
	if x != nil {
		return x.IsReadOnly
	}
	return false
}

func (x *VolumeStatusResponse) GetVolumeSize() uint64 {
	if x != nil {
		return x.VolumeSize
	}
	return 0
}

func (x *VolumeStatusResponse) GetFileCount() uint64 {
	if x != nil {
		return x.FileCount
	}
	return 0
}

func (x *VolumeStatusResponse) GetFileDeletedCount() uint64 {
	if x != nil {
		return x.FileDeletedCount
	}
	return 0
}

type GetStateRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetStateRequest) Reset() {
	*x = GetStateRequest{}
	mi := &file_volume_server_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetStateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetStateRequest) ProtoMessage() {}

func (x *GetStateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[37]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetStateRequest.ProtoReflect.Descriptor instead.
func (*GetStateRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{37}
}

type GetStateResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	State         *VolumeServerState     `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetStateResponse) Reset() {
	*x = GetStateResponse{}
	mi := &file_volume_server_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetStateResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetStateResponse) ProtoMessage() {}

func (x *GetStateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[38]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetStateResponse.ProtoReflect.Descriptor instead.
func (*GetStateResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{38}
}

func (x *GetStateResponse) GetState() *VolumeServerState {
	if x != nil {
		return x.State
	}
	return nil
}

type SetStateRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// SetState updates *all* volume server flags at once. Retrieve state with GetState(),
	// modify individual flags as required, then call this RPC to update.
	State         *VolumeServerState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetStateRequest) Reset() {
	*x = SetStateRequest{}
	mi := &file_volume_server_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetStateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetStateRequest) ProtoMessage() {}

func (x *SetStateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[39]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetStateRequest.ProtoReflect.Descriptor instead.
func (*SetStateRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{39}
}

func (x *SetStateRequest) GetState() *VolumeServerState {
	if x != nil {
		return x.State
	}
	return nil
}

type SetStateResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	State         *VolumeServerState     `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetStateResponse) Reset() {
	*x = SetStateResponse{}
	mi := &file_volume_server_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetStateResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetStateResponse) ProtoMessage() {}

func (x *SetStateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[40]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetStateResponse.ProtoReflect.Descriptor instead.
func (*SetStateResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{40}
}

func (x *SetStateResponse) GetState() *VolumeServerState {
	if x != nil {
		return x.State
	}
	return nil
}

type VolumeCopyRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	VolumeId        uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection      string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	Replication     string                 `protobuf:"bytes,3,opt,name=replication,proto3" json:"replication,omitempty"`
	Ttl             string                 `protobuf:"bytes,4,opt,name=ttl,proto3" json:"ttl,omitempty"`
	SourceDataNode  string                 `protobuf:"bytes,5,opt,name=source_data_node,json=sourceDataNode,proto3" json:"source_data_node,omitempty"`
	DiskType        string                 `protobuf:"bytes,6,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
	IoBytePerSecond int64                  `protobuf:"varint,7,opt,name=io_byte_per_second,json=ioBytePerSecond,proto3" json:"io_byte_per_second,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *VolumeCopyRequest) Reset() {
	*x = VolumeCopyRequest{}
	mi := &file_volume_server_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeCopyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeCopyRequest) ProtoMessage() {}

func (x *VolumeCopyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[41]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeCopyRequest.ProtoReflect.Descriptor instead.
func (*VolumeCopyRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{41}
}

func (x *VolumeCopyRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeCopyRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *VolumeCopyRequest) GetReplication() string {
	if x != nil {
		return x.Replication
	}
	return ""
}

func (x *VolumeCopyRequest) GetTtl() string {
	if x != nil {
		return x.Ttl
	}
	return ""
}

func (x *VolumeCopyRequest) GetSourceDataNode() string {
	if x != nil {
		return x.SourceDataNode
	}
	return ""
}

func (x *VolumeCopyRequest) GetDiskType() string {
	if x != nil {
		return x.DiskType
	}
	return ""
}

func (x *VolumeCopyRequest) GetIoBytePerSecond() int64 {
	if x != nil {
		return x.IoBytePerSecond
	}
	return 0
}

type VolumeCopyResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	LastAppendAtNs uint64                 `protobuf:"varint,1,opt,name=last_append_at_ns,json=lastAppendAtNs,proto3" json:"last_append_at_ns,omitempty"`
	ProcessedBytes int64                  `protobuf:"varint,2,opt,name=processed_bytes,json=processedBytes,proto3" json:"processed_bytes,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *VolumeCopyResponse) Reset() {
	*x = VolumeCopyResponse{}
	mi := &file_volume_server_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeCopyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeCopyResponse) ProtoMessage() {}

func (x *VolumeCopyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[42]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeCopyResponse.ProtoReflect.Descriptor instead.
func (*VolumeCopyResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{42}
}

func (x *VolumeCopyResponse) GetLastAppendAtNs() uint64 {
	if x != nil {
		return x.LastAppendAtNs
	}
	return 0
}

func (x *VolumeCopyResponse) GetProcessedBytes() int64 {
	if x != nil {
		return x.ProcessedBytes
	}
	return 0
}

type CopyFileRequest struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	VolumeId                 uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Ext                      string                 `protobuf:"bytes,2,opt,name=ext,proto3" json:"ext,omitempty"`
	CompactionRevision       uint32                 `protobuf:"varint,3,opt,name=compaction_revision,json=compactionRevision,proto3" json:"compaction_revision,omitempty"`
	StopOffset               uint64                 `protobuf:"varint,4,opt,name=stop_offset,json=stopOffset,proto3" json:"stop_offset,omitempty"`
	Collection               string                 `protobuf:"bytes,5,opt,name=collection,proto3" json:"collection,omitempty"`
	IsEcVolume               bool                   `protobuf:"varint,6,opt,name=is_ec_volume,json=isEcVolume,proto3" json:"is_ec_volume,omitempty"`
	IgnoreSourceFileNotFound bool                   `protobuf:"varint,7,opt,name=ignore_source_file_not_found,json=ignoreSourceFileNotFound,proto3" json:"ignore_source_file_not_found,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *CopyFileRequest) Reset() {
	*x = CopyFileRequest{}
	mi := &file_volume_server_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CopyFileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CopyFileRequest) ProtoMessage() {}

func (x *CopyFileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[43]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CopyFileRequest.ProtoReflect.Descriptor instead.
func (*CopyFileRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{43}
}

func (x *CopyFileRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *CopyFileRequest) GetExt() string {
	if x != nil {
		return x.Ext
	}
	return ""
}

func (x *CopyFileRequest) GetCompactionRevision() uint32 {
	if x != nil {
		return x.CompactionRevision
	}
	return 0
}

func (x *CopyFileRequest) GetStopOffset() uint64 {
	if x != nil {
		return x.StopOffset
	}
	return 0
}

func (x *CopyFileRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *CopyFileRequest) GetIsEcVolume() bool {
	if x != nil {
		return x.IsEcVolume
	}
	return false
}

func (x *CopyFileRequest) GetIgnoreSourceFileNotFound() bool {
	if x != nil {
		return x.IgnoreSourceFileNotFound
	}
	return false
}

type CopyFileResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FileContent   []byte                 `protobuf:"bytes,1,opt,name=file_content,json=fileContent,proto3" json:"file_content,omitempty"`
	ModifiedTsNs  int64                  `protobuf:"varint,2,opt,name=modified_ts_ns,json=modifiedTsNs,proto3" json:"modified_ts_ns,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CopyFileResponse) Reset() {
	*x = CopyFileResponse{}
	mi := &file_volume_server_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CopyFileResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CopyFileResponse) ProtoMessage() {}

func (x *CopyFileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[44]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CopyFileResponse.ProtoReflect.Descriptor instead.
func (*CopyFileResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{44}
}

func (x *CopyFileResponse) GetFileContent() []byte {
	if x != nil {
		return x.FileContent
	}
	return nil
}

func (x *CopyFileResponse) GetModifiedTsNs() int64 {
	if x != nil {
		return x.ModifiedTsNs
	}
	return 0
}

type ReceiveFileRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Data:
	//
	//	*ReceiveFileRequest_Info
	//	*ReceiveFileRequest_FileContent
	Data          isReceiveFileRequest_Data `protobuf_oneof:"data"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReceiveFileRequest) Reset() {
	*x = ReceiveFileRequest{}
	mi := &file_volume_server_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReceiveFileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiveFileRequest) ProtoMessage() {}

func (x *ReceiveFileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[45]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReceiveFileRequest.ProtoReflect.Descriptor instead.
func (*ReceiveFileRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{45}
}

func (x *ReceiveFileRequest) GetData() isReceiveFileRequest_Data {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *ReceiveFileRequest) GetInfo() *ReceiveFileInfo {
	if x != nil {
		if x, ok := x.Data.(*ReceiveFileRequest_Info); ok {
			return x.Info
		}
	}
	return nil
}

func (x *ReceiveFileRequest) GetFileContent() []byte {
	if x != nil {
		if x, ok := x.Data.(*ReceiveFileRequest_FileContent); ok {
			return x.FileContent
		}
	}
	return nil
}

type isReceiveFileRequest_Data interface {
	isReceiveFileRequest_Data()
}

type ReceiveFileRequest_Info struct {
	Info *ReceiveFileInfo `protobuf:"bytes,1,opt,name=info,proto3,oneof"`
}

type ReceiveFileRequest_FileContent struct {
	FileContent []byte `protobuf:"bytes,2,opt,name=file_content,json=fileContent,proto3,oneof"`
}

func (*ReceiveFileRequest_Info) isReceiveFileRequest_Data() {}

func (*ReceiveFileRequest_FileContent) isReceiveFileRequest_Data() {}

type ReceiveFileInfo struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	VolumeId   uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Ext        string                 `protobuf:"bytes,2,opt,name=ext,proto3" json:"ext,omitempty"`
	Collection string                 `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"`
	IsEcVolume bool                   `protobuf:"varint,4,opt,name=is_ec_volume,json=isEcVolume,proto3" json:"is_ec_volume,omitempty"`
	ShardId    uint32                 `protobuf:"varint,5,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
	FileSize   uint64                 `protobuf:"varint,6,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
	DiskId     uint32                 `protobuf:"varint,7,opt,name=disk_id,json=diskId,proto3" json:"disk_id,omitempty"` // EC shard disk; 0 = auto-select (see VolumeEcShardsCopyRequest.disk_id)
	// Field numbers 8-11 are reserved for versioned-EC; disk_type stays at 12.
	// Staged-new-volume mode (EC decode onto a clean peer): set on a non-EC push
	// whose volume does not yet exist on this server. The server picks a disk
	// location of this medium with a free slot and writes <base><ext>.copying,
	// finalized by VolumeEcShardsToVolume(from_staged).
	DiskType      string `protobuf:"bytes,12,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReceiveFileInfo) Reset() {
	*x = ReceiveFileInfo{}
	mi := &file_volume_server_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReceiveFileInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiveFileInfo) ProtoMessage() {}

func (x *ReceiveFileInfo) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[46]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReceiveFileInfo.ProtoReflect.Descriptor instead.
func (*ReceiveFileInfo) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{46}
}

func (x *ReceiveFileInfo) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *ReceiveFileInfo) GetExt() string {
	if x != nil {
		return x.Ext
	}
	return ""
}

func (x *ReceiveFileInfo) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *ReceiveFileInfo) GetIsEcVolume() bool {
	if x != nil {
		return x.IsEcVolume
	}
	return false
}

func (x *ReceiveFileInfo) GetShardId() uint32 {
	if x != nil {
		return x.ShardId
	}
	return 0
}

func (x *ReceiveFileInfo) GetFileSize() uint64 {
	if x != nil {
		return x.FileSize
	}
	return 0
}

func (x *ReceiveFileInfo) GetDiskId() uint32 {
	if x != nil {
		return x.DiskId
	}
	return 0
}

func (x *ReceiveFileInfo) GetDiskType() string {
	if x != nil {
		return x.DiskType
	}
	return ""
}

type ReceiveFileResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	BytesWritten  uint64                 `protobuf:"varint,1,opt,name=bytes_written,json=bytesWritten,proto3" json:"bytes_written,omitempty"`
	Error         string                 `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReceiveFileResponse) Reset() {
	*x = ReceiveFileResponse{}
	mi := &file_volume_server_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReceiveFileResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiveFileResponse) ProtoMessage() {}

func (x *ReceiveFileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[47]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReceiveFileResponse.ProtoReflect.Descriptor instead.
func (*ReceiveFileResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{47}
}

func (x *ReceiveFileResponse) GetBytesWritten() uint64 {
	if x != nil {
		return x.BytesWritten
	}
	return 0
}

func (x *ReceiveFileResponse) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

type ReadNeedleBlobRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Offset        int64                  `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` // actual offset
	Size          int32                  `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReadNeedleBlobRequest) Reset() {
	*x = ReadNeedleBlobRequest{}
	mi := &file_volume_server_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadNeedleBlobRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadNeedleBlobRequest) ProtoMessage() {}

func (x *ReadNeedleBlobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[48]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadNeedleBlobRequest.ProtoReflect.Descriptor instead.
func (*ReadNeedleBlobRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{48}
}

func (x *ReadNeedleBlobRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *ReadNeedleBlobRequest) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *ReadNeedleBlobRequest) GetSize() int32 {
	if x != nil {
		return x.Size
	}
	return 0
}

type ReadNeedleBlobResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	NeedleBlob    []byte                 `protobuf:"bytes,1,opt,name=needle_blob,json=needleBlob,proto3" json:"needle_blob,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReadNeedleBlobResponse) Reset() {
	*x = ReadNeedleBlobResponse{}
	mi := &file_volume_server_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadNeedleBlobResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadNeedleBlobResponse) ProtoMessage() {}

func (x *ReadNeedleBlobResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[49]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadNeedleBlobResponse.ProtoReflect.Descriptor instead.
func (*ReadNeedleBlobResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{49}
}

func (x *ReadNeedleBlobResponse) GetNeedleBlob() []byte {
	if x != nil {
		return x.NeedleBlob
	}
	return nil
}

type ReadNeedleMetaRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	NeedleId      uint64                 `protobuf:"varint,2,opt,name=needle_id,json=needleId,proto3" json:"needle_id,omitempty"`
	Offset        int64                  `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` // actual offset
	Size          int32                  `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReadNeedleMetaRequest) Reset() {
	*x = ReadNeedleMetaRequest{}
	mi := &file_volume_server_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadNeedleMetaRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadNeedleMetaRequest) ProtoMessage() {}

func (x *ReadNeedleMetaRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[50]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadNeedleMetaRequest.ProtoReflect.Descriptor instead.
func (*ReadNeedleMetaRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{50}
}

func (x *ReadNeedleMetaRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *ReadNeedleMetaRequest) GetNeedleId() uint64 {
	if x != nil {
		return x.NeedleId
	}
	return 0
}

func (x *ReadNeedleMetaRequest) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *ReadNeedleMetaRequest) GetSize() int32 {
	if x != nil {
		return x.Size
	}
	return 0
}

type ReadNeedleMetaResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Cookie        uint32                 `protobuf:"varint,1,opt,name=cookie,proto3" json:"cookie,omitempty"`
	LastModified  uint64                 `protobuf:"varint,2,opt,name=last_modified,json=lastModified,proto3" json:"last_modified,omitempty"`
	Crc           uint32                 `protobuf:"varint,3,opt,name=crc,proto3" json:"crc,omitempty"`
	Ttl           string                 `protobuf:"bytes,4,opt,name=ttl,proto3" json:"ttl,omitempty"`
	AppendAtNs    uint64                 `protobuf:"varint,5,opt,name=append_at_ns,json=appendAtNs,proto3" json:"append_at_ns,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReadNeedleMetaResponse) Reset() {
	*x = ReadNeedleMetaResponse{}
	mi := &file_volume_server_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadNeedleMetaResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadNeedleMetaResponse) ProtoMessage() {}

func (x *ReadNeedleMetaResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[51]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadNeedleMetaResponse.ProtoReflect.Descriptor instead.
func (*ReadNeedleMetaResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{51}
}

func (x *ReadNeedleMetaResponse) GetCookie() uint32 {
	if x != nil {
		return x.Cookie
	}
	return 0
}

func (x *ReadNeedleMetaResponse) GetLastModified() uint64 {
	if x != nil {
		return x.LastModified
	}
	return 0
}

func (x *ReadNeedleMetaResponse) GetCrc() uint32 {
	if x != nil {
		return x.Crc
	}
	return 0
}

func (x *ReadNeedleMetaResponse) GetTtl() string {
	if x != nil {
		return x.Ttl
	}
	return ""
}

func (x *ReadNeedleMetaResponse) GetAppendAtNs() uint64 {
	if x != nil {
		return x.AppendAtNs
	}
	return 0
}

type WriteNeedleBlobRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	NeedleId      uint64                 `protobuf:"varint,2,opt,name=needle_id,json=needleId,proto3" json:"needle_id,omitempty"`
	Size          int32                  `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	NeedleBlob    []byte                 `protobuf:"bytes,4,opt,name=needle_blob,json=needleBlob,proto3" json:"needle_blob,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WriteNeedleBlobRequest) Reset() {
	*x = WriteNeedleBlobRequest{}
	mi := &file_volume_server_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteNeedleBlobRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteNeedleBlobRequest) ProtoMessage() {}

func (x *WriteNeedleBlobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[52]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteNeedleBlobRequest.ProtoReflect.Descriptor instead.
func (*WriteNeedleBlobRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{52}
}

func (x *WriteNeedleBlobRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *WriteNeedleBlobRequest) GetNeedleId() uint64 {
	if x != nil {
		return x.NeedleId
	}
	return 0
}

func (x *WriteNeedleBlobRequest) GetSize() int32 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *WriteNeedleBlobRequest) GetNeedleBlob() []byte {
	if x != nil {
		return x.NeedleBlob
	}
	return nil
}

type WriteNeedleBlobResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WriteNeedleBlobResponse) Reset() {
	*x = WriteNeedleBlobResponse{}
	mi := &file_volume_server_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WriteNeedleBlobResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WriteNeedleBlobResponse) ProtoMessage() {}

func (x *WriteNeedleBlobResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[53]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WriteNeedleBlobResponse.ProtoReflect.Descriptor instead.
func (*WriteNeedleBlobResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{53}
}

type ReadAllNeedlesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeIds     []uint32               `protobuf:"varint,1,rep,packed,name=volume_ids,json=volumeIds,proto3" json:"volume_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReadAllNeedlesRequest) Reset() {
	*x = ReadAllNeedlesRequest{}
	mi := &file_volume_server_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadAllNeedlesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadAllNeedlesRequest) ProtoMessage() {}

func (x *ReadAllNeedlesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[54]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadAllNeedlesRequest.ProtoReflect.Descriptor instead.
func (*ReadAllNeedlesRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{54}
}

func (x *ReadAllNeedlesRequest) GetVolumeIds() []uint32 {
	if x != nil {
		return x.VolumeIds
	}
	return nil
}

type ReadAllNeedlesResponse struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	VolumeId             uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	NeedleId             uint64                 `protobuf:"varint,2,opt,name=needle_id,json=needleId,proto3" json:"needle_id,omitempty"`
	Cookie               uint32                 `protobuf:"varint,3,opt,name=cookie,proto3" json:"cookie,omitempty"`
	NeedleBlob           []byte                 `protobuf:"bytes,5,opt,name=needle_blob,json=needleBlob,proto3" json:"needle_blob,omitempty"`
	NeedleBlobCompressed bool                   `protobuf:"varint,6,opt,name=needle_blob_compressed,json=needleBlobCompressed,proto3" json:"needle_blob_compressed,omitempty"`
	LastModified         uint64                 `protobuf:"varint,7,opt,name=last_modified,json=lastModified,proto3" json:"last_modified,omitempty"`
	Crc                  uint32                 `protobuf:"varint,8,opt,name=crc,proto3" json:"crc,omitempty"`
	Name                 []byte                 `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
	Mime                 []byte                 `protobuf:"bytes,10,opt,name=mime,proto3" json:"mime,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *ReadAllNeedlesResponse) Reset() {
	*x = ReadAllNeedlesResponse{}
	mi := &file_volume_server_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadAllNeedlesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadAllNeedlesResponse) ProtoMessage() {}

func (x *ReadAllNeedlesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[55]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadAllNeedlesResponse.ProtoReflect.Descriptor instead.
func (*ReadAllNeedlesResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{55}
}

func (x *ReadAllNeedlesResponse) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *ReadAllNeedlesResponse) GetNeedleId() uint64 {
	if x != nil {
		return x.NeedleId
	}
	return 0
}

func (x *ReadAllNeedlesResponse) GetCookie() uint32 {
	if x != nil {
		return x.Cookie
	}
	return 0
}

func (x *ReadAllNeedlesResponse) GetNeedleBlob() []byte {
	if x != nil {
		return x.NeedleBlob
	}
	return nil
}

func (x *ReadAllNeedlesResponse) GetNeedleBlobCompressed() bool {
	if x != nil {
		return x.NeedleBlobCompressed
	}
	return false
}

func (x *ReadAllNeedlesResponse) GetLastModified() uint64 {
	if x != nil {
		return x.LastModified
	}
	return 0
}

func (x *ReadAllNeedlesResponse) GetCrc() uint32 {
	if x != nil {
		return x.Crc
	}
	return 0
}

func (x *ReadAllNeedlesResponse) GetName() []byte {
	if x != nil {
		return x.Name
	}
	return nil
}

func (x *ReadAllNeedlesResponse) GetMime() []byte {
	if x != nil {
		return x.Mime
	}
	return nil
}

type VolumeTailSenderRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	VolumeId           uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	SinceNs            uint64                 `protobuf:"varint,2,opt,name=since_ns,json=sinceNs,proto3" json:"since_ns,omitempty"`
	IdleTimeoutSeconds uint32                 `protobuf:"varint,3,opt,name=idle_timeout_seconds,json=idleTimeoutSeconds,proto3" json:"idle_timeout_seconds,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *VolumeTailSenderRequest) Reset() {
	*x = VolumeTailSenderRequest{}
	mi := &file_volume_server_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeTailSenderRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeTailSenderRequest) ProtoMessage() {}

func (x *VolumeTailSenderRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[56]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeTailSenderRequest.ProtoReflect.Descriptor instead.
func (*VolumeTailSenderRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{56}
}

func (x *VolumeTailSenderRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeTailSenderRequest) GetSinceNs() uint64 {
	if x != nil {
		return x.SinceNs
	}
	return 0
}

func (x *VolumeTailSenderRequest) GetIdleTimeoutSeconds() uint32 {
	if x != nil {
		return x.IdleTimeoutSeconds
	}
	return 0
}

type VolumeTailSenderResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	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,proto3" json:"is_last_chunk,omitempty"`
	Version       uint32                 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeTailSenderResponse) Reset() {
	*x = VolumeTailSenderResponse{}
	mi := &file_volume_server_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeTailSenderResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeTailSenderResponse) ProtoMessage() {}

func (x *VolumeTailSenderResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[57]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeTailSenderResponse.ProtoReflect.Descriptor instead.
func (*VolumeTailSenderResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{57}
}

func (x *VolumeTailSenderResponse) GetNeedleHeader() []byte {
	if x != nil {
		return x.NeedleHeader
	}
	return nil
}

func (x *VolumeTailSenderResponse) GetNeedleBody() []byte {
	if x != nil {
		return x.NeedleBody
	}
	return nil
}

func (x *VolumeTailSenderResponse) GetIsLastChunk() bool {
	if x != nil {
		return x.IsLastChunk
	}
	return false
}

func (x *VolumeTailSenderResponse) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

type VolumeTailReceiverRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	VolumeId           uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	SinceNs            uint64                 `protobuf:"varint,2,opt,name=since_ns,json=sinceNs,proto3" json:"since_ns,omitempty"`
	IdleTimeoutSeconds uint32                 `protobuf:"varint,3,opt,name=idle_timeout_seconds,json=idleTimeoutSeconds,proto3" json:"idle_timeout_seconds,omitempty"`
	SourceVolumeServer string                 `protobuf:"bytes,4,opt,name=source_volume_server,json=sourceVolumeServer,proto3" json:"source_volume_server,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *VolumeTailReceiverRequest) Reset() {
	*x = VolumeTailReceiverRequest{}
	mi := &file_volume_server_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeTailReceiverRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeTailReceiverRequest) ProtoMessage() {}

func (x *VolumeTailReceiverRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[58]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeTailReceiverRequest.ProtoReflect.Descriptor instead.
func (*VolumeTailReceiverRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{58}
}

func (x *VolumeTailReceiverRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeTailReceiverRequest) GetSinceNs() uint64 {
	if x != nil {
		return x.SinceNs
	}
	return 0
}

func (x *VolumeTailReceiverRequest) GetIdleTimeoutSeconds() uint32 {
	if x != nil {
		return x.IdleTimeoutSeconds
	}
	return 0
}

func (x *VolumeTailReceiverRequest) GetSourceVolumeServer() string {
	if x != nil {
		return x.SourceVolumeServer
	}
	return ""
}

type VolumeTailReceiverResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeTailReceiverResponse) Reset() {
	*x = VolumeTailReceiverResponse{}
	mi := &file_volume_server_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeTailReceiverResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeTailReceiverResponse) ProtoMessage() {}

func (x *VolumeTailReceiverResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[59]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeTailReceiverResponse.ProtoReflect.Descriptor instead.
func (*VolumeTailReceiverResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{59}
}

type VolumeEcShardsGenerateRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection    string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardsGenerateRequest) Reset() {
	*x = VolumeEcShardsGenerateRequest{}
	mi := &file_volume_server_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsGenerateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsGenerateRequest) ProtoMessage() {}

func (x *VolumeEcShardsGenerateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[60]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsGenerateRequest.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsGenerateRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{60}
}

func (x *VolumeEcShardsGenerateRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeEcShardsGenerateRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

type VolumeEcShardsGenerateResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardsGenerateResponse) Reset() {
	*x = VolumeEcShardsGenerateResponse{}
	mi := &file_volume_server_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsGenerateResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsGenerateResponse) ProtoMessage() {}

func (x *VolumeEcShardsGenerateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[61]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsGenerateResponse.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsGenerateResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{61}
}

type VolumeEcShardsRebuildRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	VolumeId            uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection          string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	UnsafeIgnoreSidecar bool                   `protobuf:"varint,3,opt,name=unsafe_ignore_sidecar,json=unsafeIgnoreSidecar,proto3" json:"unsafe_ignore_sidecar,omitempty"` // bypass the bitrot-sidecar fail-closed guard (operator override; distinct from ec.rebuild -force)
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *VolumeEcShardsRebuildRequest) Reset() {
	*x = VolumeEcShardsRebuildRequest{}
	mi := &file_volume_server_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsRebuildRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsRebuildRequest) ProtoMessage() {}

func (x *VolumeEcShardsRebuildRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[62]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsRebuildRequest.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsRebuildRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{62}
}

func (x *VolumeEcShardsRebuildRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeEcShardsRebuildRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *VolumeEcShardsRebuildRequest) GetUnsafeIgnoreSidecar() bool {
	if x != nil {
		return x.UnsafeIgnoreSidecar
	}
	return false
}

type VolumeEcShardsRebuildResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	RebuiltShardIds []uint32               `protobuf:"varint,1,rep,packed,name=rebuilt_shard_ids,json=rebuiltShardIds,proto3" json:"rebuilt_shard_ids,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *VolumeEcShardsRebuildResponse) Reset() {
	*x = VolumeEcShardsRebuildResponse{}
	mi := &file_volume_server_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsRebuildResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsRebuildResponse) ProtoMessage() {}

func (x *VolumeEcShardsRebuildResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[63]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsRebuildResponse.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsRebuildResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{63}
}

func (x *VolumeEcShardsRebuildResponse) GetRebuiltShardIds() []uint32 {
	if x != nil {
		return x.RebuiltShardIds
	}
	return nil
}

type VolumeEcShardsCopyRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	VolumeId        uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection      string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	ShardIds        []uint32               `protobuf:"varint,3,rep,packed,name=shard_ids,json=shardIds,proto3" json:"shard_ids,omitempty"`
	CopyEcxFile     bool                   `protobuf:"varint,4,opt,name=copy_ecx_file,json=copyEcxFile,proto3" json:"copy_ecx_file,omitempty"`
	SourceDataNode  string                 `protobuf:"bytes,5,opt,name=source_data_node,json=sourceDataNode,proto3" json:"source_data_node,omitempty"`
	CopyEcjFile     bool                   `protobuf:"varint,6,opt,name=copy_ecj_file,json=copyEcjFile,proto3" json:"copy_ecj_file,omitempty"`
	CopyVifFile     bool                   `protobuf:"varint,7,opt,name=copy_vif_file,json=copyVifFile,proto3" json:"copy_vif_file,omitempty"`
	DiskId          uint32                 `protobuf:"varint,8,opt,name=disk_id,json=diskId,proto3" json:"disk_id,omitempty"`                                 // Target disk ID for storing EC shards
	CopyEcsumFile   bool                   `protobuf:"varint,9,opt,name=copy_ecsum_file,json=copyEcsumFile,proto3" json:"copy_ecsum_file,omitempty"`          // copy the bitrot checksum sidecar (.ecsum) when present; tolerant of a missing source (no-op), since this non-2PC path has no Prepare backstop
	IoBytePerSecond int64                  `protobuf:"varint,10,opt,name=io_byte_per_second,json=ioBytePerSecond,proto3" json:"io_byte_per_second,omitempty"` // limit the copy rate; 0 falls back to the server's maintenance rate
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *VolumeEcShardsCopyRequest) Reset() {
	*x = VolumeEcShardsCopyRequest{}
	mi := &file_volume_server_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsCopyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsCopyRequest) ProtoMessage() {}

func (x *VolumeEcShardsCopyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[64]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsCopyRequest.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsCopyRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{64}
}

func (x *VolumeEcShardsCopyRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeEcShardsCopyRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *VolumeEcShardsCopyRequest) GetShardIds() []uint32 {
	if x != nil {
		return x.ShardIds
	}
	return nil
}

func (x *VolumeEcShardsCopyRequest) GetCopyEcxFile() bool {
	if x != nil {
		return x.CopyEcxFile
	}
	return false
}

func (x *VolumeEcShardsCopyRequest) GetSourceDataNode() string {
	if x != nil {
		return x.SourceDataNode
	}
	return ""
}

func (x *VolumeEcShardsCopyRequest) GetCopyEcjFile() bool {
	if x != nil {
		return x.CopyEcjFile
	}
	return false
}

func (x *VolumeEcShardsCopyRequest) GetCopyVifFile() bool {
	if x != nil {
		return x.CopyVifFile
	}
	return false
}

func (x *VolumeEcShardsCopyRequest) GetDiskId() uint32 {
	if x != nil {
		return x.DiskId
	}
	return 0
}

func (x *VolumeEcShardsCopyRequest) GetCopyEcsumFile() bool {
	if x != nil {
		return x.CopyEcsumFile
	}
	return false
}

func (x *VolumeEcShardsCopyRequest) GetIoBytePerSecond() int64 {
	if x != nil {
		return x.IoBytePerSecond
	}
	return 0
}

type VolumeEcShardsCopyResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardsCopyResponse) Reset() {
	*x = VolumeEcShardsCopyResponse{}
	mi := &file_volume_server_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsCopyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsCopyResponse) ProtoMessage() {}

func (x *VolumeEcShardsCopyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[65]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsCopyResponse.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsCopyResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{65}
}

type VolumeEcShardsDeleteRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection    string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	ShardIds      []uint32               `protobuf:"varint,3,rep,packed,name=shard_ids,json=shardIds,proto3" json:"shard_ids,omitempty"`
	FullTeardown  bool                   `protobuf:"varint,4,opt,name=full_teardown,json=fullTeardown,proto3" json:"full_teardown,omitempty"` // pre-encode cleanup: wipe every EC artifact + generation for this volume, not just shard_ids
	EncodeTsNs    int64                  `protobuf:"varint,5,opt,name=encode_ts_ns,json=encodeTsNs,proto3" json:"encode_ts_ns,omitempty"`     // full_teardown generation fence: delete only a disk whose .vif generation is strictly OLDER than this; preserve same-or-newer, generation 0, and an unreadable .vif. 0 => wipe-all (shell pre-encode / pre-upgrade)
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardsDeleteRequest) Reset() {
	*x = VolumeEcShardsDeleteRequest{}
	mi := &file_volume_server_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsDeleteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsDeleteRequest) ProtoMessage() {}

func (x *VolumeEcShardsDeleteRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[66]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsDeleteRequest.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsDeleteRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{66}
}

func (x *VolumeEcShardsDeleteRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeEcShardsDeleteRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *VolumeEcShardsDeleteRequest) GetShardIds() []uint32 {
	if x != nil {
		return x.ShardIds
	}
	return nil
}

func (x *VolumeEcShardsDeleteRequest) GetFullTeardown() bool {
	if x != nil {
		return x.FullTeardown
	}
	return false
}

func (x *VolumeEcShardsDeleteRequest) GetEncodeTsNs() int64 {
	if x != nil {
		return x.EncodeTsNs
	}
	return 0
}

type VolumeEcShardsDeleteResponse struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	FullTeardownDone bool                   `protobuf:"varint,1,opt,name=full_teardown_done,json=fullTeardownDone,proto3" json:"full_teardown_done,omitempty"` // set by a new server that performed full_teardown; absent from an old server lets the caller detect the silent no-op
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *VolumeEcShardsDeleteResponse) Reset() {
	*x = VolumeEcShardsDeleteResponse{}
	mi := &file_volume_server_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsDeleteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsDeleteResponse) ProtoMessage() {}

func (x *VolumeEcShardsDeleteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[67]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsDeleteResponse.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsDeleteResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{67}
}

func (x *VolumeEcShardsDeleteResponse) GetFullTeardownDone() bool {
	if x != nil {
		return x.FullTeardownDone
	}
	return false
}

type VolumeEcShardsMountRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	VolumeId            uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection          string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	ShardIds            []uint32               `protobuf:"varint,3,rep,packed,name=shard_ids,json=shardIds,proto3" json:"shard_ids,omitempty"`
	SourceDiskType      string                 `protobuf:"bytes,4,opt,name=source_disk_type,json=sourceDiskType,proto3" json:"source_disk_type,omitempty"`                 // disk type of the source volume, applied to the in-memory EC volume so heartbeats report under it (#9423)
	RecoverMissingIndex bool                   `protobuf:"varint,5,opt,name=recover_missing_index,json=recoverMissingIndex,proto3" json:"recover_missing_index,omitempty"` // first fetch a missing .ecx index from a peer so on-disk shards without a local index become mountable (#10104)
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *VolumeEcShardsMountRequest) Reset() {
	*x = VolumeEcShardsMountRequest{}
	mi := &file_volume_server_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsMountRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsMountRequest) ProtoMessage() {}

func (x *VolumeEcShardsMountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[68]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsMountRequest.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsMountRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{68}
}

func (x *VolumeEcShardsMountRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeEcShardsMountRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *VolumeEcShardsMountRequest) GetShardIds() []uint32 {
	if x != nil {
		return x.ShardIds
	}
	return nil
}

func (x *VolumeEcShardsMountRequest) GetSourceDiskType() string {
	if x != nil {
		return x.SourceDiskType
	}
	return ""
}

func (x *VolumeEcShardsMountRequest) GetRecoverMissingIndex() bool {
	if x != nil {
		return x.RecoverMissingIndex
	}
	return false
}

type VolumeEcShardsMountResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardsMountResponse) Reset() {
	*x = VolumeEcShardsMountResponse{}
	mi := &file_volume_server_proto_msgTypes[69]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsMountResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsMountResponse) ProtoMessage() {}

func (x *VolumeEcShardsMountResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[69]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsMountResponse.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsMountResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{69}
}

type VolumeEcShardsUnmountRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	ShardIds      []uint32               `protobuf:"varint,3,rep,packed,name=shard_ids,json=shardIds,proto3" json:"shard_ids,omitempty"`
	EncodeTsNs    int64                  `protobuf:"varint,4,opt,name=encode_ts_ns,json=encodeTsNs,proto3" json:"encode_ts_ns,omitempty"` // generation fence: skip a disk whose mounted EC volume is this generation or newer (0 = unfenced, unmount all)
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardsUnmountRequest) Reset() {
	*x = VolumeEcShardsUnmountRequest{}
	mi := &file_volume_server_proto_msgTypes[70]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsUnmountRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsUnmountRequest) ProtoMessage() {}

func (x *VolumeEcShardsUnmountRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[70]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsUnmountRequest.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsUnmountRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{70}
}

func (x *VolumeEcShardsUnmountRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeEcShardsUnmountRequest) GetShardIds() []uint32 {
	if x != nil {
		return x.ShardIds
	}
	return nil
}

func (x *VolumeEcShardsUnmountRequest) GetEncodeTsNs() int64 {
	if x != nil {
		return x.EncodeTsNs
	}
	return 0
}

type VolumeEcShardsUnmountResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardsUnmountResponse) Reset() {
	*x = VolumeEcShardsUnmountResponse{}
	mi := &file_volume_server_proto_msgTypes[71]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsUnmountResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsUnmountResponse) ProtoMessage() {}

func (x *VolumeEcShardsUnmountResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[71]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsUnmountResponse.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsUnmountResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{71}
}

type VolumeEcShardReadRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	ShardId       uint32                 `protobuf:"varint,2,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
	Offset        int64                  `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
	Size          int64                  `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
	FileKey       uint64                 `protobuf:"varint,5,opt,name=file_key,json=fileKey,proto3" json:"file_key,omitempty"`
	EncodeTsNs    int64                  `protobuf:"varint,7,opt,name=encode_ts_ns,json=encodeTsNs,proto3" json:"encode_ts_ns,omitempty"` // caller's expected encode time; the server rejects a shard from a different encode run
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardReadRequest) Reset() {
	*x = VolumeEcShardReadRequest{}
	mi := &file_volume_server_proto_msgTypes[72]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardReadRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardReadRequest) ProtoMessage() {}

func (x *VolumeEcShardReadRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[72]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardReadRequest.ProtoReflect.Descriptor instead.
func (*VolumeEcShardReadRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{72}
}

func (x *VolumeEcShardReadRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeEcShardReadRequest) GetShardId() uint32 {
	if x != nil {
		return x.ShardId
	}
	return 0
}

func (x *VolumeEcShardReadRequest) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *VolumeEcShardReadRequest) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *VolumeEcShardReadRequest) GetFileKey() uint64 {
	if x != nil {
		return x.FileKey
	}
	return 0
}

func (x *VolumeEcShardReadRequest) GetEncodeTsNs() int64 {
	if x != nil {
		return x.EncodeTsNs
	}
	return 0
}

type VolumeEcShardReadResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Data          []byte                 `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	IsDeleted     bool                   `protobuf:"varint,2,opt,name=is_deleted,json=isDeleted,proto3" json:"is_deleted,omitempty"`
	EncodeTsNs    int64                  `protobuf:"varint,3,opt,name=encode_ts_ns,json=encodeTsNs,proto3" json:"encode_ts_ns,omitempty"` // identity of the shard actually served; client rejects a mismatch (0 = pre-upgrade server)
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardReadResponse) Reset() {
	*x = VolumeEcShardReadResponse{}
	mi := &file_volume_server_proto_msgTypes[73]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardReadResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardReadResponse) ProtoMessage() {}

func (x *VolumeEcShardReadResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[73]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardReadResponse.ProtoReflect.Descriptor instead.
func (*VolumeEcShardReadResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{73}
}

func (x *VolumeEcShardReadResponse) GetData() []byte {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *VolumeEcShardReadResponse) GetIsDeleted() bool {
	if x != nil {
		return x.IsDeleted
	}
	return false
}

func (x *VolumeEcShardReadResponse) GetEncodeTsNs() int64 {
	if x != nil {
		return x.EncodeTsNs
	}
	return 0
}

type VolumeEcBlobDeleteRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection    string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	FileKey       uint64                 `protobuf:"varint,3,opt,name=file_key,json=fileKey,proto3" json:"file_key,omitempty"`
	Version       uint32                 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcBlobDeleteRequest) Reset() {
	*x = VolumeEcBlobDeleteRequest{}
	mi := &file_volume_server_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcBlobDeleteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcBlobDeleteRequest) ProtoMessage() {}

func (x *VolumeEcBlobDeleteRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[74]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcBlobDeleteRequest.ProtoReflect.Descriptor instead.
func (*VolumeEcBlobDeleteRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{74}
}

func (x *VolumeEcBlobDeleteRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeEcBlobDeleteRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *VolumeEcBlobDeleteRequest) GetFileKey() uint64 {
	if x != nil {
		return x.FileKey
	}
	return 0
}

func (x *VolumeEcBlobDeleteRequest) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

type VolumeEcBlobDeleteResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcBlobDeleteResponse) Reset() {
	*x = VolumeEcBlobDeleteResponse{}
	mi := &file_volume_server_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcBlobDeleteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcBlobDeleteResponse) ProtoMessage() {}

func (x *VolumeEcBlobDeleteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[75]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcBlobDeleteResponse.ProtoReflect.Descriptor instead.
func (*VolumeEcBlobDeleteResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{75}
}

type VolumeEcShardsToVolumeRequest struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	VolumeId   uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	// Staged mode: the caller already decoded the EC shards off-box and pushed
	// .dat/.idx/.vif as <base><ext>.copying to this server (ReceiveFile
	// staged-new-volume mode). Adopt them as a normal volume instead of decoding
	// local EC shards in place, so <vid> is never registered as both EC and
	// normal on one disk.
	FromStaged    bool   `protobuf:"varint,3,opt,name=from_staged,json=fromStaged,proto3" json:"from_staged,omitempty"`
	DiskType      string `protobuf:"bytes,4,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"` // target medium's disk location for the normal volume (staged mode)
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardsToVolumeRequest) Reset() {
	*x = VolumeEcShardsToVolumeRequest{}
	mi := &file_volume_server_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsToVolumeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsToVolumeRequest) ProtoMessage() {}

func (x *VolumeEcShardsToVolumeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[76]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsToVolumeRequest.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsToVolumeRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{76}
}

func (x *VolumeEcShardsToVolumeRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeEcShardsToVolumeRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *VolumeEcShardsToVolumeRequest) GetFromStaged() bool {
	if x != nil {
		return x.FromStaged
	}
	return false
}

func (x *VolumeEcShardsToVolumeRequest) GetDiskType() string {
	if x != nil {
		return x.DiskType
	}
	return ""
}

type VolumeEcShardsToVolumeResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardsToVolumeResponse) Reset() {
	*x = VolumeEcShardsToVolumeResponse{}
	mi := &file_volume_server_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsToVolumeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsToVolumeResponse) ProtoMessage() {}

func (x *VolumeEcShardsToVolumeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[77]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsToVolumeResponse.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsToVolumeResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{77}
}

type VolumeEcShardsInfoRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeEcShardsInfoRequest) Reset() {
	*x = VolumeEcShardsInfoRequest{}
	mi := &file_volume_server_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsInfoRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsInfoRequest) ProtoMessage() {}

func (x *VolumeEcShardsInfoRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[78]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsInfoRequest.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsInfoRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{78}
}

func (x *VolumeEcShardsInfoRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type VolumeEcShardsInfoResponse struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	EcShardInfos     []*EcShardInfo         `protobuf:"bytes,1,rep,name=ec_shard_infos,json=ecShardInfos,proto3" json:"ec_shard_infos,omitempty"`
	VolumeSize       uint64                 `protobuf:"varint,2,opt,name=volume_size,json=volumeSize,proto3" json:"volume_size,omitempty"`
	FileCount        uint64                 `protobuf:"varint,3,opt,name=file_count,json=fileCount,proto3" json:"file_count,omitempty"`
	FileDeletedCount uint64                 `protobuf:"varint,4,opt,name=file_deleted_count,json=fileDeletedCount,proto3" json:"file_deleted_count,omitempty"`
	EcShardConfig    *EcShardConfig         `protobuf:"bytes,10,opt,name=ec_shard_config,json=ecShardConfig,proto3" json:"ec_shard_config,omitempty"` // the layout this holder serves reads through; a binary predating a field reports it as unset
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *VolumeEcShardsInfoResponse) Reset() {
	*x = VolumeEcShardsInfoResponse{}
	mi := &file_volume_server_proto_msgTypes[79]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeEcShardsInfoResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeEcShardsInfoResponse) ProtoMessage() {}

func (x *VolumeEcShardsInfoResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[79]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeEcShardsInfoResponse.ProtoReflect.Descriptor instead.
func (*VolumeEcShardsInfoResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{79}
}

func (x *VolumeEcShardsInfoResponse) GetEcShardInfos() []*EcShardInfo {
	if x != nil {
		return x.EcShardInfos
	}
	return nil
}

func (x *VolumeEcShardsInfoResponse) GetVolumeSize() uint64 {
	if x != nil {
		return x.VolumeSize
	}
	return 0
}

func (x *VolumeEcShardsInfoResponse) GetFileCount() uint64 {
	if x != nil {
		return x.FileCount
	}
	return 0
}

func (x *VolumeEcShardsInfoResponse) GetFileDeletedCount() uint64 {
	if x != nil {
		return x.FileDeletedCount
	}
	return 0
}

func (x *VolumeEcShardsInfoResponse) GetEcShardConfig() *EcShardConfig {
	if x != nil {
		return x.EcShardConfig
	}
	return nil
}

type EcShardInfo struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ShardId       uint32                 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
	Size          int64                  `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	Collection    string                 `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"`
	VolumeId      uint32                 `protobuf:"varint,4,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EcShardInfo) Reset() {
	*x = EcShardInfo{}
	mi := &file_volume_server_proto_msgTypes[80]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EcShardInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EcShardInfo) ProtoMessage() {}

func (x *EcShardInfo) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[80]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EcShardInfo.ProtoReflect.Descriptor instead.
func (*EcShardInfo) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{80}
}

func (x *EcShardInfo) GetShardId() uint32 {
	if x != nil {
		return x.ShardId
	}
	return 0
}

func (x *EcShardInfo) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *EcShardInfo) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *EcShardInfo) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type ReadVolumeFileStatusRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReadVolumeFileStatusRequest) Reset() {
	*x = ReadVolumeFileStatusRequest{}
	mi := &file_volume_server_proto_msgTypes[81]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadVolumeFileStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadVolumeFileStatusRequest) ProtoMessage() {}

func (x *ReadVolumeFileStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[81]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadVolumeFileStatusRequest.ProtoReflect.Descriptor instead.
func (*ReadVolumeFileStatusRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{81}
}

func (x *ReadVolumeFileStatusRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

type ReadVolumeFileStatusResponse struct {
	state                   protoimpl.MessageState `protogen:"open.v1"`
	VolumeId                uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	IdxFileTimestampSeconds uint64                 `protobuf:"varint,2,opt,name=idx_file_timestamp_seconds,json=idxFileTimestampSeconds,proto3" json:"idx_file_timestamp_seconds,omitempty"`
	IdxFileSize             uint64                 `protobuf:"varint,3,opt,name=idx_file_size,json=idxFileSize,proto3" json:"idx_file_size,omitempty"`
	DatFileTimestampSeconds uint64                 `protobuf:"varint,4,opt,name=dat_file_timestamp_seconds,json=datFileTimestampSeconds,proto3" json:"dat_file_timestamp_seconds,omitempty"`
	DatFileSize             uint64                 `protobuf:"varint,5,opt,name=dat_file_size,json=datFileSize,proto3" json:"dat_file_size,omitempty"`
	FileCount               uint64                 `protobuf:"varint,6,opt,name=file_count,json=fileCount,proto3" json:"file_count,omitempty"`
	CompactionRevision      uint32                 `protobuf:"varint,7,opt,name=compaction_revision,json=compactionRevision,proto3" json:"compaction_revision,omitempty"`
	Collection              string                 `protobuf:"bytes,8,opt,name=collection,proto3" json:"collection,omitempty"`
	DiskType                string                 `protobuf:"bytes,9,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
	VolumeInfo              *VolumeInfo            `protobuf:"bytes,10,opt,name=volume_info,json=volumeInfo,proto3" json:"volume_info,omitempty"`
	Version                 uint32                 `protobuf:"varint,11,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *ReadVolumeFileStatusResponse) Reset() {
	*x = ReadVolumeFileStatusResponse{}
	mi := &file_volume_server_proto_msgTypes[82]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReadVolumeFileStatusResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadVolumeFileStatusResponse) ProtoMessage() {}

func (x *ReadVolumeFileStatusResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[82]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReadVolumeFileStatusResponse.ProtoReflect.Descriptor instead.
func (*ReadVolumeFileStatusResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{82}
}

func (x *ReadVolumeFileStatusResponse) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *ReadVolumeFileStatusResponse) GetIdxFileTimestampSeconds() uint64 {
	if x != nil {
		return x.IdxFileTimestampSeconds
	}
	return 0
}

func (x *ReadVolumeFileStatusResponse) GetIdxFileSize() uint64 {
	if x != nil {
		return x.IdxFileSize
	}
	return 0
}

func (x *ReadVolumeFileStatusResponse) GetDatFileTimestampSeconds() uint64 {
	if x != nil {
		return x.DatFileTimestampSeconds
	}
	return 0
}

func (x *ReadVolumeFileStatusResponse) GetDatFileSize() uint64 {
	if x != nil {
		return x.DatFileSize
	}
	return 0
}

func (x *ReadVolumeFileStatusResponse) GetFileCount() uint64 {
	if x != nil {
		return x.FileCount
	}
	return 0
}

func (x *ReadVolumeFileStatusResponse) GetCompactionRevision() uint32 {
	if x != nil {
		return x.CompactionRevision
	}
	return 0
}

func (x *ReadVolumeFileStatusResponse) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *ReadVolumeFileStatusResponse) GetDiskType() string {
	if x != nil {
		return x.DiskType
	}
	return ""
}

func (x *ReadVolumeFileStatusResponse) GetVolumeInfo() *VolumeInfo {
	if x != nil {
		return x.VolumeInfo
	}
	return nil
}

func (x *ReadVolumeFileStatusResponse) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

type DiskStatus struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Dir           string                 `protobuf:"bytes,1,opt,name=dir,proto3" json:"dir,omitempty"`
	All           uint64                 `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"`
	Used          uint64                 `protobuf:"varint,3,opt,name=used,proto3" json:"used,omitempty"`
	Free          uint64                 `protobuf:"varint,4,opt,name=free,proto3" json:"free,omitempty"`
	PercentFree   float32                `protobuf:"fixed32,5,opt,name=percent_free,json=percentFree,proto3" json:"percent_free,omitempty"`
	PercentUsed   float32                `protobuf:"fixed32,6,opt,name=percent_used,json=percentUsed,proto3" json:"percent_used,omitempty"`
	DiskType      string                 `protobuf:"bytes,7,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"`
	Error         string                 `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DiskStatus) Reset() {
	*x = DiskStatus{}
	mi := &file_volume_server_proto_msgTypes[83]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DiskStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DiskStatus) ProtoMessage() {}

func (x *DiskStatus) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[83]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DiskStatus.ProtoReflect.Descriptor instead.
func (*DiskStatus) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{83}
}

func (x *DiskStatus) GetDir() string {
	if x != nil {
		return x.Dir
	}
	return ""
}

func (x *DiskStatus) GetAll() uint64 {
	if x != nil {
		return x.All
	}
	return 0
}

func (x *DiskStatus) GetUsed() uint64 {
	if x != nil {
		return x.Used
	}
	return 0
}

func (x *DiskStatus) GetFree() uint64 {
	if x != nil {
		return x.Free
	}
	return 0
}

func (x *DiskStatus) GetPercentFree() float32 {
	if x != nil {
		return x.PercentFree
	}
	return 0
}

func (x *DiskStatus) GetPercentUsed() float32 {
	if x != nil {
		return x.PercentUsed
	}
	return 0
}

func (x *DiskStatus) GetDiskType() string {
	if x != nil {
		return x.DiskType
	}
	return ""
}

func (x *DiskStatus) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

type MemStatus struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Goroutines    int32                  `protobuf:"varint,1,opt,name=goroutines,proto3" json:"goroutines,omitempty"`
	All           uint64                 `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"`
	Used          uint64                 `protobuf:"varint,3,opt,name=used,proto3" json:"used,omitempty"`
	Free          uint64                 `protobuf:"varint,4,opt,name=free,proto3" json:"free,omitempty"`
	Self          uint64                 `protobuf:"varint,5,opt,name=self,proto3" json:"self,omitempty"`
	Heap          uint64                 `protobuf:"varint,6,opt,name=heap,proto3" json:"heap,omitempty"`
	Stack         uint64                 `protobuf:"varint,7,opt,name=stack,proto3" json:"stack,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MemStatus) Reset() {
	*x = MemStatus{}
	mi := &file_volume_server_proto_msgTypes[84]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MemStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MemStatus) ProtoMessage() {}

func (x *MemStatus) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[84]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MemStatus.ProtoReflect.Descriptor instead.
func (*MemStatus) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{84}
}

func (x *MemStatus) GetGoroutines() int32 {
	if x != nil {
		return x.Goroutines
	}
	return 0
}

func (x *MemStatus) GetAll() uint64 {
	if x != nil {
		return x.All
	}
	return 0
}

func (x *MemStatus) GetUsed() uint64 {
	if x != nil {
		return x.Used
	}
	return 0
}

func (x *MemStatus) GetFree() uint64 {
	if x != nil {
		return x.Free
	}
	return 0
}

func (x *MemStatus) GetSelf() uint64 {
	if x != nil {
		return x.Self
	}
	return 0
}

func (x *MemStatus) GetHeap() uint64 {
	if x != nil {
		return x.Heap
	}
	return 0
}

func (x *MemStatus) GetStack() uint64 {
	if x != nil {
		return x.Stack
	}
	return 0
}

// tired storage on volume servers
type RemoteFile struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	BackendType   string                 `protobuf:"bytes,1,opt,name=backend_type,json=backendType,proto3" json:"backend_type,omitempty"`
	BackendId     string                 `protobuf:"bytes,2,opt,name=backend_id,json=backendId,proto3" json:"backend_id,omitempty"`
	Key           string                 `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
	Offset        uint64                 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
	FileSize      uint64                 `protobuf:"varint,5,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
	ModifiedTime  uint64                 `protobuf:"varint,6,opt,name=modified_time,json=modifiedTime,proto3" json:"modified_time,omitempty"`
	Extension     string                 `protobuf:"bytes,7,opt,name=extension,proto3" json:"extension,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoteFile) Reset() {
	*x = RemoteFile{}
	mi := &file_volume_server_proto_msgTypes[85]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RemoteFile) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoteFile) ProtoMessage() {}

func (x *RemoteFile) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[85]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoteFile.ProtoReflect.Descriptor instead.
func (*RemoteFile) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{85}
}

func (x *RemoteFile) GetBackendType() string {
	if x != nil {
		return x.BackendType
	}
	return ""
}

func (x *RemoteFile) GetBackendId() string {
	if x != nil {
		return x.BackendId
	}
	return ""
}

func (x *RemoteFile) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *RemoteFile) GetOffset() uint64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *RemoteFile) GetFileSize() uint64 {
	if x != nil {
		return x.FileSize
	}
	return 0
}

func (x *RemoteFile) GetModifiedTime() uint64 {
	if x != nil {
		return x.ModifiedTime
	}
	return 0
}

func (x *RemoteFile) GetExtension() string {
	if x != nil {
		return x.Extension
	}
	return ""
}

type VolumeInfo struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Files             []*RemoteFile          `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"`
	Version           uint32                 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
	Replication       string                 `protobuf:"bytes,3,opt,name=replication,proto3" json:"replication,omitempty"`
	BytesOffset       uint32                 `protobuf:"varint,4,opt,name=bytes_offset,json=bytesOffset,proto3" json:"bytes_offset,omitempty"`
	DatFileSize       int64                  `protobuf:"varint,5,opt,name=dat_file_size,json=datFileSize,proto3" json:"dat_file_size,omitempty"` // store the original dat file size
	ExpireAtSec       uint64                 `protobuf:"varint,6,opt,name=expire_at_sec,json=expireAtSec,proto3" json:"expire_at_sec,omitempty"` // expiration time of ec volume
	ReadOnly          bool                   `protobuf:"varint,7,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
	EcShardConfig     *EcShardConfig         `protobuf:"bytes,8,opt,name=ec_shard_config,json=ecShardConfig,proto3" json:"ec_shard_config,omitempty"`                // EC shard configuration (optional, null = use default 10+4)
	ReadOnlyCanDelete bool                   `protobuf:"varint,9,opt,name=read_only_can_delete,json=readOnlyCanDelete,proto3" json:"read_only_can_delete,omitempty"` // with read_only: writes are rejected but deletes still land
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *VolumeInfo) Reset() {
	*x = VolumeInfo{}
	mi := &file_volume_server_proto_msgTypes[86]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeInfo) ProtoMessage() {}

func (x *VolumeInfo) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[86]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeInfo.ProtoReflect.Descriptor instead.
func (*VolumeInfo) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{86}
}

func (x *VolumeInfo) GetFiles() []*RemoteFile {
	if x != nil {
		return x.Files
	}
	return nil
}

func (x *VolumeInfo) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *VolumeInfo) GetReplication() string {
	if x != nil {
		return x.Replication
	}
	return ""
}

func (x *VolumeInfo) GetBytesOffset() uint32 {
	if x != nil {
		return x.BytesOffset
	}
	return 0
}

func (x *VolumeInfo) GetDatFileSize() int64 {
	if x != nil {
		return x.DatFileSize
	}
	return 0
}

func (x *VolumeInfo) GetExpireAtSec() uint64 {
	if x != nil {
		return x.ExpireAtSec
	}
	return 0
}

func (x *VolumeInfo) GetReadOnly() bool {
	if x != nil {
		return x.ReadOnly
	}
	return false
}

func (x *VolumeInfo) GetEcShardConfig() *EcShardConfig {
	if x != nil {
		return x.EcShardConfig
	}
	return nil
}

func (x *VolumeInfo) GetReadOnlyCanDelete() bool {
	if x != nil {
		return x.ReadOnlyCanDelete
	}
	return false
}

// EcShardConfig specifies erasure coding shard configuration
type EcShardConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DataShards    uint32                 `protobuf:"varint,1,opt,name=data_shards,json=dataShards,proto3" json:"data_shards,omitempty"`       // Number of data shards (e.g., 10)
	ParityShards  uint32                 `protobuf:"varint,2,opt,name=parity_shards,json=parityShards,proto3" json:"parity_shards,omitempty"` // Number of parity shards (e.g., 4)
	EncodeTsNs    int64                  `protobuf:"varint,3,opt,name=encode_ts_ns,json=encodeTsNs,proto3" json:"encode_ts_ns,omitempty"`     // encode time (unix nanos); a read served from a shard of a different encode run is rejected
	BlockSize     int64                  `protobuf:"varint,4,opt,name=block_size,json=blockSize,proto3" json:"block_size,omitempty"`          // uniform block layout: each shard is a single contiguous block of this many bytes; 0 = legacy 1GiB/1MiB two-tier layout
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EcShardConfig) Reset() {
	*x = EcShardConfig{}
	mi := &file_volume_server_proto_msgTypes[87]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EcShardConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EcShardConfig) ProtoMessage() {}

func (x *EcShardConfig) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[87]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EcShardConfig.ProtoReflect.Descriptor instead.
func (*EcShardConfig) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{87}
}

func (x *EcShardConfig) GetDataShards() uint32 {
	if x != nil {
		return x.DataShards
	}
	return 0
}

func (x *EcShardConfig) GetParityShards() uint32 {
	if x != nil {
		return x.ParityShards
	}
	return 0
}

func (x *EcShardConfig) GetEncodeTsNs() int64 {
	if x != nil {
		return x.EncodeTsNs
	}
	return 0
}

func (x *EcShardConfig) GetBlockSize() int64 {
	if x != nil {
		return x.BlockSize
	}
	return 0
}

// EcBitrotProtection is the entire content of a bitrot checksum sidecar
// (<base>.ecsum for the legacy generation, <base>.ecsum.v<N> for vacuum
// generation N). On disk it is wrapped in a fixed header carrying a CRC32C
// over this serialized payload (see weed/storage/erasure_coding/ec_bitrot.go).
type EcBitrotProtection struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Algorithm     ChecksumAlgorithm      `protobuf:"varint,1,opt,name=algorithm,proto3,enum=volume_server_pb.ChecksumAlgorithm" json:"algorithm,omitempty"` // CRC32C (Castagnoli)
	BlockSize     uint32                 `protobuf:"varint,2,opt,name=block_size,json=blockSize,proto3" json:"block_size,omitempty"`                        // bytes per checksum block; default 16777216 (16 MiB), a power-of-two multiple of 1 MiB
	Generation    uint32                 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`                                       // EC vacuum generation these checksums describe (0 = legacy/fresh); must match the sidecar filename version
	EcShardConfig *EcShardConfig         `protobuf:"bytes,4,opt,name=ec_shard_config,json=ecShardConfig,proto3" json:"ec_shard_config,omitempty"`           // data/parity shard counts at encode time
	Shards        []*EcShardChecksums    `protobuf:"bytes,5,rep,name=shards,proto3" json:"shards,omitempty"`                                                // one entry per shard id in the active layout
	EncodeUuid    []byte                 `protobuf:"bytes,6,opt,name=encode_uuid,json=encodeUuid,proto3" json:"encode_uuid,omitempty"`                      // random per-encode identity, for stale-sidecar detection across in-place re-encodes
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EcBitrotProtection) Reset() {
	*x = EcBitrotProtection{}
	mi := &file_volume_server_proto_msgTypes[88]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EcBitrotProtection) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EcBitrotProtection) ProtoMessage() {}

func (x *EcBitrotProtection) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[88]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EcBitrotProtection.ProtoReflect.Descriptor instead.
func (*EcBitrotProtection) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{88}
}

func (x *EcBitrotProtection) GetAlgorithm() ChecksumAlgorithm {
	if x != nil {
		return x.Algorithm
	}
	return ChecksumAlgorithm_CHECKSUM_NONE
}

func (x *EcBitrotProtection) GetBlockSize() uint32 {
	if x != nil {
		return x.BlockSize
	}
	return 0
}

func (x *EcBitrotProtection) GetGeneration() uint32 {
	if x != nil {
		return x.Generation
	}
	return 0
}

func (x *EcBitrotProtection) GetEcShardConfig() *EcShardConfig {
	if x != nil {
		return x.EcShardConfig
	}
	return nil
}

func (x *EcBitrotProtection) GetShards() []*EcShardChecksums {
	if x != nil {
		return x.Shards
	}
	return nil
}

func (x *EcBitrotProtection) GetEncodeUuid() []byte {
	if x != nil {
		return x.EncodeUuid
	}
	return nil
}

type EcShardChecksums struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ShardId       uint32                 `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`             // 0..MaxShardCount-1 (custom EC ratios go up to 32)
	CoveredSize   int64                  `protobuf:"varint,2,opt,name=covered_size,json=coveredSize,proto3" json:"covered_size,omitempty"` // shard byte length these checksums cover (must equal the on-disk shard length)
	BlockCrc32C   []byte                 `protobuf:"bytes,3,opt,name=block_crc32c,json=blockCrc32c,proto3" json:"block_crc32c,omitempty"`  // packed little-endian uint32[] = ceil(covered_size/block_size) entries
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EcShardChecksums) Reset() {
	*x = EcShardChecksums{}
	mi := &file_volume_server_proto_msgTypes[89]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EcShardChecksums) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EcShardChecksums) ProtoMessage() {}

func (x *EcShardChecksums) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[89]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EcShardChecksums.ProtoReflect.Descriptor instead.
func (*EcShardChecksums) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{89}
}

func (x *EcShardChecksums) GetShardId() uint32 {
	if x != nil {
		return x.ShardId
	}
	return 0
}

func (x *EcShardChecksums) GetCoveredSize() int64 {
	if x != nil {
		return x.CoveredSize
	}
	return 0
}

func (x *EcShardChecksums) GetBlockCrc32C() []byte {
	if x != nil {
		return x.BlockCrc32C
	}
	return nil
}

type OldVersionVolumeInfo struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Files         []*RemoteFile          `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"`
	Version       uint32                 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
	Replication   string                 `protobuf:"bytes,3,opt,name=replication,proto3" json:"replication,omitempty"`
	BytesOffset   uint32                 `protobuf:"varint,4,opt,name=BytesOffset,proto3" json:"BytesOffset,omitempty"`
	DatFileSize   int64                  `protobuf:"varint,5,opt,name=dat_file_size,json=datFileSize,proto3" json:"dat_file_size,omitempty"` // store the original dat file size
	DestroyTime   uint64                 `protobuf:"varint,6,opt,name=DestroyTime,proto3" json:"DestroyTime,omitempty"`                      // expiration time of ec volume
	ReadOnly      bool                   `protobuf:"varint,7,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OldVersionVolumeInfo) Reset() {
	*x = OldVersionVolumeInfo{}
	mi := &file_volume_server_proto_msgTypes[90]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OldVersionVolumeInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OldVersionVolumeInfo) ProtoMessage() {}

func (x *OldVersionVolumeInfo) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[90]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OldVersionVolumeInfo.ProtoReflect.Descriptor instead.
func (*OldVersionVolumeInfo) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{90}
}

func (x *OldVersionVolumeInfo) GetFiles() []*RemoteFile {
	if x != nil {
		return x.Files
	}
	return nil
}

func (x *OldVersionVolumeInfo) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *OldVersionVolumeInfo) GetReplication() string {
	if x != nil {
		return x.Replication
	}
	return ""
}

func (x *OldVersionVolumeInfo) GetBytesOffset() uint32 {
	if x != nil {
		return x.BytesOffset
	}
	return 0
}

func (x *OldVersionVolumeInfo) GetDatFileSize() int64 {
	if x != nil {
		return x.DatFileSize
	}
	return 0
}

func (x *OldVersionVolumeInfo) GetDestroyTime() uint64 {
	if x != nil {
		return x.DestroyTime
	}
	return 0
}

func (x *OldVersionVolumeInfo) GetReadOnly() bool {
	if x != nil {
		return x.ReadOnly
	}
	return false
}

// tiered storage
type VolumeTierMoveDatToRemoteRequest struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	VolumeId               uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection             string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	DestinationBackendName string                 `protobuf:"bytes,3,opt,name=destination_backend_name,json=destinationBackendName,proto3" json:"destination_backend_name,omitempty"`
	KeepLocalDatFile       bool                   `protobuf:"varint,4,opt,name=keep_local_dat_file,json=keepLocalDatFile,proto3" json:"keep_local_dat_file,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *VolumeTierMoveDatToRemoteRequest) Reset() {
	*x = VolumeTierMoveDatToRemoteRequest{}
	mi := &file_volume_server_proto_msgTypes[91]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeTierMoveDatToRemoteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeTierMoveDatToRemoteRequest) ProtoMessage() {}

func (x *VolumeTierMoveDatToRemoteRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[91]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeTierMoveDatToRemoteRequest.ProtoReflect.Descriptor instead.
func (*VolumeTierMoveDatToRemoteRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{91}
}

func (x *VolumeTierMoveDatToRemoteRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeTierMoveDatToRemoteRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *VolumeTierMoveDatToRemoteRequest) GetDestinationBackendName() string {
	if x != nil {
		return x.DestinationBackendName
	}
	return ""
}

func (x *VolumeTierMoveDatToRemoteRequest) GetKeepLocalDatFile() bool {
	if x != nil {
		return x.KeepLocalDatFile
	}
	return false
}

type VolumeTierMoveDatToRemoteResponse struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Processed           int64                  `protobuf:"varint,1,opt,name=processed,proto3" json:"processed,omitempty"`
	ProcessedPercentage float32                `protobuf:"fixed32,2,opt,name=processedPercentage,proto3" json:"processedPercentage,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *VolumeTierMoveDatToRemoteResponse) Reset() {
	*x = VolumeTierMoveDatToRemoteResponse{}
	mi := &file_volume_server_proto_msgTypes[92]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeTierMoveDatToRemoteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeTierMoveDatToRemoteResponse) ProtoMessage() {}

func (x *VolumeTierMoveDatToRemoteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[92]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeTierMoveDatToRemoteResponse.ProtoReflect.Descriptor instead.
func (*VolumeTierMoveDatToRemoteResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{92}
}

func (x *VolumeTierMoveDatToRemoteResponse) GetProcessed() int64 {
	if x != nil {
		return x.Processed
	}
	return 0
}

func (x *VolumeTierMoveDatToRemoteResponse) GetProcessedPercentage() float32 {
	if x != nil {
		return x.ProcessedPercentage
	}
	return 0
}

type VolumeTierMoveDatFromRemoteRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	VolumeId          uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	Collection        string                 `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"`
	KeepRemoteDatFile bool                   `protobuf:"varint,3,opt,name=keep_remote_dat_file,json=keepRemoteDatFile,proto3" json:"keep_remote_dat_file,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *VolumeTierMoveDatFromRemoteRequest) Reset() {
	*x = VolumeTierMoveDatFromRemoteRequest{}
	mi := &file_volume_server_proto_msgTypes[93]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeTierMoveDatFromRemoteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeTierMoveDatFromRemoteRequest) ProtoMessage() {}

func (x *VolumeTierMoveDatFromRemoteRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[93]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeTierMoveDatFromRemoteRequest.ProtoReflect.Descriptor instead.
func (*VolumeTierMoveDatFromRemoteRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{93}
}

func (x *VolumeTierMoveDatFromRemoteRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeTierMoveDatFromRemoteRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *VolumeTierMoveDatFromRemoteRequest) GetKeepRemoteDatFile() bool {
	if x != nil {
		return x.KeepRemoteDatFile
	}
	return false
}

type VolumeTierMoveDatFromRemoteResponse struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Processed           int64                  `protobuf:"varint,1,opt,name=processed,proto3" json:"processed,omitempty"`
	ProcessedPercentage float32                `protobuf:"fixed32,2,opt,name=processedPercentage,proto3" json:"processedPercentage,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *VolumeTierMoveDatFromRemoteResponse) Reset() {
	*x = VolumeTierMoveDatFromRemoteResponse{}
	mi := &file_volume_server_proto_msgTypes[94]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeTierMoveDatFromRemoteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeTierMoveDatFromRemoteResponse) ProtoMessage() {}

func (x *VolumeTierMoveDatFromRemoteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[94]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeTierMoveDatFromRemoteResponse.ProtoReflect.Descriptor instead.
func (*VolumeTierMoveDatFromRemoteResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{94}
}

func (x *VolumeTierMoveDatFromRemoteResponse) GetProcessed() int64 {
	if x != nil {
		return x.Processed
	}
	return 0
}

func (x *VolumeTierMoveDatFromRemoteResponse) GetProcessedPercentage() float32 {
	if x != nil {
		return x.ProcessedPercentage
	}
	return 0
}

type VolumeServerStatusRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeServerStatusRequest) Reset() {
	*x = VolumeServerStatusRequest{}
	mi := &file_volume_server_proto_msgTypes[95]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeServerStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeServerStatusRequest) ProtoMessage() {}

func (x *VolumeServerStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[95]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeServerStatusRequest.ProtoReflect.Descriptor instead.
func (*VolumeServerStatusRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{95}
}

type VolumeServerStatusResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DiskStatuses  []*DiskStatus          `protobuf:"bytes,1,rep,name=disk_statuses,json=diskStatuses,proto3" json:"disk_statuses,omitempty"`
	MemoryStatus  *MemStatus             `protobuf:"bytes,2,opt,name=memory_status,json=memoryStatus,proto3" json:"memory_status,omitempty"`
	Version       string                 `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	DataCenter    string                 `protobuf:"bytes,4,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"`
	Rack          string                 `protobuf:"bytes,5,opt,name=rack,proto3" json:"rack,omitempty"`
	State         *VolumeServerState     `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeServerStatusResponse) Reset() {
	*x = VolumeServerStatusResponse{}
	mi := &file_volume_server_proto_msgTypes[96]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeServerStatusResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeServerStatusResponse) ProtoMessage() {}

func (x *VolumeServerStatusResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[96]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeServerStatusResponse.ProtoReflect.Descriptor instead.
func (*VolumeServerStatusResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{96}
}

func (x *VolumeServerStatusResponse) GetDiskStatuses() []*DiskStatus {
	if x != nil {
		return x.DiskStatuses
	}
	return nil
}

func (x *VolumeServerStatusResponse) GetMemoryStatus() *MemStatus {
	if x != nil {
		return x.MemoryStatus
	}
	return nil
}

func (x *VolumeServerStatusResponse) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *VolumeServerStatusResponse) GetDataCenter() string {
	if x != nil {
		return x.DataCenter
	}
	return ""
}

func (x *VolumeServerStatusResponse) GetRack() string {
	if x != nil {
		return x.Rack
	}
	return ""
}

func (x *VolumeServerStatusResponse) GetState() *VolumeServerState {
	if x != nil {
		return x.State
	}
	return nil
}

type VolumeServerLeaveRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeServerLeaveRequest) Reset() {
	*x = VolumeServerLeaveRequest{}
	mi := &file_volume_server_proto_msgTypes[97]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeServerLeaveRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeServerLeaveRequest) ProtoMessage() {}

func (x *VolumeServerLeaveRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[97]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeServerLeaveRequest.ProtoReflect.Descriptor instead.
func (*VolumeServerLeaveRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{97}
}

type VolumeServerLeaveResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeServerLeaveResponse) Reset() {
	*x = VolumeServerLeaveResponse{}
	mi := &file_volume_server_proto_msgTypes[98]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeServerLeaveResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeServerLeaveResponse) ProtoMessage() {}

func (x *VolumeServerLeaveResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[98]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeServerLeaveResponse.ProtoReflect.Descriptor instead.
func (*VolumeServerLeaveResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{98}
}

// remote storage
type FetchAndWriteNeedleRequest struct {
	state               protoimpl.MessageState                `protogen:"open.v1"`
	VolumeId            uint32                                `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	NeedleId            uint64                                `protobuf:"varint,2,opt,name=needle_id,json=needleId,proto3" json:"needle_id,omitempty"`
	Cookie              uint32                                `protobuf:"varint,3,opt,name=cookie,proto3" json:"cookie,omitempty"`
	Offset              int64                                 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
	Size                int64                                 `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"`
	Replicas            []*FetchAndWriteNeedleRequest_Replica `protobuf:"bytes,6,rep,name=replicas,proto3" json:"replicas,omitempty"`
	Auth                string                                `protobuf:"bytes,7,opt,name=auth,proto3" json:"auth,omitempty"`
	DownloadConcurrency int32                                 `protobuf:"varint,8,opt,name=download_concurrency,json=downloadConcurrency,proto3" json:"download_concurrency,omitempty"` // multipart download concurrency if supported by the remote storage client; for S3, 0 = default (5)
	// remote conf
	RemoteConf     *remote_pb.RemoteConf            `protobuf:"bytes,15,opt,name=remote_conf,json=remoteConf,proto3" json:"remote_conf,omitempty"`
	RemoteLocation *remote_pb.RemoteStorageLocation `protobuf:"bytes,16,opt,name=remote_location,json=remoteLocation,proto3" json:"remote_location,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *FetchAndWriteNeedleRequest) Reset() {
	*x = FetchAndWriteNeedleRequest{}
	mi := &file_volume_server_proto_msgTypes[99]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FetchAndWriteNeedleRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FetchAndWriteNeedleRequest) ProtoMessage() {}

func (x *FetchAndWriteNeedleRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[99]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FetchAndWriteNeedleRequest.ProtoReflect.Descriptor instead.
func (*FetchAndWriteNeedleRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{99}
}

func (x *FetchAndWriteNeedleRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *FetchAndWriteNeedleRequest) GetNeedleId() uint64 {
	if x != nil {
		return x.NeedleId
	}
	return 0
}

func (x *FetchAndWriteNeedleRequest) GetCookie() uint32 {
	if x != nil {
		return x.Cookie
	}
	return 0
}

func (x *FetchAndWriteNeedleRequest) GetOffset() int64 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *FetchAndWriteNeedleRequest) GetSize() int64 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *FetchAndWriteNeedleRequest) GetReplicas() []*FetchAndWriteNeedleRequest_Replica {
	if x != nil {
		return x.Replicas
	}
	return nil
}

func (x *FetchAndWriteNeedleRequest) GetAuth() string {
	if x != nil {
		return x.Auth
	}
	return ""
}

func (x *FetchAndWriteNeedleRequest) GetDownloadConcurrency() int32 {
	if x != nil {
		return x.DownloadConcurrency
	}
	return 0
}

func (x *FetchAndWriteNeedleRequest) GetRemoteConf() *remote_pb.RemoteConf {
	if x != nil {
		return x.RemoteConf
	}
	return nil
}

func (x *FetchAndWriteNeedleRequest) GetRemoteLocation() *remote_pb.RemoteStorageLocation {
	if x != nil {
		return x.RemoteLocation
	}
	return nil
}

type FetchAndWriteNeedleResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ETag          string                 `protobuf:"bytes,1,opt,name=e_tag,json=eTag,proto3" json:"e_tag,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FetchAndWriteNeedleResponse) Reset() {
	*x = FetchAndWriteNeedleResponse{}
	mi := &file_volume_server_proto_msgTypes[100]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FetchAndWriteNeedleResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FetchAndWriteNeedleResponse) ProtoMessage() {}

func (x *FetchAndWriteNeedleResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[100]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FetchAndWriteNeedleResponse.ProtoReflect.Descriptor instead.
func (*FetchAndWriteNeedleResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{100}
}

func (x *FetchAndWriteNeedleResponse) GetETag() string {
	if x != nil {
		return x.ETag
	}
	return ""
}

type ScrubVolumeRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Mode  VolumeScrubMode        `protobuf:"varint,1,opt,name=mode,proto3,enum=volume_server_pb.VolumeScrubMode" json:"mode,omitempty"`
	// optional list of volume IDs to scrub. if empty, all volumes for the server are scrubbed.
	VolumeIds                 []uint32 `protobuf:"varint,2,rep,packed,name=volume_ids,json=volumeIds,proto3" json:"volume_ids,omitempty"`
	MarkBrokenVolumesReadonly bool     `protobuf:"varint,3,opt,name=mark_broken_volumes_readonly,json=markBrokenVolumesReadonly,proto3" json:"mark_broken_volumes_readonly,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *ScrubVolumeRequest) Reset() {
	*x = ScrubVolumeRequest{}
	mi := &file_volume_server_proto_msgTypes[101]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ScrubVolumeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ScrubVolumeRequest) ProtoMessage() {}

func (x *ScrubVolumeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[101]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ScrubVolumeRequest.ProtoReflect.Descriptor instead.
func (*ScrubVolumeRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{101}
}

func (x *ScrubVolumeRequest) GetMode() VolumeScrubMode {
	if x != nil {
		return x.Mode
	}
	return VolumeScrubMode_UNKNOWN
}

func (x *ScrubVolumeRequest) GetVolumeIds() []uint32 {
	if x != nil {
		return x.VolumeIds
	}
	return nil
}

func (x *ScrubVolumeRequest) GetMarkBrokenVolumesReadonly() bool {
	if x != nil {
		return x.MarkBrokenVolumesReadonly
	}
	return false
}

type ScrubVolumeResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	TotalVolumes    uint64                 `protobuf:"varint,1,opt,name=total_volumes,json=totalVolumes,proto3" json:"total_volumes,omitempty"`
	TotalFiles      uint64                 `protobuf:"varint,2,opt,name=total_files,json=totalFiles,proto3" json:"total_files,omitempty"`
	BrokenVolumeIds []uint32               `protobuf:"varint,3,rep,packed,name=broken_volume_ids,json=brokenVolumeIds,proto3" json:"broken_volume_ids,omitempty"`
	Details         []string               `protobuf:"bytes,4,rep,name=details,proto3" json:"details,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ScrubVolumeResponse) Reset() {
	*x = ScrubVolumeResponse{}
	mi := &file_volume_server_proto_msgTypes[102]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ScrubVolumeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ScrubVolumeResponse) ProtoMessage() {}

func (x *ScrubVolumeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[102]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ScrubVolumeResponse.ProtoReflect.Descriptor instead.
func (*ScrubVolumeResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{102}
}

func (x *ScrubVolumeResponse) GetTotalVolumes() uint64 {
	if x != nil {
		return x.TotalVolumes
	}
	return 0
}

func (x *ScrubVolumeResponse) GetTotalFiles() uint64 {
	if x != nil {
		return x.TotalFiles
	}
	return 0
}

func (x *ScrubVolumeResponse) GetBrokenVolumeIds() []uint32 {
	if x != nil {
		return x.BrokenVolumeIds
	}
	return nil
}

func (x *ScrubVolumeResponse) GetDetails() []string {
	if x != nil {
		return x.Details
	}
	return nil
}

type ScrubEcVolumeRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Mode  VolumeScrubMode        `protobuf:"varint,1,opt,name=mode,proto3,enum=volume_server_pb.VolumeScrubMode" json:"mode,omitempty"`
	// optional list of volume IDs to scrub. if empty, all EC volumes for the server are scrubbed.
	VolumeIds                []uint32 `protobuf:"varint,2,rep,packed,name=volume_ids,json=volumeIds,proto3" json:"volume_ids,omitempty"`
	ForceDeletedNeedlesCheck bool     `protobuf:"varint,3,opt,name=force_deleted_needles_check,json=forceDeletedNeedlesCheck,proto3" json:"force_deleted_needles_check,omitempty"` // FULL mode only; may report false positives when EC indexes disagree
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *ScrubEcVolumeRequest) Reset() {
	*x = ScrubEcVolumeRequest{}
	mi := &file_volume_server_proto_msgTypes[103]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ScrubEcVolumeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ScrubEcVolumeRequest) ProtoMessage() {}

func (x *ScrubEcVolumeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[103]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ScrubEcVolumeRequest.ProtoReflect.Descriptor instead.
func (*ScrubEcVolumeRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{103}
}

func (x *ScrubEcVolumeRequest) GetMode() VolumeScrubMode {
	if x != nil {
		return x.Mode
	}
	return VolumeScrubMode_UNKNOWN
}

func (x *ScrubEcVolumeRequest) GetVolumeIds() []uint32 {
	if x != nil {
		return x.VolumeIds
	}
	return nil
}

func (x *ScrubEcVolumeRequest) GetForceDeletedNeedlesCheck() bool {
	if x != nil {
		return x.ForceDeletedNeedlesCheck
	}
	return false
}

type ScrubEcVolumeResponse struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	TotalVolumes     uint64                 `protobuf:"varint,1,opt,name=total_volumes,json=totalVolumes,proto3" json:"total_volumes,omitempty"`
	TotalFiles       uint64                 `protobuf:"varint,2,opt,name=total_files,json=totalFiles,proto3" json:"total_files,omitempty"`
	BrokenVolumeIds  []uint32               `protobuf:"varint,3,rep,packed,name=broken_volume_ids,json=brokenVolumeIds,proto3" json:"broken_volume_ids,omitempty"`
	BrokenShardInfos []*EcShardInfo         `protobuf:"bytes,4,rep,name=broken_shard_infos,json=brokenShardInfos,proto3" json:"broken_shard_infos,omitempty"`
	Details          []string               `protobuf:"bytes,5,rep,name=details,proto3" json:"details,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ScrubEcVolumeResponse) Reset() {
	*x = ScrubEcVolumeResponse{}
	mi := &file_volume_server_proto_msgTypes[104]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ScrubEcVolumeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ScrubEcVolumeResponse) ProtoMessage() {}

func (x *ScrubEcVolumeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[104]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ScrubEcVolumeResponse.ProtoReflect.Descriptor instead.
func (*ScrubEcVolumeResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{104}
}

func (x *ScrubEcVolumeResponse) GetTotalVolumes() uint64 {
	if x != nil {
		return x.TotalVolumes
	}
	return 0
}

func (x *ScrubEcVolumeResponse) GetTotalFiles() uint64 {
	if x != nil {
		return x.TotalFiles
	}
	return 0
}

func (x *ScrubEcVolumeResponse) GetBrokenVolumeIds() []uint32 {
	if x != nil {
		return x.BrokenVolumeIds
	}
	return nil
}

func (x *ScrubEcVolumeResponse) GetBrokenShardInfos() []*EcShardInfo {
	if x != nil {
		return x.BrokenShardInfos
	}
	return nil
}

func (x *ScrubEcVolumeResponse) GetDetails() []string {
	if x != nil {
		return x.Details
	}
	return nil
}

// select on volume servers
type QueryRequest struct {
	state               protoimpl.MessageState            `protogen:"open.v1"`
	Selections          []string                          `protobuf:"bytes,1,rep,name=selections,proto3" json:"selections,omitempty"`
	FromFileIds         []string                          `protobuf:"bytes,2,rep,name=from_file_ids,json=fromFileIds,proto3" json:"from_file_ids,omitempty"`
	Filter              *QueryRequest_Filter              `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
	InputSerialization  *QueryRequest_InputSerialization  `protobuf:"bytes,4,opt,name=input_serialization,json=inputSerialization,proto3" json:"input_serialization,omitempty"`
	OutputSerialization *QueryRequest_OutputSerialization `protobuf:"bytes,5,opt,name=output_serialization,json=outputSerialization,proto3" json:"output_serialization,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *QueryRequest) Reset() {
	*x = QueryRequest{}
	mi := &file_volume_server_proto_msgTypes[105]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRequest) ProtoMessage() {}

func (x *QueryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[105]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRequest.ProtoReflect.Descriptor instead.
func (*QueryRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{105}
}

func (x *QueryRequest) GetSelections() []string {
	if x != nil {
		return x.Selections
	}
	return nil
}

func (x *QueryRequest) GetFromFileIds() []string {
	if x != nil {
		return x.FromFileIds
	}
	return nil
}

func (x *QueryRequest) GetFilter() *QueryRequest_Filter {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (x *QueryRequest) GetInputSerialization() *QueryRequest_InputSerialization {
	if x != nil {
		return x.InputSerialization
	}
	return nil
}

func (x *QueryRequest) GetOutputSerialization() *QueryRequest_OutputSerialization {
	if x != nil {
		return x.OutputSerialization
	}
	return nil
}

type QueriedStripe struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Records       []byte                 `protobuf:"bytes,1,opt,name=records,proto3" json:"records,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *QueriedStripe) Reset() {
	*x = QueriedStripe{}
	mi := &file_volume_server_proto_msgTypes[106]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueriedStripe) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueriedStripe) ProtoMessage() {}

func (x *QueriedStripe) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[106]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueriedStripe.ProtoReflect.Descriptor instead.
func (*QueriedStripe) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{106}
}

func (x *QueriedStripe) GetRecords() []byte {
	if x != nil {
		return x.Records
	}
	return nil
}

type VolumeNeedleStatusRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	VolumeId      uint32                 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"`
	NeedleId      uint64                 `protobuf:"varint,2,opt,name=needle_id,json=needleId,proto3" json:"needle_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeNeedleStatusRequest) Reset() {
	*x = VolumeNeedleStatusRequest{}
	mi := &file_volume_server_proto_msgTypes[107]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeNeedleStatusRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeNeedleStatusRequest) ProtoMessage() {}

func (x *VolumeNeedleStatusRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[107]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeNeedleStatusRequest.ProtoReflect.Descriptor instead.
func (*VolumeNeedleStatusRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{107}
}

func (x *VolumeNeedleStatusRequest) GetVolumeId() uint32 {
	if x != nil {
		return x.VolumeId
	}
	return 0
}

func (x *VolumeNeedleStatusRequest) GetNeedleId() uint64 {
	if x != nil {
		return x.NeedleId
	}
	return 0
}

type VolumeNeedleStatusResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	NeedleId      uint64                 `protobuf:"varint,1,opt,name=needle_id,json=needleId,proto3" json:"needle_id,omitempty"`
	Cookie        uint32                 `protobuf:"varint,2,opt,name=cookie,proto3" json:"cookie,omitempty"`
	Size          uint32                 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	LastModified  uint64                 `protobuf:"varint,4,opt,name=last_modified,json=lastModified,proto3" json:"last_modified,omitempty"`
	Crc           uint32                 `protobuf:"varint,5,opt,name=crc,proto3" json:"crc,omitempty"`
	Ttl           string                 `protobuf:"bytes,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VolumeNeedleStatusResponse) Reset() {
	*x = VolumeNeedleStatusResponse{}
	mi := &file_volume_server_proto_msgTypes[108]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VolumeNeedleStatusResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VolumeNeedleStatusResponse) ProtoMessage() {}

func (x *VolumeNeedleStatusResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[108]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VolumeNeedleStatusResponse.ProtoReflect.Descriptor instead.
func (*VolumeNeedleStatusResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{108}
}

func (x *VolumeNeedleStatusResponse) GetNeedleId() uint64 {
	if x != nil {
		return x.NeedleId
	}
	return 0
}

func (x *VolumeNeedleStatusResponse) GetCookie() uint32 {
	if x != nil {
		return x.Cookie
	}
	return 0
}

func (x *VolumeNeedleStatusResponse) GetSize() uint32 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *VolumeNeedleStatusResponse) GetLastModified() uint64 {
	if x != nil {
		return x.LastModified
	}
	return 0
}

func (x *VolumeNeedleStatusResponse) GetCrc() uint32 {
	if x != nil {
		return x.Crc
	}
	return 0
}

func (x *VolumeNeedleStatusResponse) GetTtl() string {
	if x != nil {
		return x.Ttl
	}
	return ""
}

type PingRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Target        string                 `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` // default to ping itself
	TargetType    string                 `protobuf:"bytes,2,opt,name=target_type,json=targetType,proto3" json:"target_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PingRequest) Reset() {
	*x = PingRequest{}
	mi := &file_volume_server_proto_msgTypes[109]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PingRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PingRequest) ProtoMessage() {}

func (x *PingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[109]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PingRequest.ProtoReflect.Descriptor instead.
func (*PingRequest) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{109}
}

func (x *PingRequest) GetTarget() string {
	if x != nil {
		return x.Target
	}
	return ""
}

func (x *PingRequest) GetTargetType() string {
	if x != nil {
		return x.TargetType
	}
	return ""
}

type PingResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	StartTimeNs   int64                  `protobuf:"varint,1,opt,name=start_time_ns,json=startTimeNs,proto3" json:"start_time_ns,omitempty"`
	RemoteTimeNs  int64                  `protobuf:"varint,2,opt,name=remote_time_ns,json=remoteTimeNs,proto3" json:"remote_time_ns,omitempty"`
	StopTimeNs    int64                  `protobuf:"varint,3,opt,name=stop_time_ns,json=stopTimeNs,proto3" json:"stop_time_ns,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PingResponse) Reset() {
	*x = PingResponse{}
	mi := &file_volume_server_proto_msgTypes[110]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PingResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PingResponse) ProtoMessage() {}

func (x *PingResponse) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[110]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PingResponse.ProtoReflect.Descriptor instead.
func (*PingResponse) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{110}
}

func (x *PingResponse) GetStartTimeNs() int64 {
	if x != nil {
		return x.StartTimeNs
	}
	return 0
}

func (x *PingResponse) GetRemoteTimeNs() int64 {
	if x != nil {
		return x.RemoteTimeNs
	}
	return 0
}

func (x *PingResponse) GetStopTimeNs() int64 {
	if x != nil {
		return x.StopTimeNs
	}
	return 0
}

type FetchAndWriteNeedleRequest_Replica struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Url           string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	PublicUrl     string                 `protobuf:"bytes,2,opt,name=public_url,json=publicUrl,proto3" json:"public_url,omitempty"`
	GrpcPort      int32                  `protobuf:"varint,3,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FetchAndWriteNeedleRequest_Replica) Reset() {
	*x = FetchAndWriteNeedleRequest_Replica{}
	mi := &file_volume_server_proto_msgTypes[111]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FetchAndWriteNeedleRequest_Replica) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FetchAndWriteNeedleRequest_Replica) ProtoMessage() {}

func (x *FetchAndWriteNeedleRequest_Replica) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[111]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FetchAndWriteNeedleRequest_Replica.ProtoReflect.Descriptor instead.
func (*FetchAndWriteNeedleRequest_Replica) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{99, 0}
}

func (x *FetchAndWriteNeedleRequest_Replica) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *FetchAndWriteNeedleRequest_Replica) GetPublicUrl() string {
	if x != nil {
		return x.PublicUrl
	}
	return ""
}

func (x *FetchAndWriteNeedleRequest_Replica) GetGrpcPort() int32 {
	if x != nil {
		return x.GrpcPort
	}
	return 0
}

type QueryRequest_Filter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Field         string                 `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
	Operand       string                 `protobuf:"bytes,2,opt,name=operand,proto3" json:"operand,omitempty"`
	Value         string                 `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *QueryRequest_Filter) Reset() {
	*x = QueryRequest_Filter{}
	mi := &file_volume_server_proto_msgTypes[112]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRequest_Filter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRequest_Filter) ProtoMessage() {}

func (x *QueryRequest_Filter) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[112]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRequest_Filter.ProtoReflect.Descriptor instead.
func (*QueryRequest_Filter) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{105, 0}
}

func (x *QueryRequest_Filter) GetField() string {
	if x != nil {
		return x.Field
	}
	return ""
}

func (x *QueryRequest_Filter) GetOperand() string {
	if x != nil {
		return x.Operand
	}
	return ""
}

func (x *QueryRequest_Filter) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

type QueryRequest_InputSerialization struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// NONE | GZIP | BZIP2
	CompressionType string                                        `protobuf:"bytes,1,opt,name=compression_type,json=compressionType,proto3" json:"compression_type,omitempty"`
	CsvInput        *QueryRequest_InputSerialization_CSVInput     `protobuf:"bytes,2,opt,name=csv_input,json=csvInput,proto3" json:"csv_input,omitempty"`
	JsonInput       *QueryRequest_InputSerialization_JSONInput    `protobuf:"bytes,3,opt,name=json_input,json=jsonInput,proto3" json:"json_input,omitempty"`
	ParquetInput    *QueryRequest_InputSerialization_ParquetInput `protobuf:"bytes,4,opt,name=parquet_input,json=parquetInput,proto3" json:"parquet_input,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *QueryRequest_InputSerialization) Reset() {
	*x = QueryRequest_InputSerialization{}
	mi := &file_volume_server_proto_msgTypes[113]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRequest_InputSerialization) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRequest_InputSerialization) ProtoMessage() {}

func (x *QueryRequest_InputSerialization) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[113]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRequest_InputSerialization.ProtoReflect.Descriptor instead.
func (*QueryRequest_InputSerialization) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{105, 1}
}

func (x *QueryRequest_InputSerialization) GetCompressionType() string {
	if x != nil {
		return x.CompressionType
	}
	return ""
}

func (x *QueryRequest_InputSerialization) GetCsvInput() *QueryRequest_InputSerialization_CSVInput {
	if x != nil {
		return x.CsvInput
	}
	return nil
}

func (x *QueryRequest_InputSerialization) GetJsonInput() *QueryRequest_InputSerialization_JSONInput {
	if x != nil {
		return x.JsonInput
	}
	return nil
}

func (x *QueryRequest_InputSerialization) GetParquetInput() *QueryRequest_InputSerialization_ParquetInput {
	if x != nil {
		return x.ParquetInput
	}
	return nil
}

type QueryRequest_OutputSerialization struct {
	state         protoimpl.MessageState                       `protogen:"open.v1"`
	CsvOutput     *QueryRequest_OutputSerialization_CSVOutput  `protobuf:"bytes,2,opt,name=csv_output,json=csvOutput,proto3" json:"csv_output,omitempty"`
	JsonOutput    *QueryRequest_OutputSerialization_JSONOutput `protobuf:"bytes,3,opt,name=json_output,json=jsonOutput,proto3" json:"json_output,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *QueryRequest_OutputSerialization) Reset() {
	*x = QueryRequest_OutputSerialization{}
	mi := &file_volume_server_proto_msgTypes[114]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRequest_OutputSerialization) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRequest_OutputSerialization) ProtoMessage() {}

func (x *QueryRequest_OutputSerialization) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[114]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRequest_OutputSerialization.ProtoReflect.Descriptor instead.
func (*QueryRequest_OutputSerialization) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{105, 2}
}

func (x *QueryRequest_OutputSerialization) GetCsvOutput() *QueryRequest_OutputSerialization_CSVOutput {
	if x != nil {
		return x.CsvOutput
	}
	return nil
}

func (x *QueryRequest_OutputSerialization) GetJsonOutput() *QueryRequest_OutputSerialization_JSONOutput {
	if x != nil {
		return x.JsonOutput
	}
	return nil
}

type QueryRequest_InputSerialization_CSVInput struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	FileHeaderInfo       string                 `protobuf:"bytes,1,opt,name=file_header_info,json=fileHeaderInfo,proto3" json:"file_header_info,omitempty"`                   // Valid values: NONE | USE | IGNORE
	RecordDelimiter      string                 `protobuf:"bytes,2,opt,name=record_delimiter,json=recordDelimiter,proto3" json:"record_delimiter,omitempty"`                  // Default: \n
	FieldDelimiter       string                 `protobuf:"bytes,3,opt,name=field_delimiter,json=fieldDelimiter,proto3" json:"field_delimiter,omitempty"`                     // Default: ,
	QuoteCharacter       string                 `protobuf:"bytes,4,opt,name=quote_character,json=quoteCharacter,proto3" json:"quote_character,omitempty"`                     // Default: "
	QuoteEscapeCharacter string                 `protobuf:"bytes,5,opt,name=quote_escape_character,json=quoteEscapeCharacter,proto3" json:"quote_escape_character,omitempty"` // Default: "
	Comments             string                 `protobuf:"bytes,6,opt,name=comments,proto3" json:"comments,omitempty"`                                                       // Default: #
	// If true, records might contain record delimiters within quote characters
	AllowQuotedRecordDelimiter bool `protobuf:"varint,7,opt,name=allow_quoted_record_delimiter,json=allowQuotedRecordDelimiter,proto3" json:"allow_quoted_record_delimiter,omitempty"` // default False.
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

func (x *QueryRequest_InputSerialization_CSVInput) Reset() {
	*x = QueryRequest_InputSerialization_CSVInput{}
	mi := &file_volume_server_proto_msgTypes[115]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRequest_InputSerialization_CSVInput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRequest_InputSerialization_CSVInput) ProtoMessage() {}

func (x *QueryRequest_InputSerialization_CSVInput) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[115]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRequest_InputSerialization_CSVInput.ProtoReflect.Descriptor instead.
func (*QueryRequest_InputSerialization_CSVInput) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{105, 1, 0}
}

func (x *QueryRequest_InputSerialization_CSVInput) GetFileHeaderInfo() string {
	if x != nil {
		return x.FileHeaderInfo
	}
	return ""
}

func (x *QueryRequest_InputSerialization_CSVInput) GetRecordDelimiter() string {
	if x != nil {
		return x.RecordDelimiter
	}
	return ""
}

func (x *QueryRequest_InputSerialization_CSVInput) GetFieldDelimiter() string {
	if x != nil {
		return x.FieldDelimiter
	}
	return ""
}

func (x *QueryRequest_InputSerialization_CSVInput) GetQuoteCharacter() string {
	if x != nil {
		return x.QuoteCharacter
	}
	return ""
}

func (x *QueryRequest_InputSerialization_CSVInput) GetQuoteEscapeCharacter() string {
	if x != nil {
		return x.QuoteEscapeCharacter
	}
	return ""
}

func (x *QueryRequest_InputSerialization_CSVInput) GetComments() string {
	if x != nil {
		return x.Comments
	}
	return ""
}

func (x *QueryRequest_InputSerialization_CSVInput) GetAllowQuotedRecordDelimiter() bool {
	if x != nil {
		return x.AllowQuotedRecordDelimiter
	}
	return false
}

type QueryRequest_InputSerialization_JSONInput struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          string                 `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // Valid values: DOCUMENT | LINES
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *QueryRequest_InputSerialization_JSONInput) Reset() {
	*x = QueryRequest_InputSerialization_JSONInput{}
	mi := &file_volume_server_proto_msgTypes[116]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRequest_InputSerialization_JSONInput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRequest_InputSerialization_JSONInput) ProtoMessage() {}

func (x *QueryRequest_InputSerialization_JSONInput) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[116]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRequest_InputSerialization_JSONInput.ProtoReflect.Descriptor instead.
func (*QueryRequest_InputSerialization_JSONInput) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{105, 1, 1}
}

func (x *QueryRequest_InputSerialization_JSONInput) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

type QueryRequest_InputSerialization_ParquetInput struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *QueryRequest_InputSerialization_ParquetInput) Reset() {
	*x = QueryRequest_InputSerialization_ParquetInput{}
	mi := &file_volume_server_proto_msgTypes[117]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRequest_InputSerialization_ParquetInput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRequest_InputSerialization_ParquetInput) ProtoMessage() {}

func (x *QueryRequest_InputSerialization_ParquetInput) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[117]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRequest_InputSerialization_ParquetInput.ProtoReflect.Descriptor instead.
func (*QueryRequest_InputSerialization_ParquetInput) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{105, 1, 2}
}

type QueryRequest_OutputSerialization_CSVOutput struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	QuoteFields          string                 `protobuf:"bytes,1,opt,name=quote_fields,json=quoteFields,proto3" json:"quote_fields,omitempty"`                              // Valid values: ALWAYS | ASNEEDED
	RecordDelimiter      string                 `protobuf:"bytes,2,opt,name=record_delimiter,json=recordDelimiter,proto3" json:"record_delimiter,omitempty"`                  // Default: \n
	FieldDelimiter       string                 `protobuf:"bytes,3,opt,name=field_delimiter,json=fieldDelimiter,proto3" json:"field_delimiter,omitempty"`                     // Default: ,
	QuoteCharacter       string                 `protobuf:"bytes,4,opt,name=quote_character,json=quoteCharacter,proto3" json:"quote_character,omitempty"`                     // Default: "
	QuoteEscapeCharacter string                 `protobuf:"bytes,5,opt,name=quote_escape_character,json=quoteEscapeCharacter,proto3" json:"quote_escape_character,omitempty"` // Default: "
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *QueryRequest_OutputSerialization_CSVOutput) Reset() {
	*x = QueryRequest_OutputSerialization_CSVOutput{}
	mi := &file_volume_server_proto_msgTypes[118]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRequest_OutputSerialization_CSVOutput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRequest_OutputSerialization_CSVOutput) ProtoMessage() {}

func (x *QueryRequest_OutputSerialization_CSVOutput) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[118]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRequest_OutputSerialization_CSVOutput.ProtoReflect.Descriptor instead.
func (*QueryRequest_OutputSerialization_CSVOutput) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{105, 2, 0}
}

func (x *QueryRequest_OutputSerialization_CSVOutput) GetQuoteFields() string {
	if x != nil {
		return x.QuoteFields
	}
	return ""
}

func (x *QueryRequest_OutputSerialization_CSVOutput) GetRecordDelimiter() string {
	if x != nil {
		return x.RecordDelimiter
	}
	return ""
}

func (x *QueryRequest_OutputSerialization_CSVOutput) GetFieldDelimiter() string {
	if x != nil {
		return x.FieldDelimiter
	}
	return ""
}

func (x *QueryRequest_OutputSerialization_CSVOutput) GetQuoteCharacter() string {
	if x != nil {
		return x.QuoteCharacter
	}
	return ""
}

func (x *QueryRequest_OutputSerialization_CSVOutput) GetQuoteEscapeCharacter() string {
	if x != nil {
		return x.QuoteEscapeCharacter
	}
	return ""
}

type QueryRequest_OutputSerialization_JSONOutput struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	RecordDelimiter string                 `protobuf:"bytes,1,opt,name=record_delimiter,json=recordDelimiter,proto3" json:"record_delimiter,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *QueryRequest_OutputSerialization_JSONOutput) Reset() {
	*x = QueryRequest_OutputSerialization_JSONOutput{}
	mi := &file_volume_server_proto_msgTypes[119]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRequest_OutputSerialization_JSONOutput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRequest_OutputSerialization_JSONOutput) ProtoMessage() {}

func (x *QueryRequest_OutputSerialization_JSONOutput) ProtoReflect() protoreflect.Message {
	mi := &file_volume_server_proto_msgTypes[119]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRequest_OutputSerialization_JSONOutput.ProtoReflect.Descriptor instead.
func (*QueryRequest_OutputSerialization_JSONOutput) Descriptor() ([]byte, []int) {
	return file_volume_server_proto_rawDescGZIP(), []int{105, 2, 1}
}

func (x *QueryRequest_OutputSerialization_JSONOutput) GetRecordDelimiter() string {
	if x != nil {
		return x.RecordDelimiter
	}
	return ""
}

var File_volume_server_proto protoreflect.FileDescriptor

const file_volume_server_proto_rawDesc = "" +
	"\n" +
	"\x13volume_server.proto\x12\x10volume_server_pb\x1a\fremote.proto\"O\n" +
	"\x11VolumeServerState\x12 \n" +
	"\vmaintenance\x18\x01 \x01(\bR\vmaintenance\x12\x18\n" +
	"\aversion\x18\x02 \x01(\rR\aversion\"[\n" +
	"\x12BatchDeleteRequest\x12\x19\n" +
	"\bfile_ids\x18\x01 \x03(\tR\afileIds\x12*\n" +
	"\x11skip_cookie_check\x18\x02 \x01(\bR\x0fskipCookieCheck\"O\n" +
	"\x13BatchDeleteResponse\x128\n" +
	"\aresults\x18\x01 \x03(\v2\x1e.volume_server_pb.DeleteResultR\aresults\"\x83\x01\n" +
	"\fDeleteResult\x12\x17\n" +
	"\afile_id\x18\x01 \x01(\tR\x06fileId\x12\x16\n" +
	"\x06status\x18\x02 \x01(\x05R\x06status\x12\x14\n" +
	"\x05error\x18\x03 \x01(\tR\x05error\x12\x12\n" +
	"\x04size\x18\x04 \x01(\rR\x04size\x12\x18\n" +
	"\aversion\x18\x05 \x01(\rR\aversion\"\a\n" +
	"\x05Empty\"7\n" +
	"\x18VacuumVolumeCheckRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\"@\n" +
	"\x19VacuumVolumeCheckResponse\x12#\n" +
	"\rgarbage_ratio\x18\x01 \x01(\x01R\fgarbageRatio\"[\n" +
	"\x1aVacuumVolumeCompactRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12 \n" +
	"\vpreallocate\x18\x02 \x01(\x03R\vpreallocate\"f\n" +
	"\x1bVacuumVolumeCompactResponse\x12'\n" +
	"\x0fprocessed_bytes\x18\x01 \x01(\x03R\x0eprocessedBytes\x12\x1e\n" +
	"\vload_avg_1m\x18\x02 \x01(\x02R\tloadAvg1m\"8\n" +
	"\x19VacuumVolumeCommitRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\"_\n" +
	"\x1aVacuumVolumeCommitResponse\x12 \n" +
	"\fis_read_only\x18\x01 \x01(\bR\n" +
	"isReadOnly\x12\x1f\n" +
	"\vvolume_size\x18\x02 \x01(\x04R\n" +
	"volumeSize\"9\n" +
	"\x1aVacuumVolumeCleanupRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\"\x1d\n" +
	"\x1bVacuumVolumeCleanupResponse\"9\n" +
	"\x17DeleteCollectionRequest\x12\x1e\n" +
	"\n" +
	"collection\x18\x01 \x01(\tR\n" +
	"collection\"\x1a\n" +
	"\x18DeleteCollectionResponse\"\x95\x02\n" +
	"\x15AllocateVolumeRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x12 \n" +
	"\vpreallocate\x18\x03 \x01(\x03R\vpreallocate\x12 \n" +
	"\vreplication\x18\x04 \x01(\tR\vreplication\x12\x10\n" +
	"\x03ttl\x18\x05 \x01(\tR\x03ttl\x122\n" +
	"\x16memory_map_max_size_mb\x18\x06 \x01(\rR\x12memoryMapMaxSizeMb\x12\x1b\n" +
	"\tdisk_type\x18\a \x01(\tR\bdiskType\x12\x18\n" +
	"\aversion\x18\b \x01(\rR\aversion\"\x18\n" +
	"\x16AllocateVolumeResponse\"6\n" +
	"\x17VolumeSyncStatusRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\"\x95\x02\n" +
	"\x18VolumeSyncStatusResponse\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x12 \n" +
	"\vreplication\x18\x04 \x01(\tR\vreplication\x12\x10\n" +
	"\x03ttl\x18\x05 \x01(\tR\x03ttl\x12\x1f\n" +
	"\vtail_offset\x18\x06 \x01(\x04R\n" +
	"tailOffset\x12)\n" +
	"\x10compact_revision\x18\a \x01(\rR\x0fcompactRevision\x12\"\n" +
	"\ridx_file_size\x18\b \x01(\x04R\vidxFileSize\x12\x18\n" +
	"\aversion\x18\t \x01(\rR\aversion\"V\n" +
	"\x1cVolumeIncrementalCopyRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x19\n" +
	"\bsince_ns\x18\x02 \x01(\x04R\asinceNs\"B\n" +
	"\x1dVolumeIncrementalCopyResponse\x12!\n" +
	"\ffile_content\x18\x01 \x01(\fR\vfileContent\"1\n" +
	"\x12VolumeMountRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\"\x15\n" +
	"\x13VolumeMountResponse\"3\n" +
	"\x14VolumeUnmountRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\"\x17\n" +
	"\x15VolumeUnmountResponse\"<\n" +
	"\x1dVolumeConsolidateIndexRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\" \n" +
	"\x1eVolumeConsolidateIndexResponse\"{\n" +
	"\x13VolumeDeleteRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1d\n" +
	"\n" +
	"only_empty\x18\x02 \x01(\bR\tonlyEmpty\x12(\n" +
	"\x10keep_remote_data\x18\x03 \x01(\bR\x0ekeepRemoteData\"\x16\n" +
	"\x14VolumeDeleteResponse\"q\n" +
	"\x19VolumeMarkReadonlyRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x18\n" +
	"\apersist\x18\x02 \x01(\bR\apersist\x12\x1d\n" +
	"\n" +
	"can_delete\x18\x03 \x01(\bR\tcanDelete\"\x1c\n" +
	"\x1aVolumeMarkReadonlyResponse\"8\n" +
	"\x19VolumeMarkWritableRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\"\x1c\n" +
	"\x1aVolumeMarkWritableResponse\"W\n" +
	"\x16VolumeConfigureRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12 \n" +
	"\vreplication\x18\x02 \x01(\tR\vreplication\"/\n" +
	"\x17VolumeConfigureResponse\x12\x14\n" +
	"\x05error\x18\x01 \x01(\tR\x05error\"2\n" +
	"\x13VolumeStatusRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\"\xa6\x01\n" +
	"\x14VolumeStatusResponse\x12 \n" +
	"\fis_read_only\x18\x01 \x01(\bR\n" +
	"isReadOnly\x12\x1f\n" +
	"\vvolume_size\x18\x02 \x01(\x04R\n" +
	"volumeSize\x12\x1d\n" +
	"\n" +
	"file_count\x18\x03 \x01(\x04R\tfileCount\x12,\n" +
	"\x12file_deleted_count\x18\x04 \x01(\x04R\x10fileDeletedCount\"\x11\n" +
	"\x0fGetStateRequest\"M\n" +
	"\x10GetStateResponse\x129\n" +
	"\x05state\x18\x01 \x01(\v2#.volume_server_pb.VolumeServerStateR\x05state\"L\n" +
	"\x0fSetStateRequest\x129\n" +
	"\x05state\x18\x01 \x01(\v2#.volume_server_pb.VolumeServerStateR\x05state\"M\n" +
	"\x10SetStateResponse\x129\n" +
	"\x05state\x18\x01 \x01(\v2#.volume_server_pb.VolumeServerStateR\x05state\"\xf8\x01\n" +
	"\x11VolumeCopyRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x12 \n" +
	"\vreplication\x18\x03 \x01(\tR\vreplication\x12\x10\n" +
	"\x03ttl\x18\x04 \x01(\tR\x03ttl\x12(\n" +
	"\x10source_data_node\x18\x05 \x01(\tR\x0esourceDataNode\x12\x1b\n" +
	"\tdisk_type\x18\x06 \x01(\tR\bdiskType\x12+\n" +
	"\x12io_byte_per_second\x18\a \x01(\x03R\x0fioBytePerSecond\"h\n" +
	"\x12VolumeCopyResponse\x12)\n" +
	"\x11last_append_at_ns\x18\x01 \x01(\x04R\x0elastAppendAtNs\x12'\n" +
	"\x0fprocessed_bytes\x18\x02 \x01(\x03R\x0eprocessedBytes\"\x94\x02\n" +
	"\x0fCopyFileRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x10\n" +
	"\x03ext\x18\x02 \x01(\tR\x03ext\x12/\n" +
	"\x13compaction_revision\x18\x03 \x01(\rR\x12compactionRevision\x12\x1f\n" +
	"\vstop_offset\x18\x04 \x01(\x04R\n" +
	"stopOffset\x12\x1e\n" +
	"\n" +
	"collection\x18\x05 \x01(\tR\n" +
	"collection\x12 \n" +
	"\fis_ec_volume\x18\x06 \x01(\bR\n" +
	"isEcVolume\x12>\n" +
	"\x1cignore_source_file_not_found\x18\a \x01(\bR\x18ignoreSourceFileNotFound\"[\n" +
	"\x10CopyFileResponse\x12!\n" +
	"\ffile_content\x18\x01 \x01(\fR\vfileContent\x12$\n" +
	"\x0emodified_ts_ns\x18\x02 \x01(\x03R\fmodifiedTsNs\"z\n" +
	"\x12ReceiveFileRequest\x127\n" +
	"\x04info\x18\x01 \x01(\v2!.volume_server_pb.ReceiveFileInfoH\x00R\x04info\x12#\n" +
	"\ffile_content\x18\x02 \x01(\fH\x00R\vfileContentB\x06\n" +
	"\x04data\"\xf0\x01\n" +
	"\x0fReceiveFileInfo\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x10\n" +
	"\x03ext\x18\x02 \x01(\tR\x03ext\x12\x1e\n" +
	"\n" +
	"collection\x18\x03 \x01(\tR\n" +
	"collection\x12 \n" +
	"\fis_ec_volume\x18\x04 \x01(\bR\n" +
	"isEcVolume\x12\x19\n" +
	"\bshard_id\x18\x05 \x01(\rR\ashardId\x12\x1b\n" +
	"\tfile_size\x18\x06 \x01(\x04R\bfileSize\x12\x17\n" +
	"\adisk_id\x18\a \x01(\rR\x06diskId\x12\x1b\n" +
	"\tdisk_type\x18\f \x01(\tR\bdiskType\"P\n" +
	"\x13ReceiveFileResponse\x12#\n" +
	"\rbytes_written\x18\x01 \x01(\x04R\fbytesWritten\x12\x14\n" +
	"\x05error\x18\x02 \x01(\tR\x05error\"`\n" +
	"\x15ReadNeedleBlobRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x16\n" +
	"\x06offset\x18\x03 \x01(\x03R\x06offset\x12\x12\n" +
	"\x04size\x18\x04 \x01(\x05R\x04size\"9\n" +
	"\x16ReadNeedleBlobResponse\x12\x1f\n" +
	"\vneedle_blob\x18\x01 \x01(\fR\n" +
	"needleBlob\"}\n" +
	"\x15ReadNeedleMetaRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1b\n" +
	"\tneedle_id\x18\x02 \x01(\x04R\bneedleId\x12\x16\n" +
	"\x06offset\x18\x03 \x01(\x03R\x06offset\x12\x12\n" +
	"\x04size\x18\x04 \x01(\x05R\x04size\"\x9b\x01\n" +
	"\x16ReadNeedleMetaResponse\x12\x16\n" +
	"\x06cookie\x18\x01 \x01(\rR\x06cookie\x12#\n" +
	"\rlast_modified\x18\x02 \x01(\x04R\flastModified\x12\x10\n" +
	"\x03crc\x18\x03 \x01(\rR\x03crc\x12\x10\n" +
	"\x03ttl\x18\x04 \x01(\tR\x03ttl\x12 \n" +
	"\fappend_at_ns\x18\x05 \x01(\x04R\n" +
	"appendAtNs\"\x87\x01\n" +
	"\x16WriteNeedleBlobRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1b\n" +
	"\tneedle_id\x18\x02 \x01(\x04R\bneedleId\x12\x12\n" +
	"\x04size\x18\x03 \x01(\x05R\x04size\x12\x1f\n" +
	"\vneedle_blob\x18\x04 \x01(\fR\n" +
	"needleBlob\"\x19\n" +
	"\x17WriteNeedleBlobResponse\"6\n" +
	"\x15ReadAllNeedlesRequest\x12\x1d\n" +
	"\n" +
	"volume_ids\x18\x01 \x03(\rR\tvolumeIds\"\xa0\x02\n" +
	"\x16ReadAllNeedlesResponse\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1b\n" +
	"\tneedle_id\x18\x02 \x01(\x04R\bneedleId\x12\x16\n" +
	"\x06cookie\x18\x03 \x01(\rR\x06cookie\x12\x1f\n" +
	"\vneedle_blob\x18\x05 \x01(\fR\n" +
	"needleBlob\x124\n" +
	"\x16needle_blob_compressed\x18\x06 \x01(\bR\x14needleBlobCompressed\x12#\n" +
	"\rlast_modified\x18\a \x01(\x04R\flastModified\x12\x10\n" +
	"\x03crc\x18\b \x01(\rR\x03crc\x12\x12\n" +
	"\x04name\x18\t \x01(\fR\x04name\x12\x12\n" +
	"\x04mime\x18\n" +
	" \x01(\fR\x04mime\"\x83\x01\n" +
	"\x17VolumeTailSenderRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x19\n" +
	"\bsince_ns\x18\x02 \x01(\x04R\asinceNs\x120\n" +
	"\x14idle_timeout_seconds\x18\x03 \x01(\rR\x12idleTimeoutSeconds\"\x9e\x01\n" +
	"\x18VolumeTailSenderResponse\x12#\n" +
	"\rneedle_header\x18\x01 \x01(\fR\fneedleHeader\x12\x1f\n" +
	"\vneedle_body\x18\x02 \x01(\fR\n" +
	"needleBody\x12\"\n" +
	"\ris_last_chunk\x18\x03 \x01(\bR\visLastChunk\x12\x18\n" +
	"\aversion\x18\x04 \x01(\rR\aversion\"\xb7\x01\n" +
	"\x19VolumeTailReceiverRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x19\n" +
	"\bsince_ns\x18\x02 \x01(\x04R\asinceNs\x120\n" +
	"\x14idle_timeout_seconds\x18\x03 \x01(\rR\x12idleTimeoutSeconds\x120\n" +
	"\x14source_volume_server\x18\x04 \x01(\tR\x12sourceVolumeServer\"\x1c\n" +
	"\x1aVolumeTailReceiverResponse\"\\\n" +
	"\x1dVolumeEcShardsGenerateRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\" \n" +
	"\x1eVolumeEcShardsGenerateResponse\"\x8f\x01\n" +
	"\x1cVolumeEcShardsRebuildRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x122\n" +
	"\x15unsafe_ignore_sidecar\x18\x03 \x01(\bR\x13unsafeIgnoreSidecar\"K\n" +
	"\x1dVolumeEcShardsRebuildResponse\x12*\n" +
	"\x11rebuilt_shard_ids\x18\x01 \x03(\rR\x0frebuiltShardIds\"\xf9\x02\n" +
	"\x19VolumeEcShardsCopyRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x12\x1b\n" +
	"\tshard_ids\x18\x03 \x03(\rR\bshardIds\x12\"\n" +
	"\rcopy_ecx_file\x18\x04 \x01(\bR\vcopyEcxFile\x12(\n" +
	"\x10source_data_node\x18\x05 \x01(\tR\x0esourceDataNode\x12\"\n" +
	"\rcopy_ecj_file\x18\x06 \x01(\bR\vcopyEcjFile\x12\"\n" +
	"\rcopy_vif_file\x18\a \x01(\bR\vcopyVifFile\x12\x17\n" +
	"\adisk_id\x18\b \x01(\rR\x06diskId\x12&\n" +
	"\x0fcopy_ecsum_file\x18\t \x01(\bR\rcopyEcsumFile\x12+\n" +
	"\x12io_byte_per_second\x18\n" +
	" \x01(\x03R\x0fioBytePerSecond\"\x1c\n" +
	"\x1aVolumeEcShardsCopyResponse\"\xbe\x01\n" +
	"\x1bVolumeEcShardsDeleteRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x12\x1b\n" +
	"\tshard_ids\x18\x03 \x03(\rR\bshardIds\x12#\n" +
	"\rfull_teardown\x18\x04 \x01(\bR\ffullTeardown\x12 \n" +
	"\fencode_ts_ns\x18\x05 \x01(\x03R\n" +
	"encodeTsNs\"L\n" +
	"\x1cVolumeEcShardsDeleteResponse\x12,\n" +
	"\x12full_teardown_done\x18\x01 \x01(\bR\x10fullTeardownDone\"\xd4\x01\n" +
	"\x1aVolumeEcShardsMountRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x12\x1b\n" +
	"\tshard_ids\x18\x03 \x03(\rR\bshardIds\x12(\n" +
	"\x10source_disk_type\x18\x04 \x01(\tR\x0esourceDiskType\x122\n" +
	"\x15recover_missing_index\x18\x05 \x01(\bR\x13recoverMissingIndex\"\x1d\n" +
	"\x1bVolumeEcShardsMountResponse\"z\n" +
	"\x1cVolumeEcShardsUnmountRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1b\n" +
	"\tshard_ids\x18\x03 \x03(\rR\bshardIds\x12 \n" +
	"\fencode_ts_ns\x18\x04 \x01(\x03R\n" +
	"encodeTsNs\"\x1f\n" +
	"\x1dVolumeEcShardsUnmountResponse\"\xc1\x01\n" +
	"\x18VolumeEcShardReadRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x19\n" +
	"\bshard_id\x18\x02 \x01(\rR\ashardId\x12\x16\n" +
	"\x06offset\x18\x03 \x01(\x03R\x06offset\x12\x12\n" +
	"\x04size\x18\x04 \x01(\x03R\x04size\x12\x19\n" +
	"\bfile_key\x18\x05 \x01(\x04R\afileKey\x12 \n" +
	"\fencode_ts_ns\x18\a \x01(\x03R\n" +
	"encodeTsNsJ\x04\b\x06\x10\a\"p\n" +
	"\x19VolumeEcShardReadResponse\x12\x12\n" +
	"\x04data\x18\x01 \x01(\fR\x04data\x12\x1d\n" +
	"\n" +
	"is_deleted\x18\x02 \x01(\bR\tisDeleted\x12 \n" +
	"\fencode_ts_ns\x18\x03 \x01(\x03R\n" +
	"encodeTsNs\"\x8d\x01\n" +
	"\x19VolumeEcBlobDeleteRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x12\x19\n" +
	"\bfile_key\x18\x03 \x01(\x04R\afileKey\x12\x18\n" +
	"\aversion\x18\x04 \x01(\rR\aversion\"\x1c\n" +
	"\x1aVolumeEcBlobDeleteResponse\"\x9a\x01\n" +
	"\x1dVolumeEcShardsToVolumeRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x12\x1f\n" +
	"\vfrom_staged\x18\x03 \x01(\bR\n" +
	"fromStaged\x12\x1b\n" +
	"\tdisk_type\x18\x04 \x01(\tR\bdiskType\" \n" +
	"\x1eVolumeEcShardsToVolumeResponse\"8\n" +
	"\x19VolumeEcShardsInfoRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\"\x98\x02\n" +
	"\x1aVolumeEcShardsInfoResponse\x12C\n" +
	"\x0eec_shard_infos\x18\x01 \x03(\v2\x1d.volume_server_pb.EcShardInfoR\fecShardInfos\x12\x1f\n" +
	"\vvolume_size\x18\x02 \x01(\x04R\n" +
	"volumeSize\x12\x1d\n" +
	"\n" +
	"file_count\x18\x03 \x01(\x04R\tfileCount\x12,\n" +
	"\x12file_deleted_count\x18\x04 \x01(\x04R\x10fileDeletedCount\x12G\n" +
	"\x0fec_shard_config\x18\n" +
	" \x01(\v2\x1f.volume_server_pb.EcShardConfigR\recShardConfig\"y\n" +
	"\vEcShardInfo\x12\x19\n" +
	"\bshard_id\x18\x01 \x01(\rR\ashardId\x12\x12\n" +
	"\x04size\x18\x02 \x01(\x03R\x04size\x12\x1e\n" +
	"\n" +
	"collection\x18\x03 \x01(\tR\n" +
	"collection\x12\x1b\n" +
	"\tvolume_id\x18\x04 \x01(\rR\bvolumeId\":\n" +
	"\x1bReadVolumeFileStatusRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\"\xe3\x03\n" +
	"\x1cReadVolumeFileStatusResponse\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12;\n" +
	"\x1aidx_file_timestamp_seconds\x18\x02 \x01(\x04R\x17idxFileTimestampSeconds\x12\"\n" +
	"\ridx_file_size\x18\x03 \x01(\x04R\vidxFileSize\x12;\n" +
	"\x1adat_file_timestamp_seconds\x18\x04 \x01(\x04R\x17datFileTimestampSeconds\x12\"\n" +
	"\rdat_file_size\x18\x05 \x01(\x04R\vdatFileSize\x12\x1d\n" +
	"\n" +
	"file_count\x18\x06 \x01(\x04R\tfileCount\x12/\n" +
	"\x13compaction_revision\x18\a \x01(\rR\x12compactionRevision\x12\x1e\n" +
	"\n" +
	"collection\x18\b \x01(\tR\n" +
	"collection\x12\x1b\n" +
	"\tdisk_type\x18\t \x01(\tR\bdiskType\x12=\n" +
	"\vvolume_info\x18\n" +
	" \x01(\v2\x1c.volume_server_pb.VolumeInfoR\n" +
	"volumeInfo\x12\x18\n" +
	"\aversion\x18\v \x01(\rR\aversion\"\xd1\x01\n" +
	"\n" +
	"DiskStatus\x12\x10\n" +
	"\x03dir\x18\x01 \x01(\tR\x03dir\x12\x10\n" +
	"\x03all\x18\x02 \x01(\x04R\x03all\x12\x12\n" +
	"\x04used\x18\x03 \x01(\x04R\x04used\x12\x12\n" +
	"\x04free\x18\x04 \x01(\x04R\x04free\x12!\n" +
	"\fpercent_free\x18\x05 \x01(\x02R\vpercentFree\x12!\n" +
	"\fpercent_used\x18\x06 \x01(\x02R\vpercentUsed\x12\x1b\n" +
	"\tdisk_type\x18\a \x01(\tR\bdiskType\x12\x14\n" +
	"\x05error\x18\b \x01(\tR\x05error\"\xa3\x01\n" +
	"\tMemStatus\x12\x1e\n" +
	"\n" +
	"goroutines\x18\x01 \x01(\x05R\n" +
	"goroutines\x12\x10\n" +
	"\x03all\x18\x02 \x01(\x04R\x03all\x12\x12\n" +
	"\x04used\x18\x03 \x01(\x04R\x04used\x12\x12\n" +
	"\x04free\x18\x04 \x01(\x04R\x04free\x12\x12\n" +
	"\x04self\x18\x05 \x01(\x04R\x04self\x12\x12\n" +
	"\x04heap\x18\x06 \x01(\x04R\x04heap\x12\x14\n" +
	"\x05stack\x18\a \x01(\x04R\x05stack\"\xd8\x01\n" +
	"\n" +
	"RemoteFile\x12!\n" +
	"\fbackend_type\x18\x01 \x01(\tR\vbackendType\x12\x1d\n" +
	"\n" +
	"backend_id\x18\x02 \x01(\tR\tbackendId\x12\x10\n" +
	"\x03key\x18\x03 \x01(\tR\x03key\x12\x16\n" +
	"\x06offset\x18\x04 \x01(\x04R\x06offset\x12\x1b\n" +
	"\tfile_size\x18\x05 \x01(\x04R\bfileSize\x12#\n" +
	"\rmodified_time\x18\x06 \x01(\x04R\fmodifiedTime\x12\x1c\n" +
	"\textension\x18\a \x01(\tR\textension\"\xfe\x02\n" +
	"\n" +
	"VolumeInfo\x122\n" +
	"\x05files\x18\x01 \x03(\v2\x1c.volume_server_pb.RemoteFileR\x05files\x12\x18\n" +
	"\aversion\x18\x02 \x01(\rR\aversion\x12 \n" +
	"\vreplication\x18\x03 \x01(\tR\vreplication\x12!\n" +
	"\fbytes_offset\x18\x04 \x01(\rR\vbytesOffset\x12\"\n" +
	"\rdat_file_size\x18\x05 \x01(\x03R\vdatFileSize\x12\"\n" +
	"\rexpire_at_sec\x18\x06 \x01(\x04R\vexpireAtSec\x12\x1b\n" +
	"\tread_only\x18\a \x01(\bR\breadOnly\x12G\n" +
	"\x0fec_shard_config\x18\b \x01(\v2\x1f.volume_server_pb.EcShardConfigR\recShardConfig\x12/\n" +
	"\x14read_only_can_delete\x18\t \x01(\bR\x11readOnlyCanDelete\"\x96\x01\n" +
	"\rEcShardConfig\x12\x1f\n" +
	"\vdata_shards\x18\x01 \x01(\rR\n" +
	"dataShards\x12#\n" +
	"\rparity_shards\x18\x02 \x01(\rR\fparityShards\x12 \n" +
	"\fencode_ts_ns\x18\x03 \x01(\x03R\n" +
	"encodeTsNs\x12\x1d\n" +
	"\n" +
	"block_size\x18\x04 \x01(\x03R\tblockSize\"\xbc\x02\n" +
	"\x12EcBitrotProtection\x12A\n" +
	"\talgorithm\x18\x01 \x01(\x0e2#.volume_server_pb.ChecksumAlgorithmR\talgorithm\x12\x1d\n" +
	"\n" +
	"block_size\x18\x02 \x01(\rR\tblockSize\x12\x1e\n" +
	"\n" +
	"generation\x18\x03 \x01(\rR\n" +
	"generation\x12G\n" +
	"\x0fec_shard_config\x18\x04 \x01(\v2\x1f.volume_server_pb.EcShardConfigR\recShardConfig\x12:\n" +
	"\x06shards\x18\x05 \x03(\v2\".volume_server_pb.EcShardChecksumsR\x06shards\x12\x1f\n" +
	"\vencode_uuid\x18\x06 \x01(\fR\n" +
	"encodeUuid\"s\n" +
	"\x10EcShardChecksums\x12\x19\n" +
	"\bshard_id\x18\x01 \x01(\rR\ashardId\x12!\n" +
	"\fcovered_size\x18\x02 \x01(\x03R\vcoveredSize\x12!\n" +
	"\fblock_crc32c\x18\x03 \x01(\fR\vblockCrc32c\"\x8b\x02\n" +
	"\x14OldVersionVolumeInfo\x122\n" +
	"\x05files\x18\x01 \x03(\v2\x1c.volume_server_pb.RemoteFileR\x05files\x12\x18\n" +
	"\aversion\x18\x02 \x01(\rR\aversion\x12 \n" +
	"\vreplication\x18\x03 \x01(\tR\vreplication\x12 \n" +
	"\vBytesOffset\x18\x04 \x01(\rR\vBytesOffset\x12\"\n" +
	"\rdat_file_size\x18\x05 \x01(\x03R\vdatFileSize\x12 \n" +
	"\vDestroyTime\x18\x06 \x01(\x04R\vDestroyTime\x12\x1b\n" +
	"\tread_only\x18\a \x01(\bR\breadOnly\"\xc8\x01\n" +
	" VolumeTierMoveDatToRemoteRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x128\n" +
	"\x18destination_backend_name\x18\x03 \x01(\tR\x16destinationBackendName\x12-\n" +
	"\x13keep_local_dat_file\x18\x04 \x01(\bR\x10keepLocalDatFile\"s\n" +
	"!VolumeTierMoveDatToRemoteResponse\x12\x1c\n" +
	"\tprocessed\x18\x01 \x01(\x03R\tprocessed\x120\n" +
	"\x13processedPercentage\x18\x02 \x01(\x02R\x13processedPercentage\"\x92\x01\n" +
	"\"VolumeTierMoveDatFromRemoteRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1e\n" +
	"\n" +
	"collection\x18\x02 \x01(\tR\n" +
	"collection\x12/\n" +
	"\x14keep_remote_dat_file\x18\x03 \x01(\bR\x11keepRemoteDatFile\"u\n" +
	"#VolumeTierMoveDatFromRemoteResponse\x12\x1c\n" +
	"\tprocessed\x18\x01 \x01(\x03R\tprocessed\x120\n" +
	"\x13processedPercentage\x18\x02 \x01(\x02R\x13processedPercentage\"\x1b\n" +
	"\x19VolumeServerStatusRequest\"\xab\x02\n" +
	"\x1aVolumeServerStatusResponse\x12A\n" +
	"\rdisk_statuses\x18\x01 \x03(\v2\x1c.volume_server_pb.DiskStatusR\fdiskStatuses\x12@\n" +
	"\rmemory_status\x18\x02 \x01(\v2\x1b.volume_server_pb.MemStatusR\fmemoryStatus\x12\x18\n" +
	"\aversion\x18\x03 \x01(\tR\aversion\x12\x1f\n" +
	"\vdata_center\x18\x04 \x01(\tR\n" +
	"dataCenter\x12\x12\n" +
	"\x04rack\x18\x05 \x01(\tR\x04rack\x129\n" +
	"\x05state\x18\x06 \x01(\v2#.volume_server_pb.VolumeServerStateR\x05state\"\x1a\n" +
	"\x18VolumeServerLeaveRequest\"\x1b\n" +
	"\x19VolumeServerLeaveResponse\"\x8f\x04\n" +
	"\x1aFetchAndWriteNeedleRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1b\n" +
	"\tneedle_id\x18\x02 \x01(\x04R\bneedleId\x12\x16\n" +
	"\x06cookie\x18\x03 \x01(\rR\x06cookie\x12\x16\n" +
	"\x06offset\x18\x04 \x01(\x03R\x06offset\x12\x12\n" +
	"\x04size\x18\x05 \x01(\x03R\x04size\x12P\n" +
	"\breplicas\x18\x06 \x03(\v24.volume_server_pb.FetchAndWriteNeedleRequest.ReplicaR\breplicas\x12\x12\n" +
	"\x04auth\x18\a \x01(\tR\x04auth\x121\n" +
	"\x14download_concurrency\x18\b \x01(\x05R\x13downloadConcurrency\x126\n" +
	"\vremote_conf\x18\x0f \x01(\v2\x15.remote_pb.RemoteConfR\n" +
	"remoteConf\x12I\n" +
	"\x0fremote_location\x18\x10 \x01(\v2 .remote_pb.RemoteStorageLocationR\x0eremoteLocation\x1aW\n" +
	"\aReplica\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\x12\x1d\n" +
	"\n" +
	"public_url\x18\x02 \x01(\tR\tpublicUrl\x12\x1b\n" +
	"\tgrpc_port\x18\x03 \x01(\x05R\bgrpcPort\"2\n" +
	"\x1bFetchAndWriteNeedleResponse\x12\x13\n" +
	"\x05e_tag\x18\x01 \x01(\tR\x04eTag\"\xab\x01\n" +
	"\x12ScrubVolumeRequest\x125\n" +
	"\x04mode\x18\x01 \x01(\x0e2!.volume_server_pb.VolumeScrubModeR\x04mode\x12\x1d\n" +
	"\n" +
	"volume_ids\x18\x02 \x03(\rR\tvolumeIds\x12?\n" +
	"\x1cmark_broken_volumes_readonly\x18\x03 \x01(\bR\x19markBrokenVolumesReadonly\"\xa1\x01\n" +
	"\x13ScrubVolumeResponse\x12#\n" +
	"\rtotal_volumes\x18\x01 \x01(\x04R\ftotalVolumes\x12\x1f\n" +
	"\vtotal_files\x18\x02 \x01(\x04R\n" +
	"totalFiles\x12*\n" +
	"\x11broken_volume_ids\x18\x03 \x03(\rR\x0fbrokenVolumeIds\x12\x18\n" +
	"\adetails\x18\x04 \x03(\tR\adetails\"\xab\x01\n" +
	"\x14ScrubEcVolumeRequest\x125\n" +
	"\x04mode\x18\x01 \x01(\x0e2!.volume_server_pb.VolumeScrubModeR\x04mode\x12\x1d\n" +
	"\n" +
	"volume_ids\x18\x02 \x03(\rR\tvolumeIds\x12=\n" +
	"\x1bforce_deleted_needles_check\x18\x03 \x01(\bR\x18forceDeletedNeedlesCheck\"\xf0\x01\n" +
	"\x15ScrubEcVolumeResponse\x12#\n" +
	"\rtotal_volumes\x18\x01 \x01(\x04R\ftotalVolumes\x12\x1f\n" +
	"\vtotal_files\x18\x02 \x01(\x04R\n" +
	"totalFiles\x12*\n" +
	"\x11broken_volume_ids\x18\x03 \x03(\rR\x0fbrokenVolumeIds\x12K\n" +
	"\x12broken_shard_infos\x18\x04 \x03(\v2\x1d.volume_server_pb.EcShardInfoR\x10brokenShardInfos\x12\x18\n" +
	"\adetails\x18\x05 \x03(\tR\adetails\"\xf4\f\n" +
	"\fQueryRequest\x12\x1e\n" +
	"\n" +
	"selections\x18\x01 \x03(\tR\n" +
	"selections\x12\"\n" +
	"\rfrom_file_ids\x18\x02 \x03(\tR\vfromFileIds\x12=\n" +
	"\x06filter\x18\x03 \x01(\v2%.volume_server_pb.QueryRequest.FilterR\x06filter\x12b\n" +
	"\x13input_serialization\x18\x04 \x01(\v21.volume_server_pb.QueryRequest.InputSerializationR\x12inputSerialization\x12e\n" +
	"\x14output_serialization\x18\x05 \x01(\v22.volume_server_pb.QueryRequest.OutputSerializationR\x13outputSerialization\x1aN\n" +
	"\x06Filter\x12\x14\n" +
	"\x05field\x18\x01 \x01(\tR\x05field\x12\x18\n" +
	"\aoperand\x18\x02 \x01(\tR\aoperand\x12\x14\n" +
	"\x05value\x18\x03 \x01(\tR\x05value\x1a\xd3\x05\n" +
	"\x12InputSerialization\x12)\n" +
	"\x10compression_type\x18\x01 \x01(\tR\x0fcompressionType\x12W\n" +
	"\tcsv_input\x18\x02 \x01(\v2:.volume_server_pb.QueryRequest.InputSerialization.CSVInputR\bcsvInput\x12Z\n" +
	"\n" +
	"json_input\x18\x03 \x01(\v2;.volume_server_pb.QueryRequest.InputSerialization.JSONInputR\tjsonInput\x12c\n" +
	"\rparquet_input\x18\x04 \x01(\v2>.volume_server_pb.QueryRequest.InputSerialization.ParquetInputR\fparquetInput\x1a\xc6\x02\n" +
	"\bCSVInput\x12(\n" +
	"\x10file_header_info\x18\x01 \x01(\tR\x0efileHeaderInfo\x12)\n" +
	"\x10record_delimiter\x18\x02 \x01(\tR\x0frecordDelimiter\x12'\n" +
	"\x0ffield_delimiter\x18\x03 \x01(\tR\x0efieldDelimiter\x12'\n" +
	"\x0fquote_character\x18\x04 \x01(\tR\x0equoteCharacter\x124\n" +
	"\x16quote_escape_character\x18\x05 \x01(\tR\x14quoteEscapeCharacter\x12\x1a\n" +
	"\bcomments\x18\x06 \x01(\tR\bcomments\x12A\n" +
	"\x1dallow_quoted_record_delimiter\x18\a \x01(\bR\x1aallowQuotedRecordDelimiter\x1a\x1f\n" +
	"\tJSONInput\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x1a\x0e\n" +
	"\fParquetInput\x1a\xef\x03\n" +
	"\x13OutputSerialization\x12[\n" +
	"\n" +
	"csv_output\x18\x02 \x01(\v2<.volume_server_pb.QueryRequest.OutputSerialization.CSVOutputR\tcsvOutput\x12^\n" +
	"\vjson_output\x18\x03 \x01(\v2=.volume_server_pb.QueryRequest.OutputSerialization.JSONOutputR\n" +
	"jsonOutput\x1a\xe1\x01\n" +
	"\tCSVOutput\x12!\n" +
	"\fquote_fields\x18\x01 \x01(\tR\vquoteFields\x12)\n" +
	"\x10record_delimiter\x18\x02 \x01(\tR\x0frecordDelimiter\x12'\n" +
	"\x0ffield_delimiter\x18\x03 \x01(\tR\x0efieldDelimiter\x12'\n" +
	"\x0fquote_character\x18\x04 \x01(\tR\x0equoteCharacter\x124\n" +
	"\x16quote_escape_character\x18\x05 \x01(\tR\x14quoteEscapeCharacter\x1a7\n" +
	"\n" +
	"JSONOutput\x12)\n" +
	"\x10record_delimiter\x18\x01 \x01(\tR\x0frecordDelimiter\")\n" +
	"\rQueriedStripe\x12\x18\n" +
	"\arecords\x18\x01 \x01(\fR\arecords\"U\n" +
	"\x19VolumeNeedleStatusRequest\x12\x1b\n" +
	"\tvolume_id\x18\x01 \x01(\rR\bvolumeId\x12\x1b\n" +
	"\tneedle_id\x18\x02 \x01(\x04R\bneedleId\"\xae\x01\n" +
	"\x1aVolumeNeedleStatusResponse\x12\x1b\n" +
	"\tneedle_id\x18\x01 \x01(\x04R\bneedleId\x12\x16\n" +
	"\x06cookie\x18\x02 \x01(\rR\x06cookie\x12\x12\n" +
	"\x04size\x18\x03 \x01(\rR\x04size\x12#\n" +
	"\rlast_modified\x18\x04 \x01(\x04R\flastModified\x12\x10\n" +
	"\x03crc\x18\x05 \x01(\rR\x03crc\x12\x10\n" +
	"\x03ttl\x18\x06 \x01(\tR\x03ttl\"F\n" +
	"\vPingRequest\x12\x16\n" +
	"\x06target\x18\x01 \x01(\tR\x06target\x12\x1f\n" +
	"\vtarget_type\x18\x02 \x01(\tR\n" +
	"targetType\"z\n" +
	"\fPingResponse\x12\"\n" +
	"\rstart_time_ns\x18\x01 \x01(\x03R\vstartTimeNs\x12$\n" +
	"\x0eremote_time_ns\x18\x02 \x01(\x03R\fremoteTimeNs\x12 \n" +
	"\fstop_time_ns\x18\x03 \x01(\x03R\n" +
	"stopTimeNs*;\n" +
	"\x11ChecksumAlgorithm\x12\x11\n" +
	"\rCHECKSUM_NONE\x10\x00\x12\x13\n" +
	"\x0fCHECKSUM_CRC32C\x10\x01*W\n" +
	"\x0fVolumeScrubMode\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\t\n" +
	"\x05INDEX\x10\x01\x12\b\n" +
	"\x04FULL\x10\x02\x12\t\n" +
	"\x05LOCAL\x10\x03\x12\f\n" +
	"\bCHECKSUM\x10\x04\x12\t\n" +
	"\x05READS\x10\x052\xfa)\n" +
	"\fVolumeServer\x12\\\n" +
	"\vBatchDelete\x12$.volume_server_pb.BatchDeleteRequest\x1a%.volume_server_pb.BatchDeleteResponse\"\x00\x12n\n" +
	"\x11VacuumVolumeCheck\x12*.volume_server_pb.VacuumVolumeCheckRequest\x1a+.volume_server_pb.VacuumVolumeCheckResponse\"\x00\x12v\n" +
	"\x13VacuumVolumeCompact\x12,.volume_server_pb.VacuumVolumeCompactRequest\x1a-.volume_server_pb.VacuumVolumeCompactResponse\"\x000\x01\x12q\n" +
	"\x12VacuumVolumeCommit\x12+.volume_server_pb.VacuumVolumeCommitRequest\x1a,.volume_server_pb.VacuumVolumeCommitResponse\"\x00\x12t\n" +
	"\x13VacuumVolumeCleanup\x12,.volume_server_pb.VacuumVolumeCleanupRequest\x1a-.volume_server_pb.VacuumVolumeCleanupResponse\"\x00\x12k\n" +
	"\x10DeleteCollection\x12).volume_server_pb.DeleteCollectionRequest\x1a*.volume_server_pb.DeleteCollectionResponse\"\x00\x12e\n" +
	"\x0eAllocateVolume\x12'.volume_server_pb.AllocateVolumeRequest\x1a(.volume_server_pb.AllocateVolumeResponse\"\x00\x12k\n" +
	"\x10VolumeSyncStatus\x12).volume_server_pb.VolumeSyncStatusRequest\x1a*.volume_server_pb.VolumeSyncStatusResponse\"\x00\x12|\n" +
	"\x15VolumeIncrementalCopy\x12..volume_server_pb.VolumeIncrementalCopyRequest\x1a/.volume_server_pb.VolumeIncrementalCopyResponse\"\x000\x01\x12\\\n" +
	"\vVolumeMount\x12$.volume_server_pb.VolumeMountRequest\x1a%.volume_server_pb.VolumeMountResponse\"\x00\x12b\n" +
	"\rVolumeUnmount\x12&.volume_server_pb.VolumeUnmountRequest\x1a'.volume_server_pb.VolumeUnmountResponse\"\x00\x12}\n" +
	"\x16VolumeConsolidateIndex\x12/.volume_server_pb.VolumeConsolidateIndexRequest\x1a0.volume_server_pb.VolumeConsolidateIndexResponse\"\x00\x12_\n" +
	"\fVolumeDelete\x12%.volume_server_pb.VolumeDeleteRequest\x1a&.volume_server_pb.VolumeDeleteResponse\"\x00\x12q\n" +
	"\x12VolumeMarkReadonly\x12+.volume_server_pb.VolumeMarkReadonlyRequest\x1a,.volume_server_pb.VolumeMarkReadonlyResponse\"\x00\x12q\n" +
	"\x12VolumeMarkWritable\x12+.volume_server_pb.VolumeMarkWritableRequest\x1a,.volume_server_pb.VolumeMarkWritableResponse\"\x00\x12h\n" +
	"\x0fVolumeConfigure\x12(.volume_server_pb.VolumeConfigureRequest\x1a).volume_server_pb.VolumeConfigureResponse\"\x00\x12_\n" +
	"\fVolumeStatus\x12%.volume_server_pb.VolumeStatusRequest\x1a&.volume_server_pb.VolumeStatusResponse\"\x00\x12S\n" +
	"\bGetState\x12!.volume_server_pb.GetStateRequest\x1a\".volume_server_pb.GetStateResponse\"\x00\x12S\n" +
	"\bSetState\x12!.volume_server_pb.SetStateRequest\x1a\".volume_server_pb.SetStateResponse\"\x00\x12[\n" +
	"\n" +
	"VolumeCopy\x12#.volume_server_pb.VolumeCopyRequest\x1a$.volume_server_pb.VolumeCopyResponse\"\x000\x01\x12w\n" +
	"\x14ReadVolumeFileStatus\x12-.volume_server_pb.ReadVolumeFileStatusRequest\x1a..volume_server_pb.ReadVolumeFileStatusResponse\"\x00\x12U\n" +
	"\bCopyFile\x12!.volume_server_pb.CopyFileRequest\x1a\".volume_server_pb.CopyFileResponse\"\x000\x01\x12^\n" +
	"\vReceiveFile\x12$.volume_server_pb.ReceiveFileRequest\x1a%.volume_server_pb.ReceiveFileResponse\"\x00(\x01\x12e\n" +
	"\x0eReadNeedleBlob\x12'.volume_server_pb.ReadNeedleBlobRequest\x1a(.volume_server_pb.ReadNeedleBlobResponse\"\x00\x12e\n" +
	"\x0eReadNeedleMeta\x12'.volume_server_pb.ReadNeedleMetaRequest\x1a(.volume_server_pb.ReadNeedleMetaResponse\"\x00\x12h\n" +
	"\x0fWriteNeedleBlob\x12(.volume_server_pb.WriteNeedleBlobRequest\x1a).volume_server_pb.WriteNeedleBlobResponse\"\x00\x12g\n" +
	"\x0eReadAllNeedles\x12'.volume_server_pb.ReadAllNeedlesRequest\x1a(.volume_server_pb.ReadAllNeedlesResponse\"\x000\x01\x12m\n" +
	"\x10VolumeTailSender\x12).volume_server_pb.VolumeTailSenderRequest\x1a*.volume_server_pb.VolumeTailSenderResponse\"\x000\x01\x12q\n" +
	"\x12VolumeTailReceiver\x12+.volume_server_pb.VolumeTailReceiverRequest\x1a,.volume_server_pb.VolumeTailReceiverResponse\"\x00\x12}\n" +
	"\x16VolumeEcShardsGenerate\x12/.volume_server_pb.VolumeEcShardsGenerateRequest\x1a0.volume_server_pb.VolumeEcShardsGenerateResponse\"\x00\x12z\n" +
	"\x15VolumeEcShardsRebuild\x12..volume_server_pb.VolumeEcShardsRebuildRequest\x1a/.volume_server_pb.VolumeEcShardsRebuildResponse\"\x00\x12q\n" +
	"\x12VolumeEcShardsCopy\x12+.volume_server_pb.VolumeEcShardsCopyRequest\x1a,.volume_server_pb.VolumeEcShardsCopyResponse\"\x00\x12w\n" +
	"\x14VolumeEcShardsDelete\x12-.volume_server_pb.VolumeEcShardsDeleteRequest\x1a..volume_server_pb.VolumeEcShardsDeleteResponse\"\x00\x12t\n" +
	"\x13VolumeEcShardsMount\x12,.volume_server_pb.VolumeEcShardsMountRequest\x1a-.volume_server_pb.VolumeEcShardsMountResponse\"\x00\x12z\n" +
	"\x15VolumeEcShardsUnmount\x12..volume_server_pb.VolumeEcShardsUnmountRequest\x1a/.volume_server_pb.VolumeEcShardsUnmountResponse\"\x00\x12p\n" +
	"\x11VolumeEcShardRead\x12*.volume_server_pb.VolumeEcShardReadRequest\x1a+.volume_server_pb.VolumeEcShardReadResponse\"\x000\x01\x12q\n" +
	"\x12VolumeEcBlobDelete\x12+.volume_server_pb.VolumeEcBlobDeleteRequest\x1a,.volume_server_pb.VolumeEcBlobDeleteResponse\"\x00\x12}\n" +
	"\x16VolumeEcShardsToVolume\x12/.volume_server_pb.VolumeEcShardsToVolumeRequest\x1a0.volume_server_pb.VolumeEcShardsToVolumeResponse\"\x00\x12q\n" +
	"\x12VolumeEcShardsInfo\x12+.volume_server_pb.VolumeEcShardsInfoRequest\x1a,.volume_server_pb.VolumeEcShardsInfoResponse\"\x00\x12\x88\x01\n" +
	"\x19VolumeTierMoveDatToRemote\x122.volume_server_pb.VolumeTierMoveDatToRemoteRequest\x1a3.volume_server_pb.VolumeTierMoveDatToRemoteResponse\"\x000\x01\x12\x8e\x01\n" +
	"\x1bVolumeTierMoveDatFromRemote\x124.volume_server_pb.VolumeTierMoveDatFromRemoteRequest\x1a5.volume_server_pb.VolumeTierMoveDatFromRemoteResponse\"\x000\x01\x12q\n" +
	"\x12VolumeServerStatus\x12+.volume_server_pb.VolumeServerStatusRequest\x1a,.volume_server_pb.VolumeServerStatusResponse\"\x00\x12n\n" +
	"\x11VolumeServerLeave\x12*.volume_server_pb.VolumeServerLeaveRequest\x1a+.volume_server_pb.VolumeServerLeaveResponse\"\x00\x12t\n" +
	"\x13FetchAndWriteNeedle\x12,.volume_server_pb.FetchAndWriteNeedleRequest\x1a-.volume_server_pb.FetchAndWriteNeedleResponse\"\x00\x12\\\n" +
	"\vScrubVolume\x12$.volume_server_pb.ScrubVolumeRequest\x1a%.volume_server_pb.ScrubVolumeResponse\"\x00\x12b\n" +
	"\rScrubEcVolume\x12&.volume_server_pb.ScrubEcVolumeRequest\x1a'.volume_server_pb.ScrubEcVolumeResponse\"\x00\x12L\n" +
	"\x05Query\x12\x1e.volume_server_pb.QueryRequest\x1a\x1f.volume_server_pb.QueriedStripe\"\x000\x01\x12q\n" +
	"\x12VolumeNeedleStatus\x12+.volume_server_pb.VolumeNeedleStatusRequest\x1a,.volume_server_pb.VolumeNeedleStatusResponse\"\x00\x12G\n" +
	"\x04Ping\x12\x1d.volume_server_pb.PingRequest\x1a\x1e.volume_server_pb.PingResponse\"\x00B9Z7github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pbb\x06proto3"

var (
	file_volume_server_proto_rawDescOnce sync.Once
	file_volume_server_proto_rawDescData []byte
)

func file_volume_server_proto_rawDescGZIP() []byte {
	file_volume_server_proto_rawDescOnce.Do(func() {
		file_volume_server_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_volume_server_proto_rawDesc), len(file_volume_server_proto_rawDesc)))
	})
	return file_volume_server_proto_rawDescData
}

var file_volume_server_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_volume_server_proto_msgTypes = make([]protoimpl.MessageInfo, 120)
var file_volume_server_proto_goTypes = []any{
	(ChecksumAlgorithm)(0),                               // 0: volume_server_pb.ChecksumAlgorithm
	(VolumeScrubMode)(0),                                 // 1: volume_server_pb.VolumeScrubMode
	(*VolumeServerState)(nil),                            // 2: volume_server_pb.VolumeServerState
	(*BatchDeleteRequest)(nil),                           // 3: volume_server_pb.BatchDeleteRequest
	(*BatchDeleteResponse)(nil),                          // 4: volume_server_pb.BatchDeleteResponse
	(*DeleteResult)(nil),                                 // 5: volume_server_pb.DeleteResult
	(*Empty)(nil),                                        // 6: volume_server_pb.Empty
	(*VacuumVolumeCheckRequest)(nil),                     // 7: volume_server_pb.VacuumVolumeCheckRequest
	(*VacuumVolumeCheckResponse)(nil),                    // 8: volume_server_pb.VacuumVolumeCheckResponse
	(*VacuumVolumeCompactRequest)(nil),                   // 9: volume_server_pb.VacuumVolumeCompactRequest
	(*VacuumVolumeCompactResponse)(nil),                  // 10: volume_server_pb.VacuumVolumeCompactResponse
	(*VacuumVolumeCommitRequest)(nil),                    // 11: volume_server_pb.VacuumVolumeCommitRequest
	(*VacuumVolumeCommitResponse)(nil),                   // 12: volume_server_pb.VacuumVolumeCommitResponse
	(*VacuumVolumeCleanupRequest)(nil),                   // 13: volume_server_pb.VacuumVolumeCleanupRequest
	(*VacuumVolumeCleanupResponse)(nil),                  // 14: volume_server_pb.VacuumVolumeCleanupResponse
	(*DeleteCollectionRequest)(nil),                      // 15: volume_server_pb.DeleteCollectionRequest
	(*DeleteCollectionResponse)(nil),                     // 16: volume_server_pb.DeleteCollectionResponse
	(*AllocateVolumeRequest)(nil),                        // 17: volume_server_pb.AllocateVolumeRequest
	(*AllocateVolumeResponse)(nil),                       // 18: volume_server_pb.AllocateVolumeResponse
	(*VolumeSyncStatusRequest)(nil),                      // 19: volume_server_pb.VolumeSyncStatusRequest
	(*VolumeSyncStatusResponse)(nil),                     // 20: volume_server_pb.VolumeSyncStatusResponse
	(*VolumeIncrementalCopyRequest)(nil),                 // 21: volume_server_pb.VolumeIncrementalCopyRequest
	(*VolumeIncrementalCopyResponse)(nil),                // 22: volume_server_pb.VolumeIncrementalCopyResponse
	(*VolumeMountRequest)(nil),                           // 23: volume_server_pb.VolumeMountRequest
	(*VolumeMountResponse)(nil),                          // 24: volume_server_pb.VolumeMountResponse
	(*VolumeUnmountRequest)(nil),                         // 25: volume_server_pb.VolumeUnmountRequest
	(*VolumeUnmountResponse)(nil),                        // 26: volume_server_pb.VolumeUnmountResponse
	(*VolumeConsolidateIndexRequest)(nil),                // 27: volume_server_pb.VolumeConsolidateIndexRequest
	(*VolumeConsolidateIndexResponse)(nil),               // 28: volume_server_pb.VolumeConsolidateIndexResponse
	(*VolumeDeleteRequest)(nil),                          // 29: volume_server_pb.VolumeDeleteRequest
	(*VolumeDeleteResponse)(nil),                         // 30: volume_server_pb.VolumeDeleteResponse
	(*VolumeMarkReadonlyRequest)(nil),                    // 31: volume_server_pb.VolumeMarkReadonlyRequest
	(*VolumeMarkReadonlyResponse)(nil),                   // 32: volume_server_pb.VolumeMarkReadonlyResponse
	(*VolumeMarkWritableRequest)(nil),                    // 33: volume_server_pb.VolumeMarkWritableRequest
	(*VolumeMarkWritableResponse)(nil),                   // 34: volume_server_pb.VolumeMarkWritableResponse
	(*VolumeConfigureRequest)(nil),                       // 35: volume_server_pb.VolumeConfigureRequest
	(*VolumeConfigureResponse)(nil),                      // 36: volume_server_pb.VolumeConfigureResponse
	(*VolumeStatusRequest)(nil),                          // 37: volume_server_pb.VolumeStatusRequest
	(*VolumeStatusResponse)(nil),                         // 38: volume_server_pb.VolumeStatusResponse
	(*GetStateRequest)(nil),                              // 39: volume_server_pb.GetStateRequest
	(*GetStateResponse)(nil),                             // 40: volume_server_pb.GetStateResponse
	(*SetStateRequest)(nil),                              // 41: volume_server_pb.SetStateRequest
	(*SetStateResponse)(nil),                             // 42: volume_server_pb.SetStateResponse
	(*VolumeCopyRequest)(nil),                            // 43: volume_server_pb.VolumeCopyRequest
	(*VolumeCopyResponse)(nil),                           // 44: volume_server_pb.VolumeCopyResponse
	(*CopyFileRequest)(nil),                              // 45: volume_server_pb.CopyFileRequest
	(*CopyFileResponse)(nil),                             // 46: volume_server_pb.CopyFileResponse
	(*ReceiveFileRequest)(nil),                           // 47: volume_server_pb.ReceiveFileRequest
	(*ReceiveFileInfo)(nil),                              // 48: volume_server_pb.ReceiveFileInfo
	(*ReceiveFileResponse)(nil),                          // 49: volume_server_pb.ReceiveFileResponse
	(*ReadNeedleBlobRequest)(nil),                        // 50: volume_server_pb.ReadNeedleBlobRequest
	(*ReadNeedleBlobResponse)(nil),                       // 51: volume_server_pb.ReadNeedleBlobResponse
	(*ReadNeedleMetaRequest)(nil),                        // 52: volume_server_pb.ReadNeedleMetaRequest
	(*ReadNeedleMetaResponse)(nil),                       // 53: volume_server_pb.ReadNeedleMetaResponse
	(*WriteNeedleBlobRequest)(nil),                       // 54: volume_server_pb.WriteNeedleBlobRequest
	(*WriteNeedleBlobResponse)(nil),                      // 55: volume_server_pb.WriteNeedleBlobResponse
	(*ReadAllNeedlesRequest)(nil),                        // 56: volume_server_pb.ReadAllNeedlesRequest
	(*ReadAllNeedlesResponse)(nil),                       // 57: volume_server_pb.ReadAllNeedlesResponse
	(*VolumeTailSenderRequest)(nil),                      // 58: volume_server_pb.VolumeTailSenderRequest
	(*VolumeTailSenderResponse)(nil),                     // 59: volume_server_pb.VolumeTailSenderResponse
	(*VolumeTailReceiverRequest)(nil),                    // 60: volume_server_pb.VolumeTailReceiverRequest
	(*VolumeTailReceiverResponse)(nil),                   // 61: volume_server_pb.VolumeTailReceiverResponse
	(*VolumeEcShardsGenerateRequest)(nil),                // 62: volume_server_pb.VolumeEcShardsGenerateRequest
	(*VolumeEcShardsGenerateResponse)(nil),               // 63: volume_server_pb.VolumeEcShardsGenerateResponse
	(*VolumeEcShardsRebuildRequest)(nil),                 // 64: volume_server_pb.VolumeEcShardsRebuildRequest
	(*VolumeEcShardsRebuildResponse)(nil),                // 65: volume_server_pb.VolumeEcShardsRebuildResponse
	(*VolumeEcShardsCopyRequest)(nil),                    // 66: volume_server_pb.VolumeEcShardsCopyRequest
	(*VolumeEcShardsCopyResponse)(nil),                   // 67: volume_server_pb.VolumeEcShardsCopyResponse
	(*VolumeEcShardsDeleteRequest)(nil),                  // 68: volume_server_pb.VolumeEcShardsDeleteRequest
	(*VolumeEcShardsDeleteResponse)(nil),                 // 69: volume_server_pb.VolumeEcShardsDeleteResponse
	(*VolumeEcShardsMountRequest)(nil),                   // 70: volume_server_pb.VolumeEcShardsMountRequest
	(*VolumeEcShardsMountResponse)(nil),                  // 71: volume_server_pb.VolumeEcShardsMountResponse
	(*VolumeEcShardsUnmountRequest)(nil),                 // 72: volume_server_pb.VolumeEcShardsUnmountRequest
	(*VolumeEcShardsUnmountResponse)(nil),                // 73: volume_server_pb.VolumeEcShardsUnmountResponse
	(*VolumeEcShardReadRequest)(nil),                     // 74: volume_server_pb.VolumeEcShardReadRequest
	(*VolumeEcShardReadResponse)(nil),                    // 75: volume_server_pb.VolumeEcShardReadResponse
	(*VolumeEcBlobDeleteRequest)(nil),                    // 76: volume_server_pb.VolumeEcBlobDeleteRequest
	(*VolumeEcBlobDeleteResponse)(nil),                   // 77: volume_server_pb.VolumeEcBlobDeleteResponse
	(*VolumeEcShardsToVolumeRequest)(nil),                // 78: volume_server_pb.VolumeEcShardsToVolumeRequest
	(*VolumeEcShardsToVolumeResponse)(nil),               // 79: volume_server_pb.VolumeEcShardsToVolumeResponse
	(*VolumeEcShardsInfoRequest)(nil),                    // 80: volume_server_pb.VolumeEcShardsInfoRequest
	(*VolumeEcShardsInfoResponse)(nil),                   // 81: volume_server_pb.VolumeEcShardsInfoResponse
	(*EcShardInfo)(nil),                                  // 82: volume_server_pb.EcShardInfo
	(*ReadVolumeFileStatusRequest)(nil),                  // 83: volume_server_pb.ReadVolumeFileStatusRequest
	(*ReadVolumeFileStatusResponse)(nil),                 // 84: volume_server_pb.ReadVolumeFileStatusResponse
	(*DiskStatus)(nil),                                   // 85: volume_server_pb.DiskStatus
	(*MemStatus)(nil),                                    // 86: volume_server_pb.MemStatus
	(*RemoteFile)(nil),                                   // 87: volume_server_pb.RemoteFile
	(*VolumeInfo)(nil),                                   // 88: volume_server_pb.VolumeInfo
	(*EcShardConfig)(nil),                                // 89: volume_server_pb.EcShardConfig
	(*EcBitrotProtection)(nil),                           // 90: volume_server_pb.EcBitrotProtection
	(*EcShardChecksums)(nil),                             // 91: volume_server_pb.EcShardChecksums
	(*OldVersionVolumeInfo)(nil),                         // 92: volume_server_pb.OldVersionVolumeInfo
	(*VolumeTierMoveDatToRemoteRequest)(nil),             // 93: volume_server_pb.VolumeTierMoveDatToRemoteRequest
	(*VolumeTierMoveDatToRemoteResponse)(nil),            // 94: volume_server_pb.VolumeTierMoveDatToRemoteResponse
	(*VolumeTierMoveDatFromRemoteRequest)(nil),           // 95: volume_server_pb.VolumeTierMoveDatFromRemoteRequest
	(*VolumeTierMoveDatFromRemoteResponse)(nil),          // 96: volume_server_pb.VolumeTierMoveDatFromRemoteResponse
	(*VolumeServerStatusRequest)(nil),                    // 97: volume_server_pb.VolumeServerStatusRequest
	(*VolumeServerStatusResponse)(nil),                   // 98: volume_server_pb.VolumeServerStatusResponse
	(*VolumeServerLeaveRequest)(nil),                     // 99: volume_server_pb.VolumeServerLeaveRequest
	(*VolumeServerLeaveResponse)(nil),                    // 100: volume_server_pb.VolumeServerLeaveResponse
	(*FetchAndWriteNeedleRequest)(nil),                   // 101: volume_server_pb.FetchAndWriteNeedleRequest
	(*FetchAndWriteNeedleResponse)(nil),                  // 102: volume_server_pb.FetchAndWriteNeedleResponse
	(*ScrubVolumeRequest)(nil),                           // 103: volume_server_pb.ScrubVolumeRequest
	(*ScrubVolumeResponse)(nil),                          // 104: volume_server_pb.ScrubVolumeResponse
	(*ScrubEcVolumeRequest)(nil),                         // 105: volume_server_pb.ScrubEcVolumeRequest
	(*ScrubEcVolumeResponse)(nil),                        // 106: volume_server_pb.ScrubEcVolumeResponse
	(*QueryRequest)(nil),                                 // 107: volume_server_pb.QueryRequest
	(*QueriedStripe)(nil),                                // 108: volume_server_pb.QueriedStripe
	(*VolumeNeedleStatusRequest)(nil),                    // 109: volume_server_pb.VolumeNeedleStatusRequest
	(*VolumeNeedleStatusResponse)(nil),                   // 110: volume_server_pb.VolumeNeedleStatusResponse
	(*PingRequest)(nil),                                  // 111: volume_server_pb.PingRequest
	(*PingResponse)(nil),                                 // 112: volume_server_pb.PingResponse
	(*FetchAndWriteNeedleRequest_Replica)(nil),           // 113: volume_server_pb.FetchAndWriteNeedleRequest.Replica
	(*QueryRequest_Filter)(nil),                          // 114: volume_server_pb.QueryRequest.Filter
	(*QueryRequest_InputSerialization)(nil),              // 115: volume_server_pb.QueryRequest.InputSerialization
	(*QueryRequest_OutputSerialization)(nil),             // 116: volume_server_pb.QueryRequest.OutputSerialization
	(*QueryRequest_InputSerialization_CSVInput)(nil),     // 117: volume_server_pb.QueryRequest.InputSerialization.CSVInput
	(*QueryRequest_InputSerialization_JSONInput)(nil),    // 118: volume_server_pb.QueryRequest.InputSerialization.JSONInput
	(*QueryRequest_InputSerialization_ParquetInput)(nil), // 119: volume_server_pb.QueryRequest.InputSerialization.ParquetInput
	(*QueryRequest_OutputSerialization_CSVOutput)(nil),   // 120: volume_server_pb.QueryRequest.OutputSerialization.CSVOutput
	(*QueryRequest_OutputSerialization_JSONOutput)(nil),  // 121: volume_server_pb.QueryRequest.OutputSerialization.JSONOutput
	(*remote_pb.RemoteConf)(nil),                         // 122: remote_pb.RemoteConf
	(*remote_pb.RemoteStorageLocation)(nil),              // 123: remote_pb.RemoteStorageLocation
}
var file_volume_server_proto_depIdxs = []int32{
	5,   // 0: volume_server_pb.BatchDeleteResponse.results:type_name -> volume_server_pb.DeleteResult
	2,   // 1: volume_server_pb.GetStateResponse.state:type_name -> volume_server_pb.VolumeServerState
	2,   // 2: volume_server_pb.SetStateRequest.state:type_name -> volume_server_pb.VolumeServerState
	2,   // 3: volume_server_pb.SetStateResponse.state:type_name -> volume_server_pb.VolumeServerState
	48,  // 4: volume_server_pb.ReceiveFileRequest.info:type_name -> volume_server_pb.ReceiveFileInfo
	82,  // 5: volume_server_pb.VolumeEcShardsInfoResponse.ec_shard_infos:type_name -> volume_server_pb.EcShardInfo
	89,  // 6: volume_server_pb.VolumeEcShardsInfoResponse.ec_shard_config:type_name -> volume_server_pb.EcShardConfig
	88,  // 7: volume_server_pb.ReadVolumeFileStatusResponse.volume_info:type_name -> volume_server_pb.VolumeInfo
	87,  // 8: volume_server_pb.VolumeInfo.files:type_name -> volume_server_pb.RemoteFile
	89,  // 9: volume_server_pb.VolumeInfo.ec_shard_config:type_name -> volume_server_pb.EcShardConfig
	0,   // 10: volume_server_pb.EcBitrotProtection.algorithm:type_name -> volume_server_pb.ChecksumAlgorithm
	89,  // 11: volume_server_pb.EcBitrotProtection.ec_shard_config:type_name -> volume_server_pb.EcShardConfig
	91,  // 12: volume_server_pb.EcBitrotProtection.shards:type_name -> volume_server_pb.EcShardChecksums
	87,  // 13: volume_server_pb.OldVersionVolumeInfo.files:type_name -> volume_server_pb.RemoteFile
	85,  // 14: volume_server_pb.VolumeServerStatusResponse.disk_statuses:type_name -> volume_server_pb.DiskStatus
	86,  // 15: volume_server_pb.VolumeServerStatusResponse.memory_status:type_name -> volume_server_pb.MemStatus
	2,   // 16: volume_server_pb.VolumeServerStatusResponse.state:type_name -> volume_server_pb.VolumeServerState
	113, // 17: volume_server_pb.FetchAndWriteNeedleRequest.replicas:type_name -> volume_server_pb.FetchAndWriteNeedleRequest.Replica
	122, // 18: volume_server_pb.FetchAndWriteNeedleRequest.remote_conf:type_name -> remote_pb.RemoteConf
	123, // 19: volume_server_pb.FetchAndWriteNeedleRequest.remote_location:type_name -> remote_pb.RemoteStorageLocation
	1,   // 20: volume_server_pb.ScrubVolumeRequest.mode:type_name -> volume_server_pb.VolumeScrubMode
	1,   // 21: volume_server_pb.ScrubEcVolumeRequest.mode:type_name -> volume_server_pb.VolumeScrubMode
	82,  // 22: volume_server_pb.ScrubEcVolumeResponse.broken_shard_infos:type_name -> volume_server_pb.EcShardInfo
	114, // 23: volume_server_pb.QueryRequest.filter:type_name -> volume_server_pb.QueryRequest.Filter
	115, // 24: volume_server_pb.QueryRequest.input_serialization:type_name -> volume_server_pb.QueryRequest.InputSerialization
	116, // 25: volume_server_pb.QueryRequest.output_serialization:type_name -> volume_server_pb.QueryRequest.OutputSerialization
	117, // 26: volume_server_pb.QueryRequest.InputSerialization.csv_input:type_name -> volume_server_pb.QueryRequest.InputSerialization.CSVInput
	118, // 27: volume_server_pb.QueryRequest.InputSerialization.json_input:type_name -> volume_server_pb.QueryRequest.InputSerialization.JSONInput
	119, // 28: volume_server_pb.QueryRequest.InputSerialization.parquet_input:type_name -> volume_server_pb.QueryRequest.InputSerialization.ParquetInput
	120, // 29: volume_server_pb.QueryRequest.OutputSerialization.csv_output:type_name -> volume_server_pb.QueryRequest.OutputSerialization.CSVOutput
	121, // 30: volume_server_pb.QueryRequest.OutputSerialization.json_output:type_name -> volume_server_pb.QueryRequest.OutputSerialization.JSONOutput
	3,   // 31: volume_server_pb.VolumeServer.BatchDelete:input_type -> volume_server_pb.BatchDeleteRequest
	7,   // 32: volume_server_pb.VolumeServer.VacuumVolumeCheck:input_type -> volume_server_pb.VacuumVolumeCheckRequest
	9,   // 33: volume_server_pb.VolumeServer.VacuumVolumeCompact:input_type -> volume_server_pb.VacuumVolumeCompactRequest
	11,  // 34: volume_server_pb.VolumeServer.VacuumVolumeCommit:input_type -> volume_server_pb.VacuumVolumeCommitRequest
	13,  // 35: volume_server_pb.VolumeServer.VacuumVolumeCleanup:input_type -> volume_server_pb.VacuumVolumeCleanupRequest
	15,  // 36: volume_server_pb.VolumeServer.DeleteCollection:input_type -> volume_server_pb.DeleteCollectionRequest
	17,  // 37: volume_server_pb.VolumeServer.AllocateVolume:input_type -> volume_server_pb.AllocateVolumeRequest
	19,  // 38: volume_server_pb.VolumeServer.VolumeSyncStatus:input_type -> volume_server_pb.VolumeSyncStatusRequest
	21,  // 39: volume_server_pb.VolumeServer.VolumeIncrementalCopy:input_type -> volume_server_pb.VolumeIncrementalCopyRequest
	23,  // 40: volume_server_pb.VolumeServer.VolumeMount:input_type -> volume_server_pb.VolumeMountRequest
	25,  // 41: volume_server_pb.VolumeServer.VolumeUnmount:input_type -> volume_server_pb.VolumeUnmountRequest
	27,  // 42: volume_server_pb.VolumeServer.VolumeConsolidateIndex:input_type -> volume_server_pb.VolumeConsolidateIndexRequest
	29,  // 43: volume_server_pb.VolumeServer.VolumeDelete:input_type -> volume_server_pb.VolumeDeleteRequest
	31,  // 44: volume_server_pb.VolumeServer.VolumeMarkReadonly:input_type -> volume_server_pb.VolumeMarkReadonlyRequest
	33,  // 45: volume_server_pb.VolumeServer.VolumeMarkWritable:input_type -> volume_server_pb.VolumeMarkWritableRequest
	35,  // 46: volume_server_pb.VolumeServer.VolumeConfigure:input_type -> volume_server_pb.VolumeConfigureRequest
	37,  // 47: volume_server_pb.VolumeServer.VolumeStatus:input_type -> volume_server_pb.VolumeStatusRequest
	39,  // 48: volume_server_pb.VolumeServer.GetState:input_type -> volume_server_pb.GetStateRequest
	41,  // 49: volume_server_pb.VolumeServer.SetState:input_type -> volume_server_pb.SetStateRequest
	43,  // 50: volume_server_pb.VolumeServer.VolumeCopy:input_type -> volume_server_pb.VolumeCopyRequest
	83,  // 51: volume_server_pb.VolumeServer.ReadVolumeFileStatus:input_type -> volume_server_pb.ReadVolumeFileStatusRequest
	45,  // 52: volume_server_pb.VolumeServer.CopyFile:input_type -> volume_server_pb.CopyFileRequest
	47,  // 53: volume_server_pb.VolumeServer.ReceiveFile:input_type -> volume_server_pb.ReceiveFileRequest
	50,  // 54: volume_server_pb.VolumeServer.ReadNeedleBlob:input_type -> volume_server_pb.ReadNeedleBlobRequest
	52,  // 55: volume_server_pb.VolumeServer.ReadNeedleMeta:input_type -> volume_server_pb.ReadNeedleMetaRequest
	54,  // 56: volume_server_pb.VolumeServer.WriteNeedleBlob:input_type -> volume_server_pb.WriteNeedleBlobRequest
	56,  // 57: volume_server_pb.VolumeServer.ReadAllNeedles:input_type -> volume_server_pb.ReadAllNeedlesRequest
	58,  // 58: volume_server_pb.VolumeServer.VolumeTailSender:input_type -> volume_server_pb.VolumeTailSenderRequest
	60,  // 59: volume_server_pb.VolumeServer.VolumeTailReceiver:input_type -> volume_server_pb.VolumeTailReceiverRequest
	62,  // 60: volume_server_pb.VolumeServer.VolumeEcShardsGenerate:input_type -> volume_server_pb.VolumeEcShardsGenerateRequest
	64,  // 61: volume_server_pb.VolumeServer.VolumeEcShardsRebuild:input_type -> volume_server_pb.VolumeEcShardsRebuildRequest
	66,  // 62: volume_server_pb.VolumeServer.VolumeEcShardsCopy:input_type -> volume_server_pb.VolumeEcShardsCopyRequest
	68,  // 63: volume_server_pb.VolumeServer.VolumeEcShardsDelete:input_type -> volume_server_pb.VolumeEcShardsDeleteRequest
	70,  // 64: volume_server_pb.VolumeServer.VolumeEcShardsMount:input_type -> volume_server_pb.VolumeEcShardsMountRequest
	72,  // 65: volume_server_pb.VolumeServer.VolumeEcShardsUnmount:input_type -> volume_server_pb.VolumeEcShardsUnmountRequest
	74,  // 66: volume_server_pb.VolumeServer.VolumeEcShardRead:input_type -> volume_server_pb.VolumeEcShardReadRequest
	76,  // 67: volume_server_pb.VolumeServer.VolumeEcBlobDelete:input_type -> volume_server_pb.VolumeEcBlobDeleteRequest
	78,  // 68: volume_server_pb.VolumeServer.VolumeEcShardsToVolume:input_type -> volume_server_pb.VolumeEcShardsToVolumeRequest
	80,  // 69: volume_server_pb.VolumeServer.VolumeEcShardsInfo:input_type -> volume_server_pb.VolumeEcShardsInfoRequest
	93,  // 70: volume_server_pb.VolumeServer.VolumeTierMoveDatToRemote:input_type -> volume_server_pb.VolumeTierMoveDatToRemoteRequest
	95,  // 71: volume_server_pb.VolumeServer.VolumeTierMoveDatFromRemote:input_type -> volume_server_pb.VolumeTierMoveDatFromRemoteRequest
	97,  // 72: volume_server_pb.VolumeServer.VolumeServerStatus:input_type -> volume_server_pb.VolumeServerStatusRequest
	99,  // 73: volume_server_pb.VolumeServer.VolumeServerLeave:input_type -> volume_server_pb.VolumeServerLeaveRequest
	101, // 74: volume_server_pb.VolumeServer.FetchAndWriteNeedle:input_type -> volume_server_pb.FetchAndWriteNeedleRequest
	103, // 75: volume_server_pb.VolumeServer.ScrubVolume:input_type -> volume_server_pb.ScrubVolumeRequest
	105, // 76: volume_server_pb.VolumeServer.ScrubEcVolume:input_type -> volume_server_pb.ScrubEcVolumeRequest
	107, // 77: volume_server_pb.VolumeServer.Query:input_type -> volume_server_pb.QueryRequest
	109, // 78: volume_server_pb.VolumeServer.VolumeNeedleStatus:input_type -> volume_server_pb.VolumeNeedleStatusRequest
	111, // 79: volume_server_pb.VolumeServer.Ping:input_type -> volume_server_pb.PingRequest
	4,   // 80: volume_server_pb.VolumeServer.BatchDelete:output_type -> volume_server_pb.BatchDeleteResponse
	8,   // 81: volume_server_pb.VolumeServer.VacuumVolumeCheck:output_type -> volume_server_pb.VacuumVolumeCheckResponse
	10,  // 82: volume_server_pb.VolumeServer.VacuumVolumeCompact:output_type -> volume_server_pb.VacuumVolumeCompactResponse
	12,  // 83: volume_server_pb.VolumeServer.VacuumVolumeCommit:output_type -> volume_server_pb.VacuumVolumeCommitResponse
	14,  // 84: volume_server_pb.VolumeServer.VacuumVolumeCleanup:output_type -> volume_server_pb.VacuumVolumeCleanupResponse
	16,  // 85: volume_server_pb.VolumeServer.DeleteCollection:output_type -> volume_server_pb.DeleteCollectionResponse
	18,  // 86: volume_server_pb.VolumeServer.AllocateVolume:output_type -> volume_server_pb.AllocateVolumeResponse
	20,  // 87: volume_server_pb.VolumeServer.VolumeSyncStatus:output_type -> volume_server_pb.VolumeSyncStatusResponse
	22,  // 88: volume_server_pb.VolumeServer.VolumeIncrementalCopy:output_type -> volume_server_pb.VolumeIncrementalCopyResponse
	24,  // 89: volume_server_pb.VolumeServer.VolumeMount:output_type -> volume_server_pb.VolumeMountResponse
	26,  // 90: volume_server_pb.VolumeServer.VolumeUnmount:output_type -> volume_server_pb.VolumeUnmountResponse
	28,  // 91: volume_server_pb.VolumeServer.VolumeConsolidateIndex:output_type -> volume_server_pb.VolumeConsolidateIndexResponse
	30,  // 92: volume_server_pb.VolumeServer.VolumeDelete:output_type -> volume_server_pb.VolumeDeleteResponse
	32,  // 93: volume_server_pb.VolumeServer.VolumeMarkReadonly:output_type -> volume_server_pb.VolumeMarkReadonlyResponse
	34,  // 94: volume_server_pb.VolumeServer.VolumeMarkWritable:output_type -> volume_server_pb.VolumeMarkWritableResponse
	36,  // 95: volume_server_pb.VolumeServer.VolumeConfigure:output_type -> volume_server_pb.VolumeConfigureResponse
	38,  // 96: volume_server_pb.VolumeServer.VolumeStatus:output_type -> volume_server_pb.VolumeStatusResponse
	40,  // 97: volume_server_pb.VolumeServer.GetState:output_type -> volume_server_pb.GetStateResponse
	42,  // 98: volume_server_pb.VolumeServer.SetState:output_type -> volume_server_pb.SetStateResponse
	44,  // 99: volume_server_pb.VolumeServer.VolumeCopy:output_type -> volume_server_pb.VolumeCopyResponse
	84,  // 100: volume_server_pb.VolumeServer.ReadVolumeFileStatus:output_type -> volume_server_pb.ReadVolumeFileStatusResponse
	46,  // 101: volume_server_pb.VolumeServer.CopyFile:output_type -> volume_server_pb.CopyFileResponse
	49,  // 102: volume_server_pb.VolumeServer.ReceiveFile:output_type -> volume_server_pb.ReceiveFileResponse
	51,  // 103: volume_server_pb.VolumeServer.ReadNeedleBlob:output_type -> volume_server_pb.ReadNeedleBlobResponse
	53,  // 104: volume_server_pb.VolumeServer.ReadNeedleMeta:output_type -> volume_server_pb.ReadNeedleMetaResponse
	55,  // 105: volume_server_pb.VolumeServer.WriteNeedleBlob:output_type -> volume_server_pb.WriteNeedleBlobResponse
	57,  // 106: volume_server_pb.VolumeServer.ReadAllNeedles:output_type -> volume_server_pb.ReadAllNeedlesResponse
	59,  // 107: volume_server_pb.VolumeServer.VolumeTailSender:output_type -> volume_server_pb.VolumeTailSenderResponse
	61,  // 108: volume_server_pb.VolumeServer.VolumeTailReceiver:output_type -> volume_server_pb.VolumeTailReceiverResponse
	63,  // 109: volume_server_pb.VolumeServer.VolumeEcShardsGenerate:output_type -> volume_server_pb.VolumeEcShardsGenerateResponse
	65,  // 110: volume_server_pb.VolumeServer.VolumeEcShardsRebuild:output_type -> volume_server_pb.VolumeEcShardsRebuildResponse
	67,  // 111: volume_server_pb.VolumeServer.VolumeEcShardsCopy:output_type -> volume_server_pb.VolumeEcShardsCopyResponse
	69,  // 112: volume_server_pb.VolumeServer.VolumeEcShardsDelete:output_type -> volume_server_pb.VolumeEcShardsDeleteResponse
	71,  // 113: volume_server_pb.VolumeServer.VolumeEcShardsMount:output_type -> volume_server_pb.VolumeEcShardsMountResponse
	73,  // 114: volume_server_pb.VolumeServer.VolumeEcShardsUnmount:output_type -> volume_server_pb.VolumeEcShardsUnmountResponse
	75,  // 115: volume_server_pb.VolumeServer.VolumeEcShardRead:output_type -> volume_server_pb.VolumeEcShardReadResponse
	77,  // 116: volume_server_pb.VolumeServer.VolumeEcBlobDelete:output_type -> volume_server_pb.VolumeEcBlobDeleteResponse
	79,  // 117: volume_server_pb.VolumeServer.VolumeEcShardsToVolume:output_type -> volume_server_pb.VolumeEcShardsToVolumeResponse
	81,  // 118: volume_server_pb.VolumeServer.VolumeEcShardsInfo:output_type -> volume_server_pb.VolumeEcShardsInfoResponse
	94,  // 119: volume_server_pb.VolumeServer.VolumeTierMoveDatToRemote:output_type -> volume_server_pb.VolumeTierMoveDatToRemoteResponse
	96,  // 120: volume_server_pb.VolumeServer.VolumeTierMoveDatFromRemote:output_type -> volume_server_pb.VolumeTierMoveDatFromRemoteResponse
	98,  // 121: volume_server_pb.VolumeServer.VolumeServerStatus:output_type -> volume_server_pb.VolumeServerStatusResponse
	100, // 122: volume_server_pb.VolumeServer.VolumeServerLeave:output_type -> volume_server_pb.VolumeServerLeaveResponse
	102, // 123: volume_server_pb.VolumeServer.FetchAndWriteNeedle:output_type -> volume_server_pb.FetchAndWriteNeedleResponse
	104, // 124: volume_server_pb.VolumeServer.ScrubVolume:output_type -> volume_server_pb.ScrubVolumeResponse
	106, // 125: volume_server_pb.VolumeServer.ScrubEcVolume:output_type -> volume_server_pb.ScrubEcVolumeResponse
	108, // 126: volume_server_pb.VolumeServer.Query:output_type -> volume_server_pb.QueriedStripe
	110, // 127: volume_server_pb.VolumeServer.VolumeNeedleStatus:output_type -> volume_server_pb.VolumeNeedleStatusResponse
	112, // 128: volume_server_pb.VolumeServer.Ping:output_type -> volume_server_pb.PingResponse
	80,  // [80:129] is the sub-list for method output_type
	31,  // [31:80] is the sub-list for method input_type
	31,  // [31:31] is the sub-list for extension type_name
	31,  // [31:31] is the sub-list for extension extendee
	0,   // [0:31] is the sub-list for field type_name
}

func init() { file_volume_server_proto_init() }
func file_volume_server_proto_init() {
	if File_volume_server_proto != nil {
		return
	}
	file_volume_server_proto_msgTypes[45].OneofWrappers = []any{
		(*ReceiveFileRequest_Info)(nil),
		(*ReceiveFileRequest_FileContent)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_volume_server_proto_rawDesc), len(file_volume_server_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   120,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_volume_server_proto_goTypes,
		DependencyIndexes: file_volume_server_proto_depIdxs,
		EnumInfos:         file_volume_server_proto_enumTypes,
		MessageInfos:      file_volume_server_proto_msgTypes,
	}.Build()
	File_volume_server_proto = out.File
	file_volume_server_proto_goTypes = nil
	file_volume_server_proto_depIdxs = nil
}
