You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							8274 lines
						
					
					
						
							305 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							8274 lines
						
					
					
						
							305 KiB
						
					
					
				| // Code generated by protoc-gen-go. DO NOT EDIT. | |
| // versions: | |
| // 	protoc-gen-go v1.31.0 | |
| // 	protoc        v4.24.4 | |
| // 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" | |
| ) | |
| 
 | |
| 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 BatchDeleteRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *BatchDeleteRequest) Reset() { | |
| 	*x = BatchDeleteRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[0] | |
| 		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[0] | |
| 	if protoimpl.UnsafeEnabled && 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{0} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Results []*DeleteResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` | |
| } | |
| 
 | |
| func (x *BatchDeleteResponse) Reset() { | |
| 	*x = BatchDeleteResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[1] | |
| 		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[1] | |
| 	if protoimpl.UnsafeEnabled && 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{1} | |
| } | |
| 
 | |
| func (x *BatchDeleteResponse) GetResults() []*DeleteResult { | |
| 	if x != nil { | |
| 		return x.Results | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type DeleteResult struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *DeleteResult) Reset() { | |
| 	*x = DeleteResult{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[2] | |
| 		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[2] | |
| 	if protoimpl.UnsafeEnabled && 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{2} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *Empty) Reset() { | |
| 	*x = Empty{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[3] | |
| 		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[3] | |
| 	if protoimpl.UnsafeEnabled && 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{3} | |
| } | |
| 
 | |
| type VacuumVolumeCheckRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| } | |
| 
 | |
| func (x *VacuumVolumeCheckRequest) Reset() { | |
| 	*x = VacuumVolumeCheckRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[4] | |
| 		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[4] | |
| 	if protoimpl.UnsafeEnabled && 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{4} | |
| } | |
| 
 | |
| func (x *VacuumVolumeCheckRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type VacuumVolumeCheckResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	GarbageRatio float64 `protobuf:"fixed64,1,opt,name=garbage_ratio,json=garbageRatio,proto3" json:"garbage_ratio,omitempty"` | |
| } | |
| 
 | |
| func (x *VacuumVolumeCheckResponse) Reset() { | |
| 	*x = VacuumVolumeCheckResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[5] | |
| 		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[5] | |
| 	if protoimpl.UnsafeEnabled && 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{5} | |
| } | |
| 
 | |
| func (x *VacuumVolumeCheckResponse) GetGarbageRatio() float64 { | |
| 	if x != nil { | |
| 		return x.GarbageRatio | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type VacuumVolumeCompactRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VacuumVolumeCompactRequest) Reset() { | |
| 	*x = VacuumVolumeCompactRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[6] | |
| 		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[6] | |
| 	if protoimpl.UnsafeEnabled && 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{6} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VacuumVolumeCompactResponse) Reset() { | |
| 	*x = VacuumVolumeCompactResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[7] | |
| 		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[7] | |
| 	if protoimpl.UnsafeEnabled && 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{7} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| } | |
| 
 | |
| func (x *VacuumVolumeCommitRequest) Reset() { | |
| 	*x = VacuumVolumeCommitRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[8] | |
| 		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[8] | |
| 	if protoimpl.UnsafeEnabled && 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{8} | |
| } | |
| 
 | |
| func (x *VacuumVolumeCommitRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type VacuumVolumeCommitResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VacuumVolumeCommitResponse) Reset() { | |
| 	*x = VacuumVolumeCommitResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[9] | |
| 		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[9] | |
| 	if protoimpl.UnsafeEnabled && 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{9} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| } | |
| 
 | |
| func (x *VacuumVolumeCleanupRequest) Reset() { | |
| 	*x = VacuumVolumeCleanupRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[10] | |
| 		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[10] | |
| 	if protoimpl.UnsafeEnabled && 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{10} | |
| } | |
| 
 | |
| func (x *VacuumVolumeCleanupRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type VacuumVolumeCleanupResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VacuumVolumeCleanupResponse) Reset() { | |
| 	*x = VacuumVolumeCleanupResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[11] | |
| 		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[11] | |
| 	if protoimpl.UnsafeEnabled && 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{11} | |
| } | |
| 
 | |
| type DeleteCollectionRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` | |
| } | |
| 
 | |
| func (x *DeleteCollectionRequest) Reset() { | |
| 	*x = DeleteCollectionRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[12] | |
| 		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[12] | |
| 	if protoimpl.UnsafeEnabled && 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{12} | |
| } | |
| 
 | |
| func (x *DeleteCollectionRequest) GetCollection() string { | |
| 	if x != nil { | |
| 		return x.Collection | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type DeleteCollectionResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *DeleteCollectionResponse) Reset() { | |
| 	*x = DeleteCollectionResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[13] | |
| 		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[13] | |
| 	if protoimpl.UnsafeEnabled && 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{13} | |
| } | |
| 
 | |
| type AllocateVolumeRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *AllocateVolumeRequest) Reset() { | |
| 	*x = AllocateVolumeRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[14] | |
| 		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[14] | |
| 	if protoimpl.UnsafeEnabled && 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{14} | |
| } | |
| 
 | |
| 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 "" | |
| } | |
| 
 | |
| type AllocateVolumeResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *AllocateVolumeResponse) Reset() { | |
| 	*x = AllocateVolumeResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[15] | |
| 		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[15] | |
| 	if protoimpl.UnsafeEnabled && 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{15} | |
| } | |
| 
 | |
| type VolumeSyncStatusRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeSyncStatusRequest) Reset() { | |
| 	*x = VolumeSyncStatusRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[16] | |
| 		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[16] | |
| 	if protoimpl.UnsafeEnabled && 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{16} | |
| } | |
| 
 | |
| func (x *VolumeSyncStatusRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type VolumeSyncStatusResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeSyncStatusResponse) Reset() { | |
| 	*x = VolumeSyncStatusResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[17] | |
| 		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[17] | |
| 	if protoimpl.UnsafeEnabled && 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{17} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| type VolumeIncrementalCopyRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeIncrementalCopyRequest) Reset() { | |
| 	*x = VolumeIncrementalCopyRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[18] | |
| 		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[18] | |
| 	if protoimpl.UnsafeEnabled && 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{18} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	FileContent []byte `protobuf:"bytes,1,opt,name=file_content,json=fileContent,proto3" json:"file_content,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeIncrementalCopyResponse) Reset() { | |
| 	*x = VolumeIncrementalCopyResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[19] | |
| 		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[19] | |
| 	if protoimpl.UnsafeEnabled && 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{19} | |
| } | |
| 
 | |
| func (x *VolumeIncrementalCopyResponse) GetFileContent() []byte { | |
| 	if x != nil { | |
| 		return x.FileContent | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type VolumeMountRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeMountRequest) Reset() { | |
| 	*x = VolumeMountRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[20] | |
| 		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[20] | |
| 	if protoimpl.UnsafeEnabled && 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{20} | |
| } | |
| 
 | |
| func (x *VolumeMountRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type VolumeMountResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeMountResponse) Reset() { | |
| 	*x = VolumeMountResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[21] | |
| 		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[21] | |
| 	if protoimpl.UnsafeEnabled && 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{21} | |
| } | |
| 
 | |
| type VolumeUnmountRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeUnmountRequest) Reset() { | |
| 	*x = VolumeUnmountRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[22] | |
| 		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[22] | |
| 	if protoimpl.UnsafeEnabled && 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{22} | |
| } | |
| 
 | |
| func (x *VolumeUnmountRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type VolumeUnmountResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeUnmountResponse) Reset() { | |
| 	*x = VolumeUnmountResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[23] | |
| 		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[23] | |
| 	if protoimpl.UnsafeEnabled && 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{23} | |
| } | |
| 
 | |
| type VolumeDeleteRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeDeleteRequest) Reset() { | |
| 	*x = VolumeDeleteRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[24] | |
| 		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[24] | |
| 	if protoimpl.UnsafeEnabled && 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{24} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| type VolumeDeleteResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeDeleteResponse) Reset() { | |
| 	*x = VolumeDeleteResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[25] | |
| 		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[25] | |
| 	if protoimpl.UnsafeEnabled && 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{25} | |
| } | |
| 
 | |
| type VolumeMarkReadonlyRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) Reset() { | |
| 	*x = VolumeMarkReadonlyRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[26] | |
| 		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[26] | |
| 	if protoimpl.UnsafeEnabled && 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{26} | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type VolumeMarkReadonlyResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyResponse) Reset() { | |
| 	*x = VolumeMarkReadonlyResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[27] | |
| 		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[27] | |
| 	if protoimpl.UnsafeEnabled && 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{27} | |
| } | |
| 
 | |
| type VolumeMarkWritableRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeMarkWritableRequest) Reset() { | |
| 	*x = VolumeMarkWritableRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[28] | |
| 		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[28] | |
| 	if protoimpl.UnsafeEnabled && 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{28} | |
| } | |
| 
 | |
| func (x *VolumeMarkWritableRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type VolumeMarkWritableResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeMarkWritableResponse) Reset() { | |
| 	*x = VolumeMarkWritableResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[29] | |
| 		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[29] | |
| 	if protoimpl.UnsafeEnabled && 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{29} | |
| } | |
| 
 | |
| type VolumeConfigureRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeConfigureRequest) Reset() { | |
| 	*x = VolumeConfigureRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[30] | |
| 		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[30] | |
| 	if protoimpl.UnsafeEnabled && 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{30} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeConfigureResponse) Reset() { | |
| 	*x = VolumeConfigureResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[31] | |
| 		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[31] | |
| 	if protoimpl.UnsafeEnabled && 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{31} | |
| } | |
| 
 | |
| func (x *VolumeConfigureResponse) GetError() string { | |
| 	if x != nil { | |
| 		return x.Error | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type VolumeStatusRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeStatusRequest) Reset() { | |
| 	*x = VolumeStatusRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[32] | |
| 		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[32] | |
| 	if protoimpl.UnsafeEnabled && 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{32} | |
| } | |
| 
 | |
| func (x *VolumeStatusRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type VolumeStatusResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeStatusResponse) Reset() { | |
| 	*x = VolumeStatusResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[33] | |
| 		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[33] | |
| 	if protoimpl.UnsafeEnabled && 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{33} | |
| } | |
| 
 | |
| 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 VolumeCopyRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeCopyRequest) Reset() { | |
| 	*x = VolumeCopyRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[34] | |
| 		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[34] | |
| 	if protoimpl.UnsafeEnabled && 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{34} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeCopyResponse) Reset() { | |
| 	*x = VolumeCopyResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[35] | |
| 		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[35] | |
| 	if protoimpl.UnsafeEnabled && 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{35} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *CopyFileRequest) Reset() { | |
| 	*x = CopyFileRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[36] | |
| 		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[36] | |
| 	if protoimpl.UnsafeEnabled && 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{36} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *CopyFileResponse) Reset() { | |
| 	*x = CopyFileResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[37] | |
| 		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[37] | |
| 	if protoimpl.UnsafeEnabled && 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{37} | |
| } | |
| 
 | |
| 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 ReadNeedleBlobRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *ReadNeedleBlobRequest) Reset() { | |
| 	*x = ReadNeedleBlobRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[38] | |
| 		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[38] | |
| 	if protoimpl.UnsafeEnabled && 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{38} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	NeedleBlob []byte `protobuf:"bytes,1,opt,name=needle_blob,json=needleBlob,proto3" json:"needle_blob,omitempty"` | |
| } | |
| 
 | |
| func (x *ReadNeedleBlobResponse) Reset() { | |
| 	*x = ReadNeedleBlobResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[39] | |
| 		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[39] | |
| 	if protoimpl.UnsafeEnabled && 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{39} | |
| } | |
| 
 | |
| func (x *ReadNeedleBlobResponse) GetNeedleBlob() []byte { | |
| 	if x != nil { | |
| 		return x.NeedleBlob | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type ReadNeedleMetaRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *ReadNeedleMetaRequest) Reset() { | |
| 	*x = ReadNeedleMetaRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[40] | |
| 		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[40] | |
| 	if protoimpl.UnsafeEnabled && 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{40} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *ReadNeedleMetaResponse) Reset() { | |
| 	*x = ReadNeedleMetaResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[41] | |
| 		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[41] | |
| 	if protoimpl.UnsafeEnabled && 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{41} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *WriteNeedleBlobRequest) Reset() { | |
| 	*x = WriteNeedleBlobRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[42] | |
| 		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[42] | |
| 	if protoimpl.UnsafeEnabled && 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{42} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *WriteNeedleBlobResponse) Reset() { | |
| 	*x = WriteNeedleBlobResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[43] | |
| 		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[43] | |
| 	if protoimpl.UnsafeEnabled && 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{43} | |
| } | |
| 
 | |
| type ReadAllNeedlesRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeIds []uint32 `protobuf:"varint,1,rep,packed,name=volume_ids,json=volumeIds,proto3" json:"volume_ids,omitempty"` | |
| } | |
| 
 | |
| func (x *ReadAllNeedlesRequest) Reset() { | |
| 	*x = ReadAllNeedlesRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[44] | |
| 		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[44] | |
| 	if protoimpl.UnsafeEnabled && 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{44} | |
| } | |
| 
 | |
| func (x *ReadAllNeedlesRequest) GetVolumeIds() []uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeIds | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type ReadAllNeedlesResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *ReadAllNeedlesResponse) Reset() { | |
| 	*x = ReadAllNeedlesResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[45] | |
| 		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[45] | |
| 	if protoimpl.UnsafeEnabled && 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{45} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeTailSenderRequest) Reset() { | |
| 	*x = VolumeTailSenderRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[46] | |
| 		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[46] | |
| 	if protoimpl.UnsafeEnabled && 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{46} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeTailSenderResponse) Reset() { | |
| 	*x = VolumeTailSenderResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[47] | |
| 		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[47] | |
| 	if protoimpl.UnsafeEnabled && 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{47} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| type VolumeTailReceiverRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeTailReceiverRequest) Reset() { | |
| 	*x = VolumeTailReceiverRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[48] | |
| 		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[48] | |
| 	if protoimpl.UnsafeEnabled && 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{48} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeTailReceiverResponse) Reset() { | |
| 	*x = VolumeTailReceiverResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[49] | |
| 		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[49] | |
| 	if protoimpl.UnsafeEnabled && 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{49} | |
| } | |
| 
 | |
| type VolumeEcShardsGenerateRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardsGenerateRequest) Reset() { | |
| 	*x = VolumeEcShardsGenerateRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[50] | |
| 		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[50] | |
| 	if protoimpl.UnsafeEnabled && 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{50} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeEcShardsGenerateResponse) Reset() { | |
| 	*x = VolumeEcShardsGenerateResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[51] | |
| 		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[51] | |
| 	if protoimpl.UnsafeEnabled && 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{51} | |
| } | |
| 
 | |
| type VolumeEcShardsRebuildRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardsRebuildRequest) Reset() { | |
| 	*x = VolumeEcShardsRebuildRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[52] | |
| 		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[52] | |
| 	if protoimpl.UnsafeEnabled && 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{52} | |
| } | |
| 
 | |
| 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 "" | |
| } | |
| 
 | |
| type VolumeEcShardsRebuildResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	RebuiltShardIds []uint32 `protobuf:"varint,1,rep,packed,name=rebuilt_shard_ids,json=rebuiltShardIds,proto3" json:"rebuilt_shard_ids,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardsRebuildResponse) Reset() { | |
| 	*x = VolumeEcShardsRebuildResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[53] | |
| 		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[53] | |
| 	if protoimpl.UnsafeEnabled && 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{53} | |
| } | |
| 
 | |
| func (x *VolumeEcShardsRebuildResponse) GetRebuiltShardIds() []uint32 { | |
| 	if x != nil { | |
| 		return x.RebuiltShardIds | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type VolumeEcShardsCopyRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardsCopyRequest) Reset() { | |
| 	*x = VolumeEcShardsCopyRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[54] | |
| 		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[54] | |
| 	if protoimpl.UnsafeEnabled && 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{54} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| type VolumeEcShardsCopyResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeEcShardsCopyResponse) Reset() { | |
| 	*x = VolumeEcShardsCopyResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[55] | |
| 		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[55] | |
| 	if protoimpl.UnsafeEnabled && 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{55} | |
| } | |
| 
 | |
| type VolumeEcShardsDeleteRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardsDeleteRequest) Reset() { | |
| 	*x = VolumeEcShardsDeleteRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[56] | |
| 		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[56] | |
| 	if protoimpl.UnsafeEnabled && 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{56} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| type VolumeEcShardsDeleteResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeEcShardsDeleteResponse) Reset() { | |
| 	*x = VolumeEcShardsDeleteResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[57] | |
| 		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[57] | |
| 	if protoimpl.UnsafeEnabled && 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{57} | |
| } | |
| 
 | |
| type VolumeEcShardsMountRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardsMountRequest) Reset() { | |
| 	*x = VolumeEcShardsMountRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[58] | |
| 		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[58] | |
| 	if protoimpl.UnsafeEnabled && 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{58} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| type VolumeEcShardsMountResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeEcShardsMountResponse) Reset() { | |
| 	*x = VolumeEcShardsMountResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[59] | |
| 		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[59] | |
| 	if protoimpl.UnsafeEnabled && 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{59} | |
| } | |
| 
 | |
| type VolumeEcShardsUnmountRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardsUnmountRequest) Reset() { | |
| 	*x = VolumeEcShardsUnmountRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[60] | |
| 		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[60] | |
| 	if protoimpl.UnsafeEnabled && 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{60} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| type VolumeEcShardsUnmountResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeEcShardsUnmountResponse) Reset() { | |
| 	*x = VolumeEcShardsUnmountResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[61] | |
| 		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[61] | |
| 	if protoimpl.UnsafeEnabled && 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{61} | |
| } | |
| 
 | |
| type VolumeEcShardReadRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardReadRequest) Reset() { | |
| 	*x = VolumeEcShardReadRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[62] | |
| 		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[62] | |
| 	if protoimpl.UnsafeEnabled && 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{62} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| type VolumeEcShardReadResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardReadResponse) Reset() { | |
| 	*x = VolumeEcShardReadResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[63] | |
| 		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[63] | |
| 	if protoimpl.UnsafeEnabled && 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{63} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| type VolumeEcBlobDeleteRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeEcBlobDeleteRequest) Reset() { | |
| 	*x = VolumeEcBlobDeleteRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[64] | |
| 		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[64] | |
| 	if protoimpl.UnsafeEnabled && 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{64} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeEcBlobDeleteResponse) Reset() { | |
| 	*x = VolumeEcBlobDeleteResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[65] | |
| 		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[65] | |
| 	if protoimpl.UnsafeEnabled && 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{65} | |
| } | |
| 
 | |
| type VolumeEcShardsToVolumeRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardsToVolumeRequest) Reset() { | |
| 	*x = VolumeEcShardsToVolumeRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[66] | |
| 		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[66] | |
| 	if protoimpl.UnsafeEnabled && 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{66} | |
| } | |
| 
 | |
| 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 "" | |
| } | |
| 
 | |
| type VolumeEcShardsToVolumeResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeEcShardsToVolumeResponse) Reset() { | |
| 	*x = VolumeEcShardsToVolumeResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[67] | |
| 		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[67] | |
| 	if protoimpl.UnsafeEnabled && 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{67} | |
| } | |
| 
 | |
| type ReadVolumeFileStatusRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| } | |
| 
 | |
| func (x *ReadVolumeFileStatusRequest) Reset() { | |
| 	*x = ReadVolumeFileStatusRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[68] | |
| 		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[68] | |
| 	if protoimpl.UnsafeEnabled && 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{68} | |
| } | |
| 
 | |
| func (x *ReadVolumeFileStatusRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type ReadVolumeFileStatusResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *ReadVolumeFileStatusResponse) Reset() { | |
| 	*x = ReadVolumeFileStatusResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[69] | |
| 		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[69] | |
| 	if protoimpl.UnsafeEnabled && 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{69} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| type DiskStatus struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *DiskStatus) Reset() { | |
| 	*x = DiskStatus{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[70] | |
| 		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[70] | |
| 	if protoimpl.UnsafeEnabled && 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{70} | |
| } | |
| 
 | |
| 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 "" | |
| } | |
| 
 | |
| type MemStatus struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *MemStatus) Reset() { | |
| 	*x = MemStatus{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[71] | |
| 		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[71] | |
| 	if protoimpl.UnsafeEnabled && 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{71} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *RemoteFile) Reset() { | |
| 	*x = RemoteFile{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[72] | |
| 		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[72] | |
| 	if protoimpl.UnsafeEnabled && 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{72} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeInfo) Reset() { | |
| 	*x = VolumeInfo{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[73] | |
| 		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[73] | |
| 	if protoimpl.UnsafeEnabled && 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{73} | |
| } | |
| 
 | |
| 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 | |
| } | |
| 
 | |
| // tiered storage | |
| type VolumeTierMoveDatToRemoteRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeTierMoveDatToRemoteRequest) Reset() { | |
| 	*x = VolumeTierMoveDatToRemoteRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[74] | |
| 		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[74] | |
| 	if protoimpl.UnsafeEnabled && 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{74} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Processed           int64   `protobuf:"varint,1,opt,name=processed,proto3" json:"processed,omitempty"` | |
| 	ProcessedPercentage float32 `protobuf:"fixed32,2,opt,name=processedPercentage,proto3" json:"processedPercentage,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeTierMoveDatToRemoteResponse) Reset() { | |
| 	*x = VolumeTierMoveDatToRemoteResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[75] | |
| 		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[75] | |
| 	if protoimpl.UnsafeEnabled && 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{75} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeTierMoveDatFromRemoteRequest) Reset() { | |
| 	*x = VolumeTierMoveDatFromRemoteRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[76] | |
| 		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[76] | |
| 	if protoimpl.UnsafeEnabled && 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{76} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Processed           int64   `protobuf:"varint,1,opt,name=processed,proto3" json:"processed,omitempty"` | |
| 	ProcessedPercentage float32 `protobuf:"fixed32,2,opt,name=processedPercentage,proto3" json:"processedPercentage,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeTierMoveDatFromRemoteResponse) Reset() { | |
| 	*x = VolumeTierMoveDatFromRemoteResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[77] | |
| 		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[77] | |
| 	if protoimpl.UnsafeEnabled && 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{77} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeServerStatusRequest) Reset() { | |
| 	*x = VolumeServerStatusRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[78] | |
| 		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[78] | |
| 	if protoimpl.UnsafeEnabled && 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{78} | |
| } | |
| 
 | |
| type VolumeServerStatusResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeServerStatusResponse) Reset() { | |
| 	*x = VolumeServerStatusResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[79] | |
| 		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[79] | |
| 	if protoimpl.UnsafeEnabled && 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{79} | |
| } | |
| 
 | |
| 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 "" | |
| } | |
| 
 | |
| type VolumeServerLeaveRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeServerLeaveRequest) Reset() { | |
| 	*x = VolumeServerLeaveRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[80] | |
| 		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[80] | |
| 	if protoimpl.UnsafeEnabled && 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{80} | |
| } | |
| 
 | |
| type VolumeServerLeaveResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeServerLeaveResponse) Reset() { | |
| 	*x = VolumeServerLeaveResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[81] | |
| 		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[81] | |
| 	if protoimpl.UnsafeEnabled && 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{81} | |
| } | |
| 
 | |
| // remote storage | |
| type FetchAndWriteNeedleRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| 	// 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"` | |
| } | |
| 
 | |
| func (x *FetchAndWriteNeedleRequest) Reset() { | |
| 	*x = FetchAndWriteNeedleRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[82] | |
| 		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[82] | |
| 	if protoimpl.UnsafeEnabled && 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{82} | |
| } | |
| 
 | |
| 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) 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	ETag string `protobuf:"bytes,1,opt,name=e_tag,json=eTag,proto3" json:"e_tag,omitempty"` | |
| } | |
| 
 | |
| func (x *FetchAndWriteNeedleResponse) Reset() { | |
| 	*x = FetchAndWriteNeedleResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[83] | |
| 		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[83] | |
| 	if protoimpl.UnsafeEnabled && 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{83} | |
| } | |
| 
 | |
| func (x *FetchAndWriteNeedleResponse) GetETag() string { | |
| 	if x != nil { | |
| 		return x.ETag | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| // select on volume servers | |
| type QueryRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *QueryRequest) Reset() { | |
| 	*x = QueryRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[84] | |
| 		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[84] | |
| 	if protoimpl.UnsafeEnabled && 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{84} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Records []byte `protobuf:"bytes,1,opt,name=records,proto3" json:"records,omitempty"` | |
| } | |
| 
 | |
| func (x *QueriedStripe) Reset() { | |
| 	*x = QueriedStripe{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[85] | |
| 		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[85] | |
| 	if protoimpl.UnsafeEnabled && 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{85} | |
| } | |
| 
 | |
| func (x *QueriedStripe) GetRecords() []byte { | |
| 	if x != nil { | |
| 		return x.Records | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type VolumeNeedleStatusRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeNeedleStatusRequest) Reset() { | |
| 	*x = VolumeNeedleStatusRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[86] | |
| 		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[86] | |
| 	if protoimpl.UnsafeEnabled && 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{86} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *VolumeNeedleStatusResponse) Reset() { | |
| 	*x = VolumeNeedleStatusResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[87] | |
| 		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[87] | |
| 	if protoimpl.UnsafeEnabled && 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{87} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *PingRequest) Reset() { | |
| 	*x = PingRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[88] | |
| 		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[88] | |
| 	if protoimpl.UnsafeEnabled && 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{88} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *PingResponse) Reset() { | |
| 	*x = PingResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[89] | |
| 		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[89] | |
| 	if protoimpl.UnsafeEnabled && 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{89} | |
| } | |
| 
 | |
| 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *FetchAndWriteNeedleRequest_Replica) Reset() { | |
| 	*x = FetchAndWriteNeedleRequest_Replica{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[90] | |
| 		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[90] | |
| 	if protoimpl.UnsafeEnabled && 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{82, 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *QueryRequest_Filter) Reset() { | |
| 	*x = QueryRequest_Filter{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[91] | |
| 		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[91] | |
| 	if protoimpl.UnsafeEnabled && 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{84, 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	// 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"` | |
| } | |
| 
 | |
| func (x *QueryRequest_InputSerialization) Reset() { | |
| 	*x = QueryRequest_InputSerialization{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[92] | |
| 		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[92] | |
| 	if protoimpl.UnsafeEnabled && 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{84, 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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"` | |
| } | |
| 
 | |
| func (x *QueryRequest_OutputSerialization) Reset() { | |
| 	*x = QueryRequest_OutputSerialization{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[93] | |
| 		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[93] | |
| 	if protoimpl.UnsafeEnabled && 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{84, 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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. | |
| } | |
| 
 | |
| func (x *QueryRequest_InputSerialization_CSVInput) Reset() { | |
| 	*x = QueryRequest_InputSerialization_CSVInput{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[94] | |
| 		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[94] | |
| 	if protoimpl.UnsafeEnabled && 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{84, 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // Valid values: DOCUMENT | LINES | |
| } | |
| 
 | |
| func (x *QueryRequest_InputSerialization_JSONInput) Reset() { | |
| 	*x = QueryRequest_InputSerialization_JSONInput{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[95] | |
| 		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[95] | |
| 	if protoimpl.UnsafeEnabled && 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{84, 1, 1} | |
| } | |
| 
 | |
| func (x *QueryRequest_InputSerialization_JSONInput) GetType() string { | |
| 	if x != nil { | |
| 		return x.Type | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type QueryRequest_InputSerialization_ParquetInput struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *QueryRequest_InputSerialization_ParquetInput) Reset() { | |
| 	*x = QueryRequest_InputSerialization_ParquetInput{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[96] | |
| 		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[96] | |
| 	if protoimpl.UnsafeEnabled && 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{84, 1, 2} | |
| } | |
| 
 | |
| type QueryRequest_OutputSerialization_CSVOutput struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	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: " | |
| } | |
| 
 | |
| func (x *QueryRequest_OutputSerialization_CSVOutput) Reset() { | |
| 	*x = QueryRequest_OutputSerialization_CSVOutput{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[97] | |
| 		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[97] | |
| 	if protoimpl.UnsafeEnabled && 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{84, 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 | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	RecordDelimiter string `protobuf:"bytes,1,opt,name=record_delimiter,json=recordDelimiter,proto3" json:"record_delimiter,omitempty"` | |
| } | |
| 
 | |
| func (x *QueryRequest_OutputSerialization_JSONOutput) Reset() { | |
| 	*x = QueryRequest_OutputSerialization_JSONOutput{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_volume_server_proto_msgTypes[98] | |
| 		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[98] | |
| 	if protoimpl.UnsafeEnabled && 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{84, 2, 1} | |
| } | |
| 
 | |
| func (x *QueryRequest_OutputSerialization_JSONOutput) GetRecordDelimiter() string { | |
| 	if x != nil { | |
| 		return x.RecordDelimiter | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| var File_volume_server_proto protoreflect.FileDescriptor | |
| 
 | |
| var file_volume_server_proto_rawDesc = []byte{ | |
| 	0x0a, 0x13, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, | |
| 	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x1a, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, | |
| 	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, | |
| 	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, | |
| 	0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x66, | |
| 	0x69, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x63, | |
| 	0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, | |
| 	0x08, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x43, 0x68, 0x65, | |
| 	0x63, 0x6b, 0x22, 0x4f, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, | |
| 	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x72, 0x65, 0x73, | |
| 	0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x65, | |
| 	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, | |
| 	0x6c, 0x74, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, | |
| 	0x73, 0x75, 0x6c, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, | |
| 	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, | |
| 	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, | |
| 	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, | |
| 	0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, | |
| 	0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, | |
| 	0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, | |
| 	0x74, 0x79, 0x22, 0x37, 0x0a, 0x18, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, | |
| 	0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, | |
| 	0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x19, 0x56, | |
| 	0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, | |
| 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x72, 0x62, | |
| 	0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, | |
| 	0x0c, 0x67, 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x5b, 0x0a, | |
| 	0x1a, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6d, | |
| 	0x70, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x61, | |
| 	0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, | |
| 	0x72, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x22, 0x66, 0x0a, 0x1b, 0x56, 0x61, | |
| 	0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, | |
| 	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, | |
| 	0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, | |
| 	0x28, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x42, 0x79, 0x74, | |
| 	0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x31, | |
| 	0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x76, 0x67, | |
| 	0x31, 0x6d, 0x22, 0x38, 0x0a, 0x19, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, | |
| 	0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, | |
| 	0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x1a, | |
| 	0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x6d, | |
| 	0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, | |
| 	0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, | |
| 	0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x0b, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, | |
| 	0x04, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x39, 0x0a, | |
| 	0x1a, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6c, 0x65, | |
| 	0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x56, 0x61, 0x63, 0x75, | |
| 	0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, | |
| 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, | |
| 	0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, | |
| 	0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, | |
| 	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, | |
| 	0x6f, 0x6e, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, | |
| 	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfb, | |
| 	0x01, 0x0a, 0x15, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, | |
| 	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, | |
| 	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x6f, | |
| 	0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x61, | |
| 	0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, | |
| 	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, | |
| 	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, | |
| 	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x32, 0x0a, 0x16, 0x6d, | |
| 	0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, | |
| 	0x7a, 0x65, 0x5f, 0x6d, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x65, 0x6d, | |
| 	0x6f, 0x72, 0x79, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x4d, 0x62, 0x12, | |
| 	0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, | |
| 	0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0x18, 0x0a, 0x16, | |
| 	0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, | |
| 	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x0a, 0x17, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | |
| 	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, | |
| 	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xfb, | |
| 	0x01, 0x0a, 0x18, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, | |
| 	0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, | |
| 	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, | |
| 	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, | |
| 	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, | |
| 	0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, | |
| 	0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, | |
| 	0x74, 0x61, 0x69, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, | |
| 	0x04, 0x52, 0x0a, 0x74, 0x61, 0x69, 0x6c, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x29, 0x0a, | |
| 	0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, | |
| 	0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, | |
| 	0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x64, 0x78, 0x5f, | |
| 	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, | |
| 	0x0b, 0x69, 0x64, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x56, 0x0a, 0x1c, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, | |
| 	0x6c, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, | |
| 	0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x6e, | |
| 	0x63, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x69, 0x6e, | |
| 	0x63, 0x65, 0x4e, 0x73, 0x22, 0x42, 0x0a, 0x1d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, | |
| 	0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x73, | |
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, | |
| 	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x69, 0x6c, | |
| 	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x31, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, | |
| 	0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, | |
| 	0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x22, 0x33, 0x0a, 0x14, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x55, 0x6e, 0x6d, 0x6f, | |
| 	0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x55, 0x6e, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x22, 0x51, 0x0a, 0x13, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, | |
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x65, 0x6d, 0x70, | |
| 	0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x6e, 0x6c, 0x79, 0x45, 0x6d, | |
| 	0x70, 0x74, 0x79, 0x22, 0x16, 0x0a, 0x14, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x6c, | |
| 	0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x19, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, | |
| 	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, | |
| 	0x61, 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, | |
| 	0x6b, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | |
| 	0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x22, 0x1c, 0x0a, | |
| 	0x1a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x61, | |
| 	0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x16, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, | |
| 	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, | |
| 	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, | |
| 	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, | |
| 	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x17, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, | |
| 	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, | |
| 	0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, | |
| 	0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x13, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, | |
| 	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, | |
| 	0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xa6, 0x01, 0x0a, 0x14, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, | |
| 	0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, | |
| 	0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, | |
| 	0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, | |
| 	0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x43, | |
| 	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6c, | |
| 	0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, | |
| 	0x52, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, | |
| 	0x6e, 0x74, 0x22, 0xf8, 0x01, 0x0a, 0x11, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x70, | |
| 	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, | |
| 	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, | |
| 	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, | |
| 	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, | |
| 	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x04, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, | |
| 	0x72, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, | |
| 	0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, | |
| 	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, | |
| 	0x12, 0x2b, 0x0a, 0x12, 0x69, 0x6f, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, | |
| 	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x69, 0x6f, | |
| 	0x42, 0x79, 0x74, 0x65, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x68, 0x0a, | |
| 	0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x65, | |
| 	0x6e, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, | |
| 	0x6c, 0x61, 0x73, 0x74, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x41, 0x74, 0x4e, 0x73, 0x12, 0x27, | |
| 	0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, | |
| 	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, | |
| 	0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x94, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x70, 0x79, | |
| 	0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, | |
| 	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x78, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, | |
| 	0x6d, 0x70, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, | |
| 	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, | |
| 	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, | |
| 	0x74, 0x6f, 0x70, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, | |
| 	0x52, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, | |
| 	0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, | |
| 	0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, | |
| 	0x69, 0x73, 0x5f, 0x65, 0x63, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, | |
| 	0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x45, 0x63, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x3e, | |
| 	0x0a, 0x1c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, | |
| 	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, | |
| 	0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, | |
| 	0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x5b, | |
| 	0x0a, 0x10, 0x43, 0x6f, 0x70, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, | |
| 	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, | |
| 	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, | |
| 	0x64, 0x5f, 0x74, 0x73, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, | |
| 	0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x73, 0x4e, 0x73, 0x22, 0x60, 0x0a, 0x15, 0x52, | |
| 	0x65, 0x61, 0x64, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, | |
| 	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, | |
| 	0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, | |
| 	0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, | |
| 	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x39, 0x0a, | |
| 	0x16, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x52, | |
| 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x65, 0x64, 0x6c, | |
| 	0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x65, | |
| 	0x65, 0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x22, 0x7d, 0x0a, 0x15, 0x52, 0x65, 0x61, 0x64, | |
| 	0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | |
| 	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, | |
| 	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1b, | |
| 	0x0a, 0x09, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, | |
| 	0x04, 0x52, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, | |
| 	0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, | |
| 	0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, | |
| 	0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x61, 0x64, | |
| 	0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x01, 0x20, 0x01, | |
| 	0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, | |
| 	0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, | |
| 	0x04, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, | |
| 	0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x63, 0x72, | |
| 	0x63, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, | |
| 	0x74, 0x74, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x74, | |
| 	0x5f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x65, 0x6e, | |
| 	0x64, 0x41, 0x74, 0x4e, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4e, | |
| 	0x65, 0x65, 0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | |
| 	0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, | |
| 	0x09, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, | |
| 	0x52, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, | |
| 	0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1f, | |
| 	0x0a, 0x0b, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x04, 0x20, | |
| 	0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x22, | |
| 	0x19, 0x0a, 0x17, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x42, 0x6c, | |
| 	0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x0a, 0x15, 0x52, 0x65, | |
| 	0x61, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, | |
| 	0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, | |
| 	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, | |
| 	0x64, 0x73, 0x22, 0xa0, 0x02, 0x0a, 0x16, 0x52, 0x65, 0x61, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x65, | |
| 	0x65, 0x64, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, | |
| 	0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, | |
| 	0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, | |
| 	0x65, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, | |
| 	0x65, 0x65, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, | |
| 	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, | |
| 	0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x05, | |
| 	0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, | |
| 	0x12, 0x34, 0x0a, 0x16, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, | |
| 	0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, | |
| 	0x52, 0x14, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x43, 0x6f, 0x6d, 0x70, | |
| 	0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, | |
| 	0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6c, | |
| 	0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, | |
| 	0x72, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, 0x12, 0x0a, | |
| 	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, | |
| 	0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, | |
| 	0x04, 0x6d, 0x69, 0x6d, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x17, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x54, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | |
| 	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, | |
| 	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x19, | |
| 	0x0a, 0x08, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, | |
| 	0x52, 0x07, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x64, 0x6c, | |
| 	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, | |
| 	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, | |
| 	0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x18, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, | |
| 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x65, 0x64, | |
| 	0x6c, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, | |
| 	0x0c, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, | |
| 	0x0b, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, | |
| 	0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x22, | |
| 	0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, | |
| 	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x75, | |
| 	0x6e, 0x6b, 0x22, 0xb7, 0x01, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x61, 0x69, | |
| 	0x6c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | |
| 	0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, | |
| 	0x08, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, | |
| 	0x07, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x64, 0x6c, 0x65, | |
| 	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, | |
| 	0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, | |
| 	0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6f, | |
| 	0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, | |
| 	0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x1c, 0x0a, 0x1a, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, | |
| 	0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x1d, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x47, 0x65, 0x6e, 0x65, | |
| 	0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, | |
| 	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, | |
| 	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x0a, 0x1e, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, | |
| 	0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x0a, 0x1c, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x62, 0x75, | |
| 	0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, | |
| 	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, | |
| 	0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4b, 0x0a, 0x1d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, | |
| 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x62, 0x75, | |
| 	0x69, 0x6c, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, | |
| 	0x03, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x53, 0x68, 0x61, 0x72, | |
| 	0x64, 0x49, 0x64, 0x73, 0x22, 0x8b, 0x02, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, | |
| 	0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, | |
| 	0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, | |
| 	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, | |
| 	0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, | |
| 	0x1b, 0x0a, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, | |
| 	0x28, 0x0d, 0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0d, | |
| 	0x63, 0x6f, 0x70, 0x79, 0x5f, 0x65, 0x63, 0x78, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, | |
| 	0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x45, 0x63, 0x78, 0x46, 0x69, 0x6c, 0x65, | |
| 	0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, | |
| 	0x6e, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, | |
| 	0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x6f, | |
| 	0x70, 0x79, 0x5f, 0x65, 0x63, 0x6a, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, | |
| 	0x08, 0x52, 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x45, 0x63, 0x6a, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x22, | |
| 	0x0a, 0x0d, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x76, 0x69, 0x66, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, | |
| 	0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x70, 0x79, 0x56, 0x69, 0x66, 0x46, 0x69, | |
| 	0x6c, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, | |
| 	0x61, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x22, 0x77, 0x0a, 0x1b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, | |
| 	0x64, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, | |
| 	0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, | |
| 	0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, | |
| 	0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, | |
| 	0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, | |
| 	0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, | |
| 	0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x1e, 0x0a, 0x1c, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, | |
| 	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x1a, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, | |
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, | |
| 	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, | |
| 	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, | |
| 	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, | |
| 	0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, | |
| 	0x72, 0x64, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x22, 0x58, 0x0a, 0x1c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, | |
| 	0x64, 0x73, 0x55, 0x6e, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | |
| 	0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, | |
| 	0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, | |
| 	0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x73, 0x22, 0x1f, 0x0a, 0x1d, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x55, 0x6e, 0x6d, 0x6f, | |
| 	0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x18, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x61, | |
| 	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, | |
| 	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, | |
| 	0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, | |
| 	0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, | |
| 	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, | |
| 	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, | |
| 	0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x4e, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, | |
| 	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, | |
| 	0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, | |
| 	0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, | |
| 	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x45, 0x63, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, | |
| 	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, | |
| 	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, | |
| 	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, | |
| 	0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, | |
| 	0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, | |
| 	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, | |
| 	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x45, 0x63, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, | |
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x1d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, | |
| 	0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x54, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, | |
| 	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, | |
| 	0x69, 0x6f, 0x6e, 0x22, 0x20, 0x0a, 0x1e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, | |
| 	0x68, 0x61, 0x72, 0x64, 0x73, 0x54, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, | |
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x0a, 0x1b, 0x52, 0x65, 0x61, 0x64, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, | |
| 	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, | |
| 	0x64, 0x22, 0xc9, 0x03, 0x0a, 0x1c, 0x52, 0x65, 0x61, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, | |
| 	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, | |
| 	0x3b, 0x0a, 0x1a, 0x69, 0x64, 0x78, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, | |
| 	0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, | |
| 	0x01, 0x28, 0x04, 0x52, 0x17, 0x69, 0x64, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, | |
| 	0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0d, | |
| 	0x69, 0x64, 0x78, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, | |
| 	0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x64, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, | |
| 	0x12, 0x3b, 0x0a, 0x1a, 0x64, 0x61, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, | |
| 	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, | |
| 	0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x64, 0x61, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x69, 0x6d, | |
| 	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x0a, | |
| 	0x0d, 0x64, 0x61, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, | |
| 	0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, | |
| 	0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, | |
| 	0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, | |
| 	0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, | |
| 	0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, | |
| 	0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, | |
| 	0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, | |
| 	0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, | |
| 	0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3d, | |
| 	0x0a, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, | |
| 	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, | |
| 	0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x66, | |
| 	0x6f, 0x52, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xbb, 0x01, | |
| 	0x0a, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, | |
| 	0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x10, | |
| 	0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x6c, 0x6c, | |
| 	0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, | |
| 	0x75, 0x73, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, | |
| 	0x28, 0x04, 0x52, 0x04, 0x66, 0x72, 0x65, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x63, | |
| 	0x65, 0x6e, 0x74, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, | |
| 	0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x65, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, | |
| 	0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, | |
| 	0x02, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1b, | |
| 	0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, | |
| 	0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x09, | |
| 	0x4d, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x6f, 0x72, | |
| 	0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x67, | |
| 	0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, | |
| 	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x75, | |
| 	0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, | |
| 	0x12, 0x0a, 0x04, 0x66, 0x72, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x66, | |
| 	0x72, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, | |
| 	0x04, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x70, 0x18, | |
| 	0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x68, 0x65, 0x61, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x73, | |
| 	0x74, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, | |
| 	0x6b, 0x22, 0xd8, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, | |
| 	0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, | |
| 	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x54, | |
| 	0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x69, | |
| 	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, | |
| 	0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, | |
| 	0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, | |
| 	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, | |
| 	0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, | |
| 	0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, | |
| 	0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, | |
| 	0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, | |
| 	0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, | |
| 	0x0a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x66, | |
| 	0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x65, | |
| 	0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, | |
| 	0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, | |
| 	0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x70, | |
| 	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, | |
| 	0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x42, | |
| 	0x79, 0x74, 0x65, 0x73, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, | |
| 	0x52, 0x0b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xc8, 0x01, | |
| 	0x0a, 0x20, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x76, 0x65, | |
| 	0x44, 0x61, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, | |
| 	0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, | |
| 	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, | |
| 	0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, | |
| 	0x38, 0x0a, 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, | |
| 	0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, | |
| 	0x09, 0x52, 0x16, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, | |
| 	0x63, 0x6b, 0x65, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6b, 0x65, 0x65, | |
| 	0x70, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, | |
| 	0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x4c, 0x6f, 0x63, 0x61, | |
| 	0x6c, 0x44, 0x61, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x73, 0x0a, 0x21, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x54, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x54, 0x6f, 0x52, | |
| 	0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, | |
| 	0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, | |
| 	0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x70, | |
| 	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, | |
| 	0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, | |
| 	0x73, 0x65, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x22, 0x92, 0x01, | |
| 	0x0a, 0x22, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x76, 0x65, | |
| 	0x44, 0x61, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, | |
| 	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, | |
| 	0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, | |
| 	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, | |
| 	0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, | |
| 	0x5f, 0x64, 0x61, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, | |
| 	0x11, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x61, 0x74, 0x46, 0x69, | |
| 	0x6c, 0x65, 0x22, 0x75, 0x0a, 0x23, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x69, 0x65, 0x72, | |
| 	0x4d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, | |
| 	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, | |
| 	0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, | |
| 	0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x63, 0x65, | |
| 	0x73, 0x73, 0x65, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, | |
| 	0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x50, | |
| 	0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf0, 0x01, 0x0a, 0x1a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, | |
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x74, | |
| 	0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x44, 0x69, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x6b, | |
| 	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, 0x6f, | |
| 	0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, | |
| 	0x1b, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, | |
| 	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x6d, 0x65, | |
| 	0x6d, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, | |
| 	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, | |
| 	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, | |
| 	0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x43, | |
| 	0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x05, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, 0x63, 0x6b, 0x22, 0x1a, 0x0a, 0x18, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, | |
| 	0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x1b, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, | |
| 	0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x22, 0xdc, 0x03, 0x0a, 0x1a, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x57, | |
| 	0x72, 0x69, 0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | |
| 	0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, | |
| 	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1b, | |
| 	0x0a, 0x09, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, | |
| 	0x04, 0x52, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, | |
| 	0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6f, | |
| 	0x6b, 0x69, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, | |
| 	0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, | |
| 	0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, | |
| 	0x50, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, | |
| 	0x0b, 0x32, 0x34, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x57, 0x72, 0x69, | |
| 	0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, | |
| 	0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, | |
| 	0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x04, 0x61, 0x75, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, | |
| 	0x63, 0x6f, 0x6e, 0x66, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x6d, | |
| 	0x6f, 0x74, 0x65, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, | |
| 	0x66, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x49, 0x0a, | |
| 	0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, | |
| 	0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, | |
| 	0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, | |
| 	0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, | |
| 	0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x57, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6c, | |
| 	0x69, 0x63, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, | |
| 	0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, | |
| 	0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, | |
| 	0x63, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x6f, 0x72, | |
| 	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x67, 0x72, 0x70, 0x63, 0x50, 0x6f, 0x72, | |
| 	0x74, 0x22, 0x32, 0x0a, 0x1b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x57, 0x72, 0x69, | |
| 	0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x12, 0x13, 0x0a, 0x05, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x04, 0x65, 0x54, 0x61, 0x67, 0x22, 0xf4, 0x0c, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, | |
| 	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x65, | |
| 	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x66, | |
| 	0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x66, | |
| 	0x72, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x66, 0x69, | |
| 	0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x76, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x51, 0x75, | |
| 	0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, | |
| 	0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x62, 0x0a, 0x13, 0x69, 0x6e, 0x70, | |
| 	0x75, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, | |
| 	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, | |
| 	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x65, 0x72, 0x69, | |
| 	0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x69, 0x6e, 0x70, 0x75, 0x74, | |
| 	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, | |
| 	0x14, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, | |
| 	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x51, | |
| 	0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, | |
| 	0x75, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, | |
| 	0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, | |
| 	0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x4e, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x14, | |
| 	0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, | |
| 	0x69, 0x65, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, | |
| 	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x14, | |
| 	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, | |
| 	0x61, 0x6c, 0x75, 0x65, 0x1a, 0xd3, 0x05, 0x0a, 0x12, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x65, | |
| 	0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x63, | |
| 	0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, | |
| 	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, | |
| 	0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, 0x09, 0x63, 0x73, 0x76, 0x5f, 0x69, 0x6e, | |
| 	0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, | |
| 	0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x53, | |
| 	0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x53, 0x56, | |
| 	0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x08, 0x63, 0x73, 0x76, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, | |
| 	0x5a, 0x0a, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, | |
| 	0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, | |
| 	0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, | |
| 	0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, | |
| 	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4a, 0x53, 0x4f, 0x4e, 0x49, 0x6e, 0x70, 0x75, 0x74, | |
| 	0x52, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x63, 0x0a, 0x0d, 0x70, | |
| 	0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, | |
| 	0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, | |
| 	0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, | |
| 	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x49, 0x6e, 0x70, | |
| 	0x75, 0x74, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, | |
| 	0x1a, 0xc6, 0x02, 0x0a, 0x08, 0x43, 0x53, 0x56, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x28, 0x0a, | |
| 	0x10, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, | |
| 	0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x65, 0x61, | |
| 	0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x72, | |
| 	0x64, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, | |
| 	0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, | |
| 	0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x69, | |
| 	0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x65, | |
| 	0x6c, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x71, | |
| 	0x75, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x18, 0x04, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, | |
| 	0x63, 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x73, | |
| 	0x63, 0x61, 0x70, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x18, 0x05, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x45, 0x73, 0x63, 0x61, 0x70, | |
| 	0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, | |
| 	0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, | |
| 	0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, | |
| 	0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x64, 0x65, | |
| 	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x61, | |
| 	0x6c, 0x6c, 0x6f, 0x77, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, | |
| 	0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x1a, 0x1f, 0x0a, 0x09, 0x4a, 0x53, 0x4f, | |
| 	0x4e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x0e, 0x0a, 0x0c, 0x50, 0x61, | |
| 	0x72, 0x71, 0x75, 0x65, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0xef, 0x03, 0x0a, 0x13, 0x4f, | |
| 	0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, | |
| 	0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, | |
| 	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, | |
| 	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x65, 0x72, | |
| 	0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x53, 0x56, 0x4f, 0x75, | |
| 	0x74, 0x70, 0x75, 0x74, 0x52, 0x09, 0x63, 0x73, 0x76, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, | |
| 	0x5e, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, | |
| 	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, | |
| 	0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4a, 0x53, 0x4f, 0x4e, 0x4f, 0x75, 0x74, | |
| 	0x70, 0x75, 0x74, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x1a, | |
| 	0xe1, 0x01, 0x0a, 0x09, 0x43, 0x53, 0x56, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x21, 0x0a, | |
| 	0x0c, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, | |
| 	0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, | |
| 	0x69, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, | |
| 	0x72, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x66, | |
| 	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x03, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x6d, | |
| 	0x69, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x68, | |
| 	0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x71, | |
| 	0x75, 0x6f, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x12, 0x34, 0x0a, | |
| 	0x16, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x5f, 0x63, 0x68, | |
| 	0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x71, | |
| 	0x75, 0x6f, 0x74, 0x65, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, | |
| 	0x74, 0x65, 0x72, 0x1a, 0x37, 0x0a, 0x0a, 0x4a, 0x53, 0x4f, 0x4e, 0x4f, 0x75, 0x74, 0x70, 0x75, | |
| 	0x74, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x69, | |
| 	0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, | |
| 	0x6f, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x22, 0x29, 0x0a, 0x0d, | |
| 	0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x12, 0x18, 0x0a, | |
| 	0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, | |
| 	0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x55, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, | |
| 	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, | |
| 	0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, | |
| 	0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xae, | |
| 	0x01, 0x0a, 0x1a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x53, | |
| 	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, | |
| 	0x09, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, | |
| 	0x52, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, | |
| 	0x6f, 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, | |
| 	0x69, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, | |
| 	0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, | |
| 	0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6c, | |
| 	0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, | |
| 	0x72, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, 0x10, 0x0a, | |
| 	0x03, 0x74, 0x74, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x22, | |
| 	0x46, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, | |
| 	0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, | |
| 	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, | |
| 	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, | |
| 	0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x7a, 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, | |
| 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, | |
| 	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, | |
| 	0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x72, | |
| 	0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, | |
| 	0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, | |
| 	0x73, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, | |
| 	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, | |
| 	0x65, 0x4e, 0x73, 0x32, 0xbc, 0x24, 0x0a, 0x0c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, | |
| 	0x65, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, | |
| 	0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, | |
| 	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x42, 0x61, 0x74, | |
| 	0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x22, 0x00, 0x12, 0x6e, 0x0a, 0x11, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2a, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, | |
| 	0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, | |
| 	0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, | |
| 	0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x22, 0x00, 0x12, 0x76, 0x0a, 0x13, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x63, | |
| 	0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, | |
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, | |
| 	0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x65, | |
| 	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x71, 0x0a, 0x12, 0x56, 0x61, | |
| 	0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, | |
| 	0x12, 0x2b, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, | |
| 	0x5f, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6d, | |
| 	0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, | |
| 	0x13, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6c, 0x65, | |
| 	0x61, 0x6e, 0x75, 0x70, 0x12, 0x2c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, | |
| 	0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, | |
| 	0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, | |
| 	0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, | |
| 	0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, | |
| 	0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, | |
| 	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, | |
| 	0x12, 0x65, 0x0a, 0x0e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x12, 0x27, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x41, | |
| 	0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, | |
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x10, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x2e, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, | |
| 	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x22, 0x00, 0x12, 0x7c, 0x0a, 0x15, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, | |
| 	0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x2e, 0x2e, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, | |
| 	0x61, 0x6c, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, | |
| 	0x61, 0x6c, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, | |
| 	0x30, 0x01, 0x12, 0x5c, 0x0a, 0x0b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, | |
| 	0x74, 0x12, 0x24, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, | |
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, | |
| 	0x12, 0x62, 0x0a, 0x0d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x55, 0x6e, 0x6d, 0x6f, 0x75, 0x6e, | |
| 	0x74, 0x12, 0x26, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x55, 0x6e, 0x6d, 0x6f, 0x75, | |
| 	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x55, 0x6e, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, | |
| 	0x6c, 0x65, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, | |
| 	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, | |
| 	0x61, 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x12, 0x2b, 0x2e, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, | |
| 	0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x52, 0x65, | |
| 	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2b, | |
| 	0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x69, 0x74, | |
| 	0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, | |
| 	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x0f, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x12, 0x28, | |
| 	0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, | |
| 	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x0c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, | |
| 	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, | |
| 	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, | |
| 	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, | |
| 	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x43, 0x6f, 0x70, 0x79, 0x12, 0x23, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, | |
| 	0x70, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, | |
| 	0x00, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x14, 0x52, 0x65, 0x61, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x2e, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, | |
| 	0x65, 0x61, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, | |
| 	0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x76, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x65, | |
| 	0x61, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, | |
| 	0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x08, | |
| 	0x43, 0x6f, 0x70, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x21, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x70, 0x79, | |
| 	0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x43, | |
| 	0x6f, 0x70, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, | |
| 	0x00, 0x30, 0x01, 0x12, 0x65, 0x0a, 0x0e, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x65, 0x65, 0x64, 0x6c, | |
| 	0x65, 0x42, 0x6c, 0x6f, 0x62, 0x12, 0x27, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, | |
| 	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x65, 0x65, | |
| 	0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, | |
| 	0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, | |
| 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0e, 0x52, 0x65, | |
| 	0x61, 0x64, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x27, 0x2e, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x52, 0x65, 0x61, 0x64, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, | |
| 	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, | |
| 	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x65, 0x65, | |
| 	0x64, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, | |
| 	0x00, 0x12, 0x68, 0x0a, 0x0f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, | |
| 	0x42, 0x6c, 0x6f, 0x62, 0x12, 0x28, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x65, 0x65, | |
| 	0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, | |
| 	0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x42, 0x6c, 0x6f, | |
| 	0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x0e, 0x52, | |
| 	0x65, 0x61, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x73, 0x12, 0x27, 0x2e, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x73, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, | |
| 	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x41, 0x6c, | |
| 	0x6c, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x22, 0x00, 0x30, 0x01, 0x12, 0x6d, 0x0a, 0x10, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x61, | |
| 	0x69, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x54, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, | |
| 	0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, | |
| 	0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x61, 0x69, | |
| 	0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, | |
| 	0x00, 0x30, 0x01, 0x12, 0x71, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x61, 0x69, | |
| 	0x6c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, | |
| 	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, | |
| 	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x16, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, | |
| 	0x12, 0x2f, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, | |
| 	0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, | |
| 	0x64, 0x73, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | |
| 	0x74, 0x1a, 0x30, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, | |
| 	0x72, 0x64, 0x73, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x15, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, | |
| 	0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x2e, | |
| 	0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, | |
| 	0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, | |
| 	0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, | |
| 	0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, | |
| 	0x00, 0x12, 0x71, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, | |
| 	0x72, 0x64, 0x73, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x2b, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, | |
| 	0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x43, 0x6f, 0x70, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x14, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, | |
| 	0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x44, 0x65, | |
| 	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x44, 0x65, 0x6c, | |
| 	0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x74, 0x0a, | |
| 	0x13, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x4d, | |
| 	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, | |
| 	0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, | |
| 	0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, | |
| 	0x61, 0x72, 0x64, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, | |
| 	0x65, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x15, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, | |
| 	0x68, 0x61, 0x72, 0x64, 0x73, 0x55, 0x6e, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x55, 0x6e, | |
| 	0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x55, 0x6e, | |
| 	0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, | |
| 	0x70, 0x0a, 0x11, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, | |
| 	0x52, 0x65, 0x61, 0x64, 0x12, 0x2a, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, | |
| 	0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | |
| 	0x1a, 0x2b, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, | |
| 	0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, | |
| 	0x64, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, | |
| 	0x01, 0x12, 0x71, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x42, 0x6c, 0x6f, | |
| 	0x62, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x45, 0x63, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, | |
| 	0x42, 0x6c, 0x6f, 0x62, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x16, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, | |
| 	0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x54, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x2f, | |
| 	0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, | |
| 	0x54, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, | |
| 	0x30, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, | |
| 	0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, | |
| 	0x73, 0x54, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, | |
| 	0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x19, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x69, | |
| 	0x65, 0x72, 0x4d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x74, | |
| 	0x65, 0x12, 0x32, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x69, 0x65, 0x72, 0x4d, | |
| 	0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, | |
| 	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, | |
| 	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, | |
| 	0x69, 0x65, 0x72, 0x4d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, | |
| 	0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x8e, | |
| 	0x01, 0x0a, 0x1b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x76, | |
| 	0x65, 0x44, 0x61, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x34, | |
| 	0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x69, 0x65, 0x72, 0x4d, 0x6f, 0x76, 0x65, | |
| 	0x44, 0x61, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x54, 0x69, | |
| 	0x65, 0x72, 0x4d, 0x6f, 0x76, 0x65, 0x44, 0x61, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x6d, | |
| 	0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, | |
| 	0x71, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, | |
| 	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, | |
| 	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, | |
| 	0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, | |
| 	0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, | |
| 	0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x22, 0x00, 0x12, 0x6e, 0x0a, 0x11, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, | |
| 	0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x2a, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, | |
| 	0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, | |
| 	0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x65, 0x72, | |
| 	0x76, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x22, 0x00, 0x12, 0x74, 0x0a, 0x13, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x64, 0x57, 0x72, | |
| 	0x69, 0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x12, 0x2c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x46, 0x65, 0x74, | |
| 	0x63, 0x68, 0x41, 0x6e, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, | |
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, | |
| 	0x41, 0x6e, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x52, 0x65, | |
| 	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, | |
| 	0x79, 0x12, 0x1e, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | |
| 	0x74, 0x1a, 0x1f, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, | |
| 	0x70, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x71, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, | |
| 	0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, | |
| 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x04, 0x50, 0x69, 0x6e, | |
| 	0x67, 0x12, 0x1d, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | |
| 	0x1a, 0x1e, 0x2e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, | |
| 	0x5f, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x22, 0x00, 0x42, 0x39, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, | |
| 	0x2f, 0x73, 0x65, 0x61, 0x77, 0x65, 0x65, 0x64, 0x66, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x77, 0x65, | |
| 	0x65, 0x64, 0x66, 0x73, 0x2f, 0x77, 0x65, 0x65, 0x64, 0x2f, 0x70, 0x62, 0x2f, 0x76, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, | |
| 	0x72, 0x6f, 0x74, 0x6f, 0x33, | |
| } | |
| 
 | |
| var ( | |
| 	file_volume_server_proto_rawDescOnce sync.Once | |
| 	file_volume_server_proto_rawDescData = file_volume_server_proto_rawDesc | |
| ) | |
| 
 | |
| func file_volume_server_proto_rawDescGZIP() []byte { | |
| 	file_volume_server_proto_rawDescOnce.Do(func() { | |
| 		file_volume_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_volume_server_proto_rawDescData) | |
| 	}) | |
| 	return file_volume_server_proto_rawDescData | |
| } | |
| 
 | |
| var file_volume_server_proto_msgTypes = make([]protoimpl.MessageInfo, 99) | |
| var file_volume_server_proto_goTypes = []interface{}{ | |
| 	(*BatchDeleteRequest)(nil),                           // 0: volume_server_pb.BatchDeleteRequest | |
| 	(*BatchDeleteResponse)(nil),                          // 1: volume_server_pb.BatchDeleteResponse | |
| 	(*DeleteResult)(nil),                                 // 2: volume_server_pb.DeleteResult | |
| 	(*Empty)(nil),                                        // 3: volume_server_pb.Empty | |
| 	(*VacuumVolumeCheckRequest)(nil),                     // 4: volume_server_pb.VacuumVolumeCheckRequest | |
| 	(*VacuumVolumeCheckResponse)(nil),                    // 5: volume_server_pb.VacuumVolumeCheckResponse | |
| 	(*VacuumVolumeCompactRequest)(nil),                   // 6: volume_server_pb.VacuumVolumeCompactRequest | |
| 	(*VacuumVolumeCompactResponse)(nil),                  // 7: volume_server_pb.VacuumVolumeCompactResponse | |
| 	(*VacuumVolumeCommitRequest)(nil),                    // 8: volume_server_pb.VacuumVolumeCommitRequest | |
| 	(*VacuumVolumeCommitResponse)(nil),                   // 9: volume_server_pb.VacuumVolumeCommitResponse | |
| 	(*VacuumVolumeCleanupRequest)(nil),                   // 10: volume_server_pb.VacuumVolumeCleanupRequest | |
| 	(*VacuumVolumeCleanupResponse)(nil),                  // 11: volume_server_pb.VacuumVolumeCleanupResponse | |
| 	(*DeleteCollectionRequest)(nil),                      // 12: volume_server_pb.DeleteCollectionRequest | |
| 	(*DeleteCollectionResponse)(nil),                     // 13: volume_server_pb.DeleteCollectionResponse | |
| 	(*AllocateVolumeRequest)(nil),                        // 14: volume_server_pb.AllocateVolumeRequest | |
| 	(*AllocateVolumeResponse)(nil),                       // 15: volume_server_pb.AllocateVolumeResponse | |
| 	(*VolumeSyncStatusRequest)(nil),                      // 16: volume_server_pb.VolumeSyncStatusRequest | |
| 	(*VolumeSyncStatusResponse)(nil),                     // 17: volume_server_pb.VolumeSyncStatusResponse | |
| 	(*VolumeIncrementalCopyRequest)(nil),                 // 18: volume_server_pb.VolumeIncrementalCopyRequest | |
| 	(*VolumeIncrementalCopyResponse)(nil),                // 19: volume_server_pb.VolumeIncrementalCopyResponse | |
| 	(*VolumeMountRequest)(nil),                           // 20: volume_server_pb.VolumeMountRequest | |
| 	(*VolumeMountResponse)(nil),                          // 21: volume_server_pb.VolumeMountResponse | |
| 	(*VolumeUnmountRequest)(nil),                         // 22: volume_server_pb.VolumeUnmountRequest | |
| 	(*VolumeUnmountResponse)(nil),                        // 23: volume_server_pb.VolumeUnmountResponse | |
| 	(*VolumeDeleteRequest)(nil),                          // 24: volume_server_pb.VolumeDeleteRequest | |
| 	(*VolumeDeleteResponse)(nil),                         // 25: volume_server_pb.VolumeDeleteResponse | |
| 	(*VolumeMarkReadonlyRequest)(nil),                    // 26: volume_server_pb.VolumeMarkReadonlyRequest | |
| 	(*VolumeMarkReadonlyResponse)(nil),                   // 27: volume_server_pb.VolumeMarkReadonlyResponse | |
| 	(*VolumeMarkWritableRequest)(nil),                    // 28: volume_server_pb.VolumeMarkWritableRequest | |
| 	(*VolumeMarkWritableResponse)(nil),                   // 29: volume_server_pb.VolumeMarkWritableResponse | |
| 	(*VolumeConfigureRequest)(nil),                       // 30: volume_server_pb.VolumeConfigureRequest | |
| 	(*VolumeConfigureResponse)(nil),                      // 31: volume_server_pb.VolumeConfigureResponse | |
| 	(*VolumeStatusRequest)(nil),                          // 32: volume_server_pb.VolumeStatusRequest | |
| 	(*VolumeStatusResponse)(nil),                         // 33: volume_server_pb.VolumeStatusResponse | |
| 	(*VolumeCopyRequest)(nil),                            // 34: volume_server_pb.VolumeCopyRequest | |
| 	(*VolumeCopyResponse)(nil),                           // 35: volume_server_pb.VolumeCopyResponse | |
| 	(*CopyFileRequest)(nil),                              // 36: volume_server_pb.CopyFileRequest | |
| 	(*CopyFileResponse)(nil),                             // 37: volume_server_pb.CopyFileResponse | |
| 	(*ReadNeedleBlobRequest)(nil),                        // 38: volume_server_pb.ReadNeedleBlobRequest | |
| 	(*ReadNeedleBlobResponse)(nil),                       // 39: volume_server_pb.ReadNeedleBlobResponse | |
| 	(*ReadNeedleMetaRequest)(nil),                        // 40: volume_server_pb.ReadNeedleMetaRequest | |
| 	(*ReadNeedleMetaResponse)(nil),                       // 41: volume_server_pb.ReadNeedleMetaResponse | |
| 	(*WriteNeedleBlobRequest)(nil),                       // 42: volume_server_pb.WriteNeedleBlobRequest | |
| 	(*WriteNeedleBlobResponse)(nil),                      // 43: volume_server_pb.WriteNeedleBlobResponse | |
| 	(*ReadAllNeedlesRequest)(nil),                        // 44: volume_server_pb.ReadAllNeedlesRequest | |
| 	(*ReadAllNeedlesResponse)(nil),                       // 45: volume_server_pb.ReadAllNeedlesResponse | |
| 	(*VolumeTailSenderRequest)(nil),                      // 46: volume_server_pb.VolumeTailSenderRequest | |
| 	(*VolumeTailSenderResponse)(nil),                     // 47: volume_server_pb.VolumeTailSenderResponse | |
| 	(*VolumeTailReceiverRequest)(nil),                    // 48: volume_server_pb.VolumeTailReceiverRequest | |
| 	(*VolumeTailReceiverResponse)(nil),                   // 49: volume_server_pb.VolumeTailReceiverResponse | |
| 	(*VolumeEcShardsGenerateRequest)(nil),                // 50: volume_server_pb.VolumeEcShardsGenerateRequest | |
| 	(*VolumeEcShardsGenerateResponse)(nil),               // 51: volume_server_pb.VolumeEcShardsGenerateResponse | |
| 	(*VolumeEcShardsRebuildRequest)(nil),                 // 52: volume_server_pb.VolumeEcShardsRebuildRequest | |
| 	(*VolumeEcShardsRebuildResponse)(nil),                // 53: volume_server_pb.VolumeEcShardsRebuildResponse | |
| 	(*VolumeEcShardsCopyRequest)(nil),                    // 54: volume_server_pb.VolumeEcShardsCopyRequest | |
| 	(*VolumeEcShardsCopyResponse)(nil),                   // 55: volume_server_pb.VolumeEcShardsCopyResponse | |
| 	(*VolumeEcShardsDeleteRequest)(nil),                  // 56: volume_server_pb.VolumeEcShardsDeleteRequest | |
| 	(*VolumeEcShardsDeleteResponse)(nil),                 // 57: volume_server_pb.VolumeEcShardsDeleteResponse | |
| 	(*VolumeEcShardsMountRequest)(nil),                   // 58: volume_server_pb.VolumeEcShardsMountRequest | |
| 	(*VolumeEcShardsMountResponse)(nil),                  // 59: volume_server_pb.VolumeEcShardsMountResponse | |
| 	(*VolumeEcShardsUnmountRequest)(nil),                 // 60: volume_server_pb.VolumeEcShardsUnmountRequest | |
| 	(*VolumeEcShardsUnmountResponse)(nil),                // 61: volume_server_pb.VolumeEcShardsUnmountResponse | |
| 	(*VolumeEcShardReadRequest)(nil),                     // 62: volume_server_pb.VolumeEcShardReadRequest | |
| 	(*VolumeEcShardReadResponse)(nil),                    // 63: volume_server_pb.VolumeEcShardReadResponse | |
| 	(*VolumeEcBlobDeleteRequest)(nil),                    // 64: volume_server_pb.VolumeEcBlobDeleteRequest | |
| 	(*VolumeEcBlobDeleteResponse)(nil),                   // 65: volume_server_pb.VolumeEcBlobDeleteResponse | |
| 	(*VolumeEcShardsToVolumeRequest)(nil),                // 66: volume_server_pb.VolumeEcShardsToVolumeRequest | |
| 	(*VolumeEcShardsToVolumeResponse)(nil),               // 67: volume_server_pb.VolumeEcShardsToVolumeResponse | |
| 	(*ReadVolumeFileStatusRequest)(nil),                  // 68: volume_server_pb.ReadVolumeFileStatusRequest | |
| 	(*ReadVolumeFileStatusResponse)(nil),                 // 69: volume_server_pb.ReadVolumeFileStatusResponse | |
| 	(*DiskStatus)(nil),                                   // 70: volume_server_pb.DiskStatus | |
| 	(*MemStatus)(nil),                                    // 71: volume_server_pb.MemStatus | |
| 	(*RemoteFile)(nil),                                   // 72: volume_server_pb.RemoteFile | |
| 	(*VolumeInfo)(nil),                                   // 73: volume_server_pb.VolumeInfo | |
| 	(*VolumeTierMoveDatToRemoteRequest)(nil),             // 74: volume_server_pb.VolumeTierMoveDatToRemoteRequest | |
| 	(*VolumeTierMoveDatToRemoteResponse)(nil),            // 75: volume_server_pb.VolumeTierMoveDatToRemoteResponse | |
| 	(*VolumeTierMoveDatFromRemoteRequest)(nil),           // 76: volume_server_pb.VolumeTierMoveDatFromRemoteRequest | |
| 	(*VolumeTierMoveDatFromRemoteResponse)(nil),          // 77: volume_server_pb.VolumeTierMoveDatFromRemoteResponse | |
| 	(*VolumeServerStatusRequest)(nil),                    // 78: volume_server_pb.VolumeServerStatusRequest | |
| 	(*VolumeServerStatusResponse)(nil),                   // 79: volume_server_pb.VolumeServerStatusResponse | |
| 	(*VolumeServerLeaveRequest)(nil),                     // 80: volume_server_pb.VolumeServerLeaveRequest | |
| 	(*VolumeServerLeaveResponse)(nil),                    // 81: volume_server_pb.VolumeServerLeaveResponse | |
| 	(*FetchAndWriteNeedleRequest)(nil),                   // 82: volume_server_pb.FetchAndWriteNeedleRequest | |
| 	(*FetchAndWriteNeedleResponse)(nil),                  // 83: volume_server_pb.FetchAndWriteNeedleResponse | |
| 	(*QueryRequest)(nil),                                 // 84: volume_server_pb.QueryRequest | |
| 	(*QueriedStripe)(nil),                                // 85: volume_server_pb.QueriedStripe | |
| 	(*VolumeNeedleStatusRequest)(nil),                    // 86: volume_server_pb.VolumeNeedleStatusRequest | |
| 	(*VolumeNeedleStatusResponse)(nil),                   // 87: volume_server_pb.VolumeNeedleStatusResponse | |
| 	(*PingRequest)(nil),                                  // 88: volume_server_pb.PingRequest | |
| 	(*PingResponse)(nil),                                 // 89: volume_server_pb.PingResponse | |
| 	(*FetchAndWriteNeedleRequest_Replica)(nil),           // 90: volume_server_pb.FetchAndWriteNeedleRequest.Replica | |
| 	(*QueryRequest_Filter)(nil),                          // 91: volume_server_pb.QueryRequest.Filter | |
| 	(*QueryRequest_InputSerialization)(nil),              // 92: volume_server_pb.QueryRequest.InputSerialization | |
| 	(*QueryRequest_OutputSerialization)(nil),             // 93: volume_server_pb.QueryRequest.OutputSerialization | |
| 	(*QueryRequest_InputSerialization_CSVInput)(nil),     // 94: volume_server_pb.QueryRequest.InputSerialization.CSVInput | |
| 	(*QueryRequest_InputSerialization_JSONInput)(nil),    // 95: volume_server_pb.QueryRequest.InputSerialization.JSONInput | |
| 	(*QueryRequest_InputSerialization_ParquetInput)(nil), // 96: volume_server_pb.QueryRequest.InputSerialization.ParquetInput | |
| 	(*QueryRequest_OutputSerialization_CSVOutput)(nil),   // 97: volume_server_pb.QueryRequest.OutputSerialization.CSVOutput | |
| 	(*QueryRequest_OutputSerialization_JSONOutput)(nil),  // 98: volume_server_pb.QueryRequest.OutputSerialization.JSONOutput | |
| 	(*remote_pb.RemoteConf)(nil),                         // 99: remote_pb.RemoteConf | |
| 	(*remote_pb.RemoteStorageLocation)(nil),              // 100: remote_pb.RemoteStorageLocation | |
| } | |
| var file_volume_server_proto_depIdxs = []int32{ | |
| 	2,   // 0: volume_server_pb.BatchDeleteResponse.results:type_name -> volume_server_pb.DeleteResult | |
| 	73,  // 1: volume_server_pb.ReadVolumeFileStatusResponse.volume_info:type_name -> volume_server_pb.VolumeInfo | |
| 	72,  // 2: volume_server_pb.VolumeInfo.files:type_name -> volume_server_pb.RemoteFile | |
| 	70,  // 3: volume_server_pb.VolumeServerStatusResponse.disk_statuses:type_name -> volume_server_pb.DiskStatus | |
| 	71,  // 4: volume_server_pb.VolumeServerStatusResponse.memory_status:type_name -> volume_server_pb.MemStatus | |
| 	90,  // 5: volume_server_pb.FetchAndWriteNeedleRequest.replicas:type_name -> volume_server_pb.FetchAndWriteNeedleRequest.Replica | |
| 	99,  // 6: volume_server_pb.FetchAndWriteNeedleRequest.remote_conf:type_name -> remote_pb.RemoteConf | |
| 	100, // 7: volume_server_pb.FetchAndWriteNeedleRequest.remote_location:type_name -> remote_pb.RemoteStorageLocation | |
| 	91,  // 8: volume_server_pb.QueryRequest.filter:type_name -> volume_server_pb.QueryRequest.Filter | |
| 	92,  // 9: volume_server_pb.QueryRequest.input_serialization:type_name -> volume_server_pb.QueryRequest.InputSerialization | |
| 	93,  // 10: volume_server_pb.QueryRequest.output_serialization:type_name -> volume_server_pb.QueryRequest.OutputSerialization | |
| 	94,  // 11: volume_server_pb.QueryRequest.InputSerialization.csv_input:type_name -> volume_server_pb.QueryRequest.InputSerialization.CSVInput | |
| 	95,  // 12: volume_server_pb.QueryRequest.InputSerialization.json_input:type_name -> volume_server_pb.QueryRequest.InputSerialization.JSONInput | |
| 	96,  // 13: volume_server_pb.QueryRequest.InputSerialization.parquet_input:type_name -> volume_server_pb.QueryRequest.InputSerialization.ParquetInput | |
| 	97,  // 14: volume_server_pb.QueryRequest.OutputSerialization.csv_output:type_name -> volume_server_pb.QueryRequest.OutputSerialization.CSVOutput | |
| 	98,  // 15: volume_server_pb.QueryRequest.OutputSerialization.json_output:type_name -> volume_server_pb.QueryRequest.OutputSerialization.JSONOutput | |
| 	0,   // 16: volume_server_pb.VolumeServer.BatchDelete:input_type -> volume_server_pb.BatchDeleteRequest | |
| 	4,   // 17: volume_server_pb.VolumeServer.VacuumVolumeCheck:input_type -> volume_server_pb.VacuumVolumeCheckRequest | |
| 	6,   // 18: volume_server_pb.VolumeServer.VacuumVolumeCompact:input_type -> volume_server_pb.VacuumVolumeCompactRequest | |
| 	8,   // 19: volume_server_pb.VolumeServer.VacuumVolumeCommit:input_type -> volume_server_pb.VacuumVolumeCommitRequest | |
| 	10,  // 20: volume_server_pb.VolumeServer.VacuumVolumeCleanup:input_type -> volume_server_pb.VacuumVolumeCleanupRequest | |
| 	12,  // 21: volume_server_pb.VolumeServer.DeleteCollection:input_type -> volume_server_pb.DeleteCollectionRequest | |
| 	14,  // 22: volume_server_pb.VolumeServer.AllocateVolume:input_type -> volume_server_pb.AllocateVolumeRequest | |
| 	16,  // 23: volume_server_pb.VolumeServer.VolumeSyncStatus:input_type -> volume_server_pb.VolumeSyncStatusRequest | |
| 	18,  // 24: volume_server_pb.VolumeServer.VolumeIncrementalCopy:input_type -> volume_server_pb.VolumeIncrementalCopyRequest | |
| 	20,  // 25: volume_server_pb.VolumeServer.VolumeMount:input_type -> volume_server_pb.VolumeMountRequest | |
| 	22,  // 26: volume_server_pb.VolumeServer.VolumeUnmount:input_type -> volume_server_pb.VolumeUnmountRequest | |
| 	24,  // 27: volume_server_pb.VolumeServer.VolumeDelete:input_type -> volume_server_pb.VolumeDeleteRequest | |
| 	26,  // 28: volume_server_pb.VolumeServer.VolumeMarkReadonly:input_type -> volume_server_pb.VolumeMarkReadonlyRequest | |
| 	28,  // 29: volume_server_pb.VolumeServer.VolumeMarkWritable:input_type -> volume_server_pb.VolumeMarkWritableRequest | |
| 	30,  // 30: volume_server_pb.VolumeServer.VolumeConfigure:input_type -> volume_server_pb.VolumeConfigureRequest | |
| 	32,  // 31: volume_server_pb.VolumeServer.VolumeStatus:input_type -> volume_server_pb.VolumeStatusRequest | |
| 	34,  // 32: volume_server_pb.VolumeServer.VolumeCopy:input_type -> volume_server_pb.VolumeCopyRequest | |
| 	68,  // 33: volume_server_pb.VolumeServer.ReadVolumeFileStatus:input_type -> volume_server_pb.ReadVolumeFileStatusRequest | |
| 	36,  // 34: volume_server_pb.VolumeServer.CopyFile:input_type -> volume_server_pb.CopyFileRequest | |
| 	38,  // 35: volume_server_pb.VolumeServer.ReadNeedleBlob:input_type -> volume_server_pb.ReadNeedleBlobRequest | |
| 	40,  // 36: volume_server_pb.VolumeServer.ReadNeedleMeta:input_type -> volume_server_pb.ReadNeedleMetaRequest | |
| 	42,  // 37: volume_server_pb.VolumeServer.WriteNeedleBlob:input_type -> volume_server_pb.WriteNeedleBlobRequest | |
| 	44,  // 38: volume_server_pb.VolumeServer.ReadAllNeedles:input_type -> volume_server_pb.ReadAllNeedlesRequest | |
| 	46,  // 39: volume_server_pb.VolumeServer.VolumeTailSender:input_type -> volume_server_pb.VolumeTailSenderRequest | |
| 	48,  // 40: volume_server_pb.VolumeServer.VolumeTailReceiver:input_type -> volume_server_pb.VolumeTailReceiverRequest | |
| 	50,  // 41: volume_server_pb.VolumeServer.VolumeEcShardsGenerate:input_type -> volume_server_pb.VolumeEcShardsGenerateRequest | |
| 	52,  // 42: volume_server_pb.VolumeServer.VolumeEcShardsRebuild:input_type -> volume_server_pb.VolumeEcShardsRebuildRequest | |
| 	54,  // 43: volume_server_pb.VolumeServer.VolumeEcShardsCopy:input_type -> volume_server_pb.VolumeEcShardsCopyRequest | |
| 	56,  // 44: volume_server_pb.VolumeServer.VolumeEcShardsDelete:input_type -> volume_server_pb.VolumeEcShardsDeleteRequest | |
| 	58,  // 45: volume_server_pb.VolumeServer.VolumeEcShardsMount:input_type -> volume_server_pb.VolumeEcShardsMountRequest | |
| 	60,  // 46: volume_server_pb.VolumeServer.VolumeEcShardsUnmount:input_type -> volume_server_pb.VolumeEcShardsUnmountRequest | |
| 	62,  // 47: volume_server_pb.VolumeServer.VolumeEcShardRead:input_type -> volume_server_pb.VolumeEcShardReadRequest | |
| 	64,  // 48: volume_server_pb.VolumeServer.VolumeEcBlobDelete:input_type -> volume_server_pb.VolumeEcBlobDeleteRequest | |
| 	66,  // 49: volume_server_pb.VolumeServer.VolumeEcShardsToVolume:input_type -> volume_server_pb.VolumeEcShardsToVolumeRequest | |
| 	74,  // 50: volume_server_pb.VolumeServer.VolumeTierMoveDatToRemote:input_type -> volume_server_pb.VolumeTierMoveDatToRemoteRequest | |
| 	76,  // 51: volume_server_pb.VolumeServer.VolumeTierMoveDatFromRemote:input_type -> volume_server_pb.VolumeTierMoveDatFromRemoteRequest | |
| 	78,  // 52: volume_server_pb.VolumeServer.VolumeServerStatus:input_type -> volume_server_pb.VolumeServerStatusRequest | |
| 	80,  // 53: volume_server_pb.VolumeServer.VolumeServerLeave:input_type -> volume_server_pb.VolumeServerLeaveRequest | |
| 	82,  // 54: volume_server_pb.VolumeServer.FetchAndWriteNeedle:input_type -> volume_server_pb.FetchAndWriteNeedleRequest | |
| 	84,  // 55: volume_server_pb.VolumeServer.Query:input_type -> volume_server_pb.QueryRequest | |
| 	86,  // 56: volume_server_pb.VolumeServer.VolumeNeedleStatus:input_type -> volume_server_pb.VolumeNeedleStatusRequest | |
| 	88,  // 57: volume_server_pb.VolumeServer.Ping:input_type -> volume_server_pb.PingRequest | |
| 	1,   // 58: volume_server_pb.VolumeServer.BatchDelete:output_type -> volume_server_pb.BatchDeleteResponse | |
| 	5,   // 59: volume_server_pb.VolumeServer.VacuumVolumeCheck:output_type -> volume_server_pb.VacuumVolumeCheckResponse | |
| 	7,   // 60: volume_server_pb.VolumeServer.VacuumVolumeCompact:output_type -> volume_server_pb.VacuumVolumeCompactResponse | |
| 	9,   // 61: volume_server_pb.VolumeServer.VacuumVolumeCommit:output_type -> volume_server_pb.VacuumVolumeCommitResponse | |
| 	11,  // 62: volume_server_pb.VolumeServer.VacuumVolumeCleanup:output_type -> volume_server_pb.VacuumVolumeCleanupResponse | |
| 	13,  // 63: volume_server_pb.VolumeServer.DeleteCollection:output_type -> volume_server_pb.DeleteCollectionResponse | |
| 	15,  // 64: volume_server_pb.VolumeServer.AllocateVolume:output_type -> volume_server_pb.AllocateVolumeResponse | |
| 	17,  // 65: volume_server_pb.VolumeServer.VolumeSyncStatus:output_type -> volume_server_pb.VolumeSyncStatusResponse | |
| 	19,  // 66: volume_server_pb.VolumeServer.VolumeIncrementalCopy:output_type -> volume_server_pb.VolumeIncrementalCopyResponse | |
| 	21,  // 67: volume_server_pb.VolumeServer.VolumeMount:output_type -> volume_server_pb.VolumeMountResponse | |
| 	23,  // 68: volume_server_pb.VolumeServer.VolumeUnmount:output_type -> volume_server_pb.VolumeUnmountResponse | |
| 	25,  // 69: volume_server_pb.VolumeServer.VolumeDelete:output_type -> volume_server_pb.VolumeDeleteResponse | |
| 	27,  // 70: volume_server_pb.VolumeServer.VolumeMarkReadonly:output_type -> volume_server_pb.VolumeMarkReadonlyResponse | |
| 	29,  // 71: volume_server_pb.VolumeServer.VolumeMarkWritable:output_type -> volume_server_pb.VolumeMarkWritableResponse | |
| 	31,  // 72: volume_server_pb.VolumeServer.VolumeConfigure:output_type -> volume_server_pb.VolumeConfigureResponse | |
| 	33,  // 73: volume_server_pb.VolumeServer.VolumeStatus:output_type -> volume_server_pb.VolumeStatusResponse | |
| 	35,  // 74: volume_server_pb.VolumeServer.VolumeCopy:output_type -> volume_server_pb.VolumeCopyResponse | |
| 	69,  // 75: volume_server_pb.VolumeServer.ReadVolumeFileStatus:output_type -> volume_server_pb.ReadVolumeFileStatusResponse | |
| 	37,  // 76: volume_server_pb.VolumeServer.CopyFile:output_type -> volume_server_pb.CopyFileResponse | |
| 	39,  // 77: volume_server_pb.VolumeServer.ReadNeedleBlob:output_type -> volume_server_pb.ReadNeedleBlobResponse | |
| 	41,  // 78: volume_server_pb.VolumeServer.ReadNeedleMeta:output_type -> volume_server_pb.ReadNeedleMetaResponse | |
| 	43,  // 79: volume_server_pb.VolumeServer.WriteNeedleBlob:output_type -> volume_server_pb.WriteNeedleBlobResponse | |
| 	45,  // 80: volume_server_pb.VolumeServer.ReadAllNeedles:output_type -> volume_server_pb.ReadAllNeedlesResponse | |
| 	47,  // 81: volume_server_pb.VolumeServer.VolumeTailSender:output_type -> volume_server_pb.VolumeTailSenderResponse | |
| 	49,  // 82: volume_server_pb.VolumeServer.VolumeTailReceiver:output_type -> volume_server_pb.VolumeTailReceiverResponse | |
| 	51,  // 83: volume_server_pb.VolumeServer.VolumeEcShardsGenerate:output_type -> volume_server_pb.VolumeEcShardsGenerateResponse | |
| 	53,  // 84: volume_server_pb.VolumeServer.VolumeEcShardsRebuild:output_type -> volume_server_pb.VolumeEcShardsRebuildResponse | |
| 	55,  // 85: volume_server_pb.VolumeServer.VolumeEcShardsCopy:output_type -> volume_server_pb.VolumeEcShardsCopyResponse | |
| 	57,  // 86: volume_server_pb.VolumeServer.VolumeEcShardsDelete:output_type -> volume_server_pb.VolumeEcShardsDeleteResponse | |
| 	59,  // 87: volume_server_pb.VolumeServer.VolumeEcShardsMount:output_type -> volume_server_pb.VolumeEcShardsMountResponse | |
| 	61,  // 88: volume_server_pb.VolumeServer.VolumeEcShardsUnmount:output_type -> volume_server_pb.VolumeEcShardsUnmountResponse | |
| 	63,  // 89: volume_server_pb.VolumeServer.VolumeEcShardRead:output_type -> volume_server_pb.VolumeEcShardReadResponse | |
| 	65,  // 90: volume_server_pb.VolumeServer.VolumeEcBlobDelete:output_type -> volume_server_pb.VolumeEcBlobDeleteResponse | |
| 	67,  // 91: volume_server_pb.VolumeServer.VolumeEcShardsToVolume:output_type -> volume_server_pb.VolumeEcShardsToVolumeResponse | |
| 	75,  // 92: volume_server_pb.VolumeServer.VolumeTierMoveDatToRemote:output_type -> volume_server_pb.VolumeTierMoveDatToRemoteResponse | |
| 	77,  // 93: volume_server_pb.VolumeServer.VolumeTierMoveDatFromRemote:output_type -> volume_server_pb.VolumeTierMoveDatFromRemoteResponse | |
| 	79,  // 94: volume_server_pb.VolumeServer.VolumeServerStatus:output_type -> volume_server_pb.VolumeServerStatusResponse | |
| 	81,  // 95: volume_server_pb.VolumeServer.VolumeServerLeave:output_type -> volume_server_pb.VolumeServerLeaveResponse | |
| 	83,  // 96: volume_server_pb.VolumeServer.FetchAndWriteNeedle:output_type -> volume_server_pb.FetchAndWriteNeedleResponse | |
| 	85,  // 97: volume_server_pb.VolumeServer.Query:output_type -> volume_server_pb.QueriedStripe | |
| 	87,  // 98: volume_server_pb.VolumeServer.VolumeNeedleStatus:output_type -> volume_server_pb.VolumeNeedleStatusResponse | |
| 	89,  // 99: volume_server_pb.VolumeServer.Ping:output_type -> volume_server_pb.PingResponse | |
| 	58,  // [58:100] is the sub-list for method output_type | |
| 	16,  // [16:58] is the sub-list for method input_type | |
| 	16,  // [16:16] is the sub-list for extension type_name | |
| 	16,  // [16:16] is the sub-list for extension extendee | |
| 	0,   // [0:16] 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 | |
| 	} | |
| 	if !protoimpl.UnsafeEnabled { | |
| 		file_volume_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*BatchDeleteRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*BatchDeleteResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*DeleteResult); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*Empty); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VacuumVolumeCheckRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VacuumVolumeCheckResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VacuumVolumeCompactRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VacuumVolumeCompactResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VacuumVolumeCommitRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VacuumVolumeCommitResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VacuumVolumeCleanupRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VacuumVolumeCleanupResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*DeleteCollectionRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*DeleteCollectionResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*AllocateVolumeRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*AllocateVolumeResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeSyncStatusRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeSyncStatusResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeIncrementalCopyRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeIncrementalCopyResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeMountRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeMountResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeUnmountRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeUnmountResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeDeleteRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeDeleteResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeMarkReadonlyRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeMarkReadonlyResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeMarkWritableRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeMarkWritableResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeConfigureRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeConfigureResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeStatusRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeStatusResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeCopyRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeCopyResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*CopyFileRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*CopyFileResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ReadNeedleBlobRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ReadNeedleBlobResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ReadNeedleMetaRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ReadNeedleMetaResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*WriteNeedleBlobRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*WriteNeedleBlobResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ReadAllNeedlesRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ReadAllNeedlesResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeTailSenderRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeTailSenderResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeTailReceiverRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeTailReceiverResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsGenerateRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsGenerateResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsRebuildRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsRebuildResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsCopyRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsCopyResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsDeleteRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsDeleteResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsMountRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsMountResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsUnmountRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsUnmountResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardReadRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardReadResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcBlobDeleteRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcBlobDeleteResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsToVolumeRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardsToVolumeResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ReadVolumeFileStatusRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ReadVolumeFileStatusResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*DiskStatus); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*MemStatus); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*RemoteFile); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeInfo); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeTierMoveDatToRemoteRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeTierMoveDatToRemoteResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeTierMoveDatFromRemoteRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeTierMoveDatFromRemoteResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeServerStatusRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeServerStatusResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeServerLeaveRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeServerLeaveResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*FetchAndWriteNeedleRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*FetchAndWriteNeedleResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*QueryRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*QueriedStripe); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeNeedleStatusRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeNeedleStatusResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*PingRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*PingResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*FetchAndWriteNeedleRequest_Replica); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*QueryRequest_Filter); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*QueryRequest_InputSerialization); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*QueryRequest_OutputSerialization); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*QueryRequest_InputSerialization_CSVInput); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*QueryRequest_InputSerialization_JSONInput); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*QueryRequest_InputSerialization_ParquetInput); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*QueryRequest_OutputSerialization_CSVOutput); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_volume_server_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*QueryRequest_OutputSerialization_JSONOutput); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 	} | |
| 	type x struct{} | |
| 	out := protoimpl.TypeBuilder{ | |
| 		File: protoimpl.DescBuilder{ | |
| 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | |
| 			RawDescriptor: file_volume_server_proto_rawDesc, | |
| 			NumEnums:      0, | |
| 			NumMessages:   99, | |
| 			NumExtensions: 0, | |
| 			NumServices:   1, | |
| 		}, | |
| 		GoTypes:           file_volume_server_proto_goTypes, | |
| 		DependencyIndexes: file_volume_server_proto_depIdxs, | |
| 		MessageInfos:      file_volume_server_proto_msgTypes, | |
| 	}.Build() | |
| 	File_volume_server_proto = out.File | |
| 	file_volume_server_proto_rawDesc = nil | |
| 	file_volume_server_proto_goTypes = nil | |
| 	file_volume_server_proto_depIdxs = nil | |
| }
 |