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.
		
		
		
		
		
			
		
			
				
					
					
						
							5661 lines
						
					
					
						
							206 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							5661 lines
						
					
					
						
							206 KiB
						
					
					
				| // Code generated by protoc-gen-go. DO NOT EDIT. | |
| // versions: | |
| // 	protoc-gen-go v1.31.0 | |
| // 	protoc        v4.24.4 | |
| // source: master.proto | |
|  | |
| package master_pb | |
| 
 | |
| import ( | |
| 	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 Heartbeat struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Ip         string                      `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` | |
| 	Port       uint32                      `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` | |
| 	PublicUrl  string                      `protobuf:"bytes,3,opt,name=public_url,json=publicUrl,proto3" json:"public_url,omitempty"` | |
| 	MaxFileKey uint64                      `protobuf:"varint,5,opt,name=max_file_key,json=maxFileKey,proto3" json:"max_file_key,omitempty"` | |
| 	DataCenter string                      `protobuf:"bytes,6,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"` | |
| 	Rack       string                      `protobuf:"bytes,7,opt,name=rack,proto3" json:"rack,omitempty"` | |
| 	AdminPort  uint32                      `protobuf:"varint,8,opt,name=admin_port,json=adminPort,proto3" json:"admin_port,omitempty"` | |
| 	Volumes    []*VolumeInformationMessage `protobuf:"bytes,9,rep,name=volumes,proto3" json:"volumes,omitempty"` | |
| 	// delta volumes | |
| 	NewVolumes     []*VolumeShortInformationMessage `protobuf:"bytes,10,rep,name=new_volumes,json=newVolumes,proto3" json:"new_volumes,omitempty"` | |
| 	DeletedVolumes []*VolumeShortInformationMessage `protobuf:"bytes,11,rep,name=deleted_volumes,json=deletedVolumes,proto3" json:"deleted_volumes,omitempty"` | |
| 	HasNoVolumes   bool                             `protobuf:"varint,12,opt,name=has_no_volumes,json=hasNoVolumes,proto3" json:"has_no_volumes,omitempty"` | |
| 	// erasure coding | |
| 	EcShards []*VolumeEcShardInformationMessage `protobuf:"bytes,16,rep,name=ec_shards,json=ecShards,proto3" json:"ec_shards,omitempty"` | |
| 	// delta erasure coding shards | |
| 	NewEcShards     []*VolumeEcShardInformationMessage `protobuf:"bytes,17,rep,name=new_ec_shards,json=newEcShards,proto3" json:"new_ec_shards,omitempty"` | |
| 	DeletedEcShards []*VolumeEcShardInformationMessage `protobuf:"bytes,18,rep,name=deleted_ec_shards,json=deletedEcShards,proto3" json:"deleted_ec_shards,omitempty"` | |
| 	HasNoEcShards   bool                               `protobuf:"varint,19,opt,name=has_no_ec_shards,json=hasNoEcShards,proto3" json:"has_no_ec_shards,omitempty"` | |
| 	MaxVolumeCounts map[string]uint32                  `protobuf:"bytes,4,rep,name=max_volume_counts,json=maxVolumeCounts,proto3" json:"max_volume_counts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` | |
| 	GrpcPort        uint32                             `protobuf:"varint,20,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"` | |
| 	LocationUuids   []string                           `protobuf:"bytes,21,rep,name=location_uuids,json=locationUuids,proto3" json:"location_uuids,omitempty"` | |
| } | |
| 
 | |
| func (x *Heartbeat) Reset() { | |
| 	*x = Heartbeat{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[0] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *Heartbeat) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*Heartbeat) ProtoMessage() {} | |
| 
 | |
| func (x *Heartbeat) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 Heartbeat.ProtoReflect.Descriptor instead. | |
| func (*Heartbeat) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{0} | |
| } | |
| 
 | |
| func (x *Heartbeat) GetIp() string { | |
| 	if x != nil { | |
| 		return x.Ip | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *Heartbeat) GetPort() uint32 { | |
| 	if x != nil { | |
| 		return x.Port | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *Heartbeat) GetPublicUrl() string { | |
| 	if x != nil { | |
| 		return x.PublicUrl | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *Heartbeat) GetMaxFileKey() uint64 { | |
| 	if x != nil { | |
| 		return x.MaxFileKey | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *Heartbeat) GetDataCenter() string { | |
| 	if x != nil { | |
| 		return x.DataCenter | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *Heartbeat) GetRack() string { | |
| 	if x != nil { | |
| 		return x.Rack | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *Heartbeat) GetAdminPort() uint32 { | |
| 	if x != nil { | |
| 		return x.AdminPort | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *Heartbeat) GetVolumes() []*VolumeInformationMessage { | |
| 	if x != nil { | |
| 		return x.Volumes | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *Heartbeat) GetNewVolumes() []*VolumeShortInformationMessage { | |
| 	if x != nil { | |
| 		return x.NewVolumes | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *Heartbeat) GetDeletedVolumes() []*VolumeShortInformationMessage { | |
| 	if x != nil { | |
| 		return x.DeletedVolumes | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *Heartbeat) GetHasNoVolumes() bool { | |
| 	if x != nil { | |
| 		return x.HasNoVolumes | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| func (x *Heartbeat) GetEcShards() []*VolumeEcShardInformationMessage { | |
| 	if x != nil { | |
| 		return x.EcShards | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *Heartbeat) GetNewEcShards() []*VolumeEcShardInformationMessage { | |
| 	if x != nil { | |
| 		return x.NewEcShards | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *Heartbeat) GetDeletedEcShards() []*VolumeEcShardInformationMessage { | |
| 	if x != nil { | |
| 		return x.DeletedEcShards | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *Heartbeat) GetHasNoEcShards() bool { | |
| 	if x != nil { | |
| 		return x.HasNoEcShards | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| func (x *Heartbeat) GetMaxVolumeCounts() map[string]uint32 { | |
| 	if x != nil { | |
| 		return x.MaxVolumeCounts | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *Heartbeat) GetGrpcPort() uint32 { | |
| 	if x != nil { | |
| 		return x.GrpcPort | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *Heartbeat) GetLocationUuids() []string { | |
| 	if x != nil { | |
| 		return x.LocationUuids | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type HeartbeatResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeSizeLimit        uint64            `protobuf:"varint,1,opt,name=volume_size_limit,json=volumeSizeLimit,proto3" json:"volume_size_limit,omitempty"` | |
| 	Leader                 string            `protobuf:"bytes,2,opt,name=leader,proto3" json:"leader,omitempty"` | |
| 	MetricsAddress         string            `protobuf:"bytes,3,opt,name=metrics_address,json=metricsAddress,proto3" json:"metrics_address,omitempty"` | |
| 	MetricsIntervalSeconds uint32            `protobuf:"varint,4,opt,name=metrics_interval_seconds,json=metricsIntervalSeconds,proto3" json:"metrics_interval_seconds,omitempty"` | |
| 	StorageBackends        []*StorageBackend `protobuf:"bytes,5,rep,name=storage_backends,json=storageBackends,proto3" json:"storage_backends,omitempty"` | |
| 	DuplicatedUuids        []string          `protobuf:"bytes,6,rep,name=duplicated_uuids,json=duplicatedUuids,proto3" json:"duplicated_uuids,omitempty"` | |
| } | |
| 
 | |
| func (x *HeartbeatResponse) Reset() { | |
| 	*x = HeartbeatResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[1] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *HeartbeatResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*HeartbeatResponse) ProtoMessage() {} | |
| 
 | |
| func (x *HeartbeatResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 HeartbeatResponse.ProtoReflect.Descriptor instead. | |
| func (*HeartbeatResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{1} | |
| } | |
| 
 | |
| func (x *HeartbeatResponse) GetVolumeSizeLimit() uint64 { | |
| 	if x != nil { | |
| 		return x.VolumeSizeLimit | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *HeartbeatResponse) GetLeader() string { | |
| 	if x != nil { | |
| 		return x.Leader | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *HeartbeatResponse) GetMetricsAddress() string { | |
| 	if x != nil { | |
| 		return x.MetricsAddress | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *HeartbeatResponse) GetMetricsIntervalSeconds() uint32 { | |
| 	if x != nil { | |
| 		return x.MetricsIntervalSeconds | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *HeartbeatResponse) GetStorageBackends() []*StorageBackend { | |
| 	if x != nil { | |
| 		return x.StorageBackends | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *HeartbeatResponse) GetDuplicatedUuids() []string { | |
| 	if x != nil { | |
| 		return x.DuplicatedUuids | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type VolumeInformationMessage struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Id                uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` | |
| 	Size              uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` | |
| 	Collection        string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` | |
| 	FileCount         uint64 `protobuf:"varint,4,opt,name=file_count,json=fileCount,proto3" json:"file_count,omitempty"` | |
| 	DeleteCount       uint64 `protobuf:"varint,5,opt,name=delete_count,json=deleteCount,proto3" json:"delete_count,omitempty"` | |
| 	DeletedByteCount  uint64 `protobuf:"varint,6,opt,name=deleted_byte_count,json=deletedByteCount,proto3" json:"deleted_byte_count,omitempty"` | |
| 	ReadOnly          bool   `protobuf:"varint,7,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"` | |
| 	ReplicaPlacement  uint32 `protobuf:"varint,8,opt,name=replica_placement,json=replicaPlacement,proto3" json:"replica_placement,omitempty"` | |
| 	Version           uint32 `protobuf:"varint,9,opt,name=version,proto3" json:"version,omitempty"` | |
| 	Ttl               uint32 `protobuf:"varint,10,opt,name=ttl,proto3" json:"ttl,omitempty"` | |
| 	CompactRevision   uint32 `protobuf:"varint,11,opt,name=compact_revision,json=compactRevision,proto3" json:"compact_revision,omitempty"` | |
| 	ModifiedAtSecond  int64  `protobuf:"varint,12,opt,name=modified_at_second,json=modifiedAtSecond,proto3" json:"modified_at_second,omitempty"` | |
| 	RemoteStorageName string `protobuf:"bytes,13,opt,name=remote_storage_name,json=remoteStorageName,proto3" json:"remote_storage_name,omitempty"` | |
| 	RemoteStorageKey  string `protobuf:"bytes,14,opt,name=remote_storage_key,json=remoteStorageKey,proto3" json:"remote_storage_key,omitempty"` | |
| 	DiskType          string `protobuf:"bytes,15,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) Reset() { | |
| 	*x = VolumeInformationMessage{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[2] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*VolumeInformationMessage) ProtoMessage() {} | |
| 
 | |
| func (x *VolumeInformationMessage) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 VolumeInformationMessage.ProtoReflect.Descriptor instead. | |
| func (*VolumeInformationMessage) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{2} | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetId() uint32 { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetSize() uint64 { | |
| 	if x != nil { | |
| 		return x.Size | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetCollection() string { | |
| 	if x != nil { | |
| 		return x.Collection | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetFileCount() uint64 { | |
| 	if x != nil { | |
| 		return x.FileCount | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetDeleteCount() uint64 { | |
| 	if x != nil { | |
| 		return x.DeleteCount | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetDeletedByteCount() uint64 { | |
| 	if x != nil { | |
| 		return x.DeletedByteCount | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetReadOnly() bool { | |
| 	if x != nil { | |
| 		return x.ReadOnly | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetReplicaPlacement() uint32 { | |
| 	if x != nil { | |
| 		return x.ReplicaPlacement | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetVersion() uint32 { | |
| 	if x != nil { | |
| 		return x.Version | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetTtl() uint32 { | |
| 	if x != nil { | |
| 		return x.Ttl | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetCompactRevision() uint32 { | |
| 	if x != nil { | |
| 		return x.CompactRevision | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetModifiedAtSecond() int64 { | |
| 	if x != nil { | |
| 		return x.ModifiedAtSecond | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetRemoteStorageName() string { | |
| 	if x != nil { | |
| 		return x.RemoteStorageName | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetRemoteStorageKey() string { | |
| 	if x != nil { | |
| 		return x.RemoteStorageKey | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeInformationMessage) GetDiskType() string { | |
| 	if x != nil { | |
| 		return x.DiskType | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type VolumeShortInformationMessage struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Id               uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` | |
| 	Collection       string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` | |
| 	ReplicaPlacement uint32 `protobuf:"varint,8,opt,name=replica_placement,json=replicaPlacement,proto3" json:"replica_placement,omitempty"` | |
| 	Version          uint32 `protobuf:"varint,9,opt,name=version,proto3" json:"version,omitempty"` | |
| 	Ttl              uint32 `protobuf:"varint,10,opt,name=ttl,proto3" json:"ttl,omitempty"` | |
| 	DiskType         string `protobuf:"bytes,15,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeShortInformationMessage) Reset() { | |
| 	*x = VolumeShortInformationMessage{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[3] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *VolumeShortInformationMessage) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*VolumeShortInformationMessage) ProtoMessage() {} | |
| 
 | |
| func (x *VolumeShortInformationMessage) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 VolumeShortInformationMessage.ProtoReflect.Descriptor instead. | |
| func (*VolumeShortInformationMessage) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{3} | |
| } | |
| 
 | |
| func (x *VolumeShortInformationMessage) GetId() uint32 { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeShortInformationMessage) GetCollection() string { | |
| 	if x != nil { | |
| 		return x.Collection | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeShortInformationMessage) GetReplicaPlacement() uint32 { | |
| 	if x != nil { | |
| 		return x.ReplicaPlacement | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeShortInformationMessage) GetVersion() uint32 { | |
| 	if x != nil { | |
| 		return x.Version | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeShortInformationMessage) GetTtl() uint32 { | |
| 	if x != nil { | |
| 		return x.Ttl | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeShortInformationMessage) GetDiskType() string { | |
| 	if x != nil { | |
| 		return x.DiskType | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type VolumeEcShardInformationMessage struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Id          uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` | |
| 	Collection  string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` | |
| 	EcIndexBits uint32 `protobuf:"varint,3,opt,name=ec_index_bits,json=ecIndexBits,proto3" json:"ec_index_bits,omitempty"` | |
| 	DiskType    string `protobuf:"bytes,4,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeEcShardInformationMessage) Reset() { | |
| 	*x = VolumeEcShardInformationMessage{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[4] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *VolumeEcShardInformationMessage) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*VolumeEcShardInformationMessage) ProtoMessage() {} | |
| 
 | |
| func (x *VolumeEcShardInformationMessage) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 VolumeEcShardInformationMessage.ProtoReflect.Descriptor instead. | |
| func (*VolumeEcShardInformationMessage) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{4} | |
| } | |
| 
 | |
| func (x *VolumeEcShardInformationMessage) GetId() uint32 { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeEcShardInformationMessage) GetCollection() string { | |
| 	if x != nil { | |
| 		return x.Collection | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeEcShardInformationMessage) GetEcIndexBits() uint32 { | |
| 	if x != nil { | |
| 		return x.EcIndexBits | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeEcShardInformationMessage) GetDiskType() string { | |
| 	if x != nil { | |
| 		return x.DiskType | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type StorageBackend struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Type       string            `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` | |
| 	Id         string            `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` | |
| 	Properties map[string]string `protobuf:"bytes,3,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | |
| } | |
| 
 | |
| func (x *StorageBackend) Reset() { | |
| 	*x = StorageBackend{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[5] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *StorageBackend) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*StorageBackend) ProtoMessage() {} | |
| 
 | |
| func (x *StorageBackend) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 StorageBackend.ProtoReflect.Descriptor instead. | |
| func (*StorageBackend) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{5} | |
| } | |
| 
 | |
| func (x *StorageBackend) GetType() string { | |
| 	if x != nil { | |
| 		return x.Type | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *StorageBackend) GetId() string { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *StorageBackend) GetProperties() map[string]string { | |
| 	if x != nil { | |
| 		return x.Properties | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type Empty struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *Empty) Reset() { | |
| 	*x = Empty{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[6] | |
| 		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_master_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 Empty.ProtoReflect.Descriptor instead. | |
| func (*Empty) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{6} | |
| } | |
| 
 | |
| type SuperBlockExtra struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	ErasureCoding *SuperBlockExtra_ErasureCoding `protobuf:"bytes,1,opt,name=erasure_coding,json=erasureCoding,proto3" json:"erasure_coding,omitempty"` | |
| } | |
| 
 | |
| func (x *SuperBlockExtra) Reset() { | |
| 	*x = SuperBlockExtra{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[7] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *SuperBlockExtra) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*SuperBlockExtra) ProtoMessage() {} | |
| 
 | |
| func (x *SuperBlockExtra) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 SuperBlockExtra.ProtoReflect.Descriptor instead. | |
| func (*SuperBlockExtra) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{7} | |
| } | |
| 
 | |
| func (x *SuperBlockExtra) GetErasureCoding() *SuperBlockExtra_ErasureCoding { | |
| 	if x != nil { | |
| 		return x.ErasureCoding | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type KeepConnectedRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	ClientType    string `protobuf:"bytes,1,opt,name=client_type,json=clientType,proto3" json:"client_type,omitempty"` | |
| 	ClientAddress string `protobuf:"bytes,3,opt,name=client_address,json=clientAddress,proto3" json:"client_address,omitempty"` | |
| 	Version       string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` | |
| 	FilerGroup    string `protobuf:"bytes,5,opt,name=filer_group,json=filerGroup,proto3" json:"filer_group,omitempty"` | |
| 	DataCenter    string `protobuf:"bytes,6,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"` | |
| 	Rack          string `protobuf:"bytes,7,opt,name=rack,proto3" json:"rack,omitempty"` | |
| } | |
| 
 | |
| func (x *KeepConnectedRequest) Reset() { | |
| 	*x = KeepConnectedRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[8] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *KeepConnectedRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*KeepConnectedRequest) ProtoMessage() {} | |
| 
 | |
| func (x *KeepConnectedRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 KeepConnectedRequest.ProtoReflect.Descriptor instead. | |
| func (*KeepConnectedRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{8} | |
| } | |
| 
 | |
| func (x *KeepConnectedRequest) GetClientType() string { | |
| 	if x != nil { | |
| 		return x.ClientType | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *KeepConnectedRequest) GetClientAddress() string { | |
| 	if x != nil { | |
| 		return x.ClientAddress | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *KeepConnectedRequest) GetVersion() string { | |
| 	if x != nil { | |
| 		return x.Version | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *KeepConnectedRequest) GetFilerGroup() string { | |
| 	if x != nil { | |
| 		return x.FilerGroup | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *KeepConnectedRequest) GetDataCenter() string { | |
| 	if x != nil { | |
| 		return x.DataCenter | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *KeepConnectedRequest) GetRack() string { | |
| 	if x != nil { | |
| 		return x.Rack | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type VolumeLocation 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"` | |
| 	NewVids       []uint32 `protobuf:"varint,3,rep,packed,name=new_vids,json=newVids,proto3" json:"new_vids,omitempty"` | |
| 	DeletedVids   []uint32 `protobuf:"varint,4,rep,packed,name=deleted_vids,json=deletedVids,proto3" json:"deleted_vids,omitempty"` | |
| 	Leader        string   `protobuf:"bytes,5,opt,name=leader,proto3" json:"leader,omitempty"`                           // optional when leader is not itself | |
| 	DataCenter    string   `protobuf:"bytes,6,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"` // optional when DataCenter is in use | |
| 	GrpcPort      uint32   `protobuf:"varint,7,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"` | |
| 	NewEcVids     []uint32 `protobuf:"varint,8,rep,packed,name=new_ec_vids,json=newEcVids,proto3" json:"new_ec_vids,omitempty"` | |
| 	DeletedEcVids []uint32 `protobuf:"varint,9,rep,packed,name=deleted_ec_vids,json=deletedEcVids,proto3" json:"deleted_ec_vids,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeLocation) Reset() { | |
| 	*x = VolumeLocation{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[9] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *VolumeLocation) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*VolumeLocation) ProtoMessage() {} | |
| 
 | |
| func (x *VolumeLocation) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 VolumeLocation.ProtoReflect.Descriptor instead. | |
| func (*VolumeLocation) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{9} | |
| } | |
| 
 | |
| func (x *VolumeLocation) GetUrl() string { | |
| 	if x != nil { | |
| 		return x.Url | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeLocation) GetPublicUrl() string { | |
| 	if x != nil { | |
| 		return x.PublicUrl | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeLocation) GetNewVids() []uint32 { | |
| 	if x != nil { | |
| 		return x.NewVids | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *VolumeLocation) GetDeletedVids() []uint32 { | |
| 	if x != nil { | |
| 		return x.DeletedVids | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *VolumeLocation) GetLeader() string { | |
| 	if x != nil { | |
| 		return x.Leader | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeLocation) GetDataCenter() string { | |
| 	if x != nil { | |
| 		return x.DataCenter | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeLocation) GetGrpcPort() uint32 { | |
| 	if x != nil { | |
| 		return x.GrpcPort | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeLocation) GetNewEcVids() []uint32 { | |
| 	if x != nil { | |
| 		return x.NewEcVids | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *VolumeLocation) GetDeletedEcVids() []uint32 { | |
| 	if x != nil { | |
| 		return x.DeletedEcVids | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type ClusterNodeUpdate struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	NodeType    string `protobuf:"bytes,1,opt,name=node_type,json=nodeType,proto3" json:"node_type,omitempty"` | |
| 	Address     string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` | |
| 	IsAdd       bool   `protobuf:"varint,4,opt,name=is_add,json=isAdd,proto3" json:"is_add,omitempty"` | |
| 	FilerGroup  string `protobuf:"bytes,5,opt,name=filer_group,json=filerGroup,proto3" json:"filer_group,omitempty"` | |
| 	CreatedAtNs int64  `protobuf:"varint,6,opt,name=created_at_ns,json=createdAtNs,proto3" json:"created_at_ns,omitempty"` | |
| } | |
| 
 | |
| func (x *ClusterNodeUpdate) Reset() { | |
| 	*x = ClusterNodeUpdate{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[10] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *ClusterNodeUpdate) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*ClusterNodeUpdate) ProtoMessage() {} | |
| 
 | |
| func (x *ClusterNodeUpdate) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 ClusterNodeUpdate.ProtoReflect.Descriptor instead. | |
| func (*ClusterNodeUpdate) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{10} | |
| } | |
| 
 | |
| func (x *ClusterNodeUpdate) GetNodeType() string { | |
| 	if x != nil { | |
| 		return x.NodeType | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *ClusterNodeUpdate) GetAddress() string { | |
| 	if x != nil { | |
| 		return x.Address | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *ClusterNodeUpdate) GetIsAdd() bool { | |
| 	if x != nil { | |
| 		return x.IsAdd | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| func (x *ClusterNodeUpdate) GetFilerGroup() string { | |
| 	if x != nil { | |
| 		return x.FilerGroup | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *ClusterNodeUpdate) GetCreatedAtNs() int64 { | |
| 	if x != nil { | |
| 		return x.CreatedAtNs | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type KeepConnectedResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeLocation    *VolumeLocation    `protobuf:"bytes,1,opt,name=volume_location,json=volumeLocation,proto3" json:"volume_location,omitempty"` | |
| 	ClusterNodeUpdate *ClusterNodeUpdate `protobuf:"bytes,2,opt,name=cluster_node_update,json=clusterNodeUpdate,proto3" json:"cluster_node_update,omitempty"` | |
| } | |
| 
 | |
| func (x *KeepConnectedResponse) Reset() { | |
| 	*x = KeepConnectedResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[11] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *KeepConnectedResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*KeepConnectedResponse) ProtoMessage() {} | |
| 
 | |
| func (x *KeepConnectedResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 KeepConnectedResponse.ProtoReflect.Descriptor instead. | |
| func (*KeepConnectedResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{11} | |
| } | |
| 
 | |
| func (x *KeepConnectedResponse) GetVolumeLocation() *VolumeLocation { | |
| 	if x != nil { | |
| 		return x.VolumeLocation | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *KeepConnectedResponse) GetClusterNodeUpdate() *ClusterNodeUpdate { | |
| 	if x != nil { | |
| 		return x.ClusterNodeUpdate | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type LookupVolumeRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeOrFileIds []string `protobuf:"bytes,1,rep,name=volume_or_file_ids,json=volumeOrFileIds,proto3" json:"volume_or_file_ids,omitempty"` | |
| 	Collection      string   `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` // optional, a bit faster if provided. | |
| } | |
| 
 | |
| func (x *LookupVolumeRequest) Reset() { | |
| 	*x = LookupVolumeRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[12] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *LookupVolumeRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*LookupVolumeRequest) ProtoMessage() {} | |
| 
 | |
| func (x *LookupVolumeRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 LookupVolumeRequest.ProtoReflect.Descriptor instead. | |
| func (*LookupVolumeRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{12} | |
| } | |
| 
 | |
| func (x *LookupVolumeRequest) GetVolumeOrFileIds() []string { | |
| 	if x != nil { | |
| 		return x.VolumeOrFileIds | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *LookupVolumeRequest) GetCollection() string { | |
| 	if x != nil { | |
| 		return x.Collection | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type LookupVolumeResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeIdLocations []*LookupVolumeResponse_VolumeIdLocation `protobuf:"bytes,1,rep,name=volume_id_locations,json=volumeIdLocations,proto3" json:"volume_id_locations,omitempty"` | |
| } | |
| 
 | |
| func (x *LookupVolumeResponse) Reset() { | |
| 	*x = LookupVolumeResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[13] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *LookupVolumeResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*LookupVolumeResponse) ProtoMessage() {} | |
| 
 | |
| func (x *LookupVolumeResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 LookupVolumeResponse.ProtoReflect.Descriptor instead. | |
| func (*LookupVolumeResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{13} | |
| } | |
| 
 | |
| func (x *LookupVolumeResponse) GetVolumeIdLocations() []*LookupVolumeResponse_VolumeIdLocation { | |
| 	if x != nil { | |
| 		return x.VolumeIdLocations | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type Location 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   uint32 `protobuf:"varint,3,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"` | |
| 	DataCenter string `protobuf:"bytes,4,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"` | |
| } | |
| 
 | |
| func (x *Location) Reset() { | |
| 	*x = Location{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[14] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *Location) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*Location) ProtoMessage() {} | |
| 
 | |
| func (x *Location) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 Location.ProtoReflect.Descriptor instead. | |
| func (*Location) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{14} | |
| } | |
| 
 | |
| func (x *Location) GetUrl() string { | |
| 	if x != nil { | |
| 		return x.Url | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *Location) GetPublicUrl() string { | |
| 	if x != nil { | |
| 		return x.PublicUrl | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *Location) GetGrpcPort() uint32 { | |
| 	if x != nil { | |
| 		return x.GrpcPort | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *Location) GetDataCenter() string { | |
| 	if x != nil { | |
| 		return x.DataCenter | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type AssignRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Count               uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` | |
| 	Replication         string `protobuf:"bytes,2,opt,name=replication,proto3" json:"replication,omitempty"` | |
| 	Collection          string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` | |
| 	Ttl                 string `protobuf:"bytes,4,opt,name=ttl,proto3" json:"ttl,omitempty"` | |
| 	DataCenter          string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"` | |
| 	Rack                string `protobuf:"bytes,6,opt,name=rack,proto3" json:"rack,omitempty"` | |
| 	DataNode            string `protobuf:"bytes,7,opt,name=data_node,json=dataNode,proto3" json:"data_node,omitempty"` | |
| 	MemoryMapMaxSizeMb  uint32 `protobuf:"varint,8,opt,name=memory_map_max_size_mb,json=memoryMapMaxSizeMb,proto3" json:"memory_map_max_size_mb,omitempty"` | |
| 	WritableVolumeCount uint32 `protobuf:"varint,9,opt,name=Writable_volume_count,json=WritableVolumeCount,proto3" json:"Writable_volume_count,omitempty"` | |
| 	DiskType            string `protobuf:"bytes,10,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"` | |
| } | |
| 
 | |
| func (x *AssignRequest) Reset() { | |
| 	*x = AssignRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[15] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *AssignRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*AssignRequest) ProtoMessage() {} | |
| 
 | |
| func (x *AssignRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 AssignRequest.ProtoReflect.Descriptor instead. | |
| func (*AssignRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{15} | |
| } | |
| 
 | |
| func (x *AssignRequest) GetCount() uint64 { | |
| 	if x != nil { | |
| 		return x.Count | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *AssignRequest) GetReplication() string { | |
| 	if x != nil { | |
| 		return x.Replication | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *AssignRequest) GetCollection() string { | |
| 	if x != nil { | |
| 		return x.Collection | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *AssignRequest) GetTtl() string { | |
| 	if x != nil { | |
| 		return x.Ttl | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *AssignRequest) GetDataCenter() string { | |
| 	if x != nil { | |
| 		return x.DataCenter | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *AssignRequest) GetRack() string { | |
| 	if x != nil { | |
| 		return x.Rack | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *AssignRequest) GetDataNode() string { | |
| 	if x != nil { | |
| 		return x.DataNode | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *AssignRequest) GetMemoryMapMaxSizeMb() uint32 { | |
| 	if x != nil { | |
| 		return x.MemoryMapMaxSizeMb | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *AssignRequest) GetWritableVolumeCount() uint32 { | |
| 	if x != nil { | |
| 		return x.WritableVolumeCount | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *AssignRequest) GetDiskType() string { | |
| 	if x != nil { | |
| 		return x.DiskType | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type AssignResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Fid      string      `protobuf:"bytes,1,opt,name=fid,proto3" json:"fid,omitempty"` | |
| 	Count    uint64      `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"` | |
| 	Error    string      `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` | |
| 	Auth     string      `protobuf:"bytes,6,opt,name=auth,proto3" json:"auth,omitempty"` | |
| 	Replicas []*Location `protobuf:"bytes,7,rep,name=replicas,proto3" json:"replicas,omitempty"` | |
| 	Location *Location   `protobuf:"bytes,8,opt,name=location,proto3" json:"location,omitempty"` | |
| } | |
| 
 | |
| func (x *AssignResponse) Reset() { | |
| 	*x = AssignResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[16] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *AssignResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*AssignResponse) ProtoMessage() {} | |
| 
 | |
| func (x *AssignResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 AssignResponse.ProtoReflect.Descriptor instead. | |
| func (*AssignResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{16} | |
| } | |
| 
 | |
| func (x *AssignResponse) GetFid() string { | |
| 	if x != nil { | |
| 		return x.Fid | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *AssignResponse) GetCount() uint64 { | |
| 	if x != nil { | |
| 		return x.Count | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *AssignResponse) GetError() string { | |
| 	if x != nil { | |
| 		return x.Error | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *AssignResponse) GetAuth() string { | |
| 	if x != nil { | |
| 		return x.Auth | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *AssignResponse) GetReplicas() []*Location { | |
| 	if x != nil { | |
| 		return x.Replicas | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *AssignResponse) GetLocation() *Location { | |
| 	if x != nil { | |
| 		return x.Location | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type StatisticsRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Replication string `protobuf:"bytes,1,opt,name=replication,proto3" json:"replication,omitempty"` | |
| 	Collection  string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` | |
| 	Ttl         string `protobuf:"bytes,3,opt,name=ttl,proto3" json:"ttl,omitempty"` | |
| 	DiskType    string `protobuf:"bytes,4,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"` | |
| } | |
| 
 | |
| func (x *StatisticsRequest) Reset() { | |
| 	*x = StatisticsRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[17] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *StatisticsRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*StatisticsRequest) ProtoMessage() {} | |
| 
 | |
| func (x *StatisticsRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 StatisticsRequest.ProtoReflect.Descriptor instead. | |
| func (*StatisticsRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{17} | |
| } | |
| 
 | |
| func (x *StatisticsRequest) GetReplication() string { | |
| 	if x != nil { | |
| 		return x.Replication | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *StatisticsRequest) GetCollection() string { | |
| 	if x != nil { | |
| 		return x.Collection | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *StatisticsRequest) GetTtl() string { | |
| 	if x != nil { | |
| 		return x.Ttl | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *StatisticsRequest) GetDiskType() string { | |
| 	if x != nil { | |
| 		return x.DiskType | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type StatisticsResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	TotalSize uint64 `protobuf:"varint,4,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"` | |
| 	UsedSize  uint64 `protobuf:"varint,5,opt,name=used_size,json=usedSize,proto3" json:"used_size,omitempty"` | |
| 	FileCount uint64 `protobuf:"varint,6,opt,name=file_count,json=fileCount,proto3" json:"file_count,omitempty"` | |
| } | |
| 
 | |
| func (x *StatisticsResponse) Reset() { | |
| 	*x = StatisticsResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[18] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *StatisticsResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*StatisticsResponse) ProtoMessage() {} | |
| 
 | |
| func (x *StatisticsResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 StatisticsResponse.ProtoReflect.Descriptor instead. | |
| func (*StatisticsResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{18} | |
| } | |
| 
 | |
| func (x *StatisticsResponse) GetTotalSize() uint64 { | |
| 	if x != nil { | |
| 		return x.TotalSize | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *StatisticsResponse) GetUsedSize() uint64 { | |
| 	if x != nil { | |
| 		return x.UsedSize | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *StatisticsResponse) GetFileCount() uint64 { | |
| 	if x != nil { | |
| 		return x.FileCount | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| // collection related | |
| type Collection struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` | |
| } | |
| 
 | |
| func (x *Collection) Reset() { | |
| 	*x = Collection{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[19] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *Collection) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*Collection) ProtoMessage() {} | |
| 
 | |
| func (x *Collection) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 Collection.ProtoReflect.Descriptor instead. | |
| func (*Collection) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{19} | |
| } | |
| 
 | |
| func (x *Collection) GetName() string { | |
| 	if x != nil { | |
| 		return x.Name | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type CollectionListRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	IncludeNormalVolumes bool `protobuf:"varint,1,opt,name=include_normal_volumes,json=includeNormalVolumes,proto3" json:"include_normal_volumes,omitempty"` | |
| 	IncludeEcVolumes     bool `protobuf:"varint,2,opt,name=include_ec_volumes,json=includeEcVolumes,proto3" json:"include_ec_volumes,omitempty"` | |
| } | |
| 
 | |
| func (x *CollectionListRequest) Reset() { | |
| 	*x = CollectionListRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[20] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *CollectionListRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*CollectionListRequest) ProtoMessage() {} | |
| 
 | |
| func (x *CollectionListRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 CollectionListRequest.ProtoReflect.Descriptor instead. | |
| func (*CollectionListRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{20} | |
| } | |
| 
 | |
| func (x *CollectionListRequest) GetIncludeNormalVolumes() bool { | |
| 	if x != nil { | |
| 		return x.IncludeNormalVolumes | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| func (x *CollectionListRequest) GetIncludeEcVolumes() bool { | |
| 	if x != nil { | |
| 		return x.IncludeEcVolumes | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| type CollectionListResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Collections []*Collection `protobuf:"bytes,1,rep,name=collections,proto3" json:"collections,omitempty"` | |
| } | |
| 
 | |
| func (x *CollectionListResponse) Reset() { | |
| 	*x = CollectionListResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[21] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *CollectionListResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*CollectionListResponse) ProtoMessage() {} | |
| 
 | |
| func (x *CollectionListResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 CollectionListResponse.ProtoReflect.Descriptor instead. | |
| func (*CollectionListResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{21} | |
| } | |
| 
 | |
| func (x *CollectionListResponse) GetCollections() []*Collection { | |
| 	if x != nil { | |
| 		return x.Collections | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type CollectionDeleteRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` | |
| } | |
| 
 | |
| func (x *CollectionDeleteRequest) Reset() { | |
| 	*x = CollectionDeleteRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[22] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *CollectionDeleteRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*CollectionDeleteRequest) ProtoMessage() {} | |
| 
 | |
| func (x *CollectionDeleteRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 CollectionDeleteRequest.ProtoReflect.Descriptor instead. | |
| func (*CollectionDeleteRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{22} | |
| } | |
| 
 | |
| func (x *CollectionDeleteRequest) GetName() string { | |
| 	if x != nil { | |
| 		return x.Name | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type CollectionDeleteResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *CollectionDeleteResponse) Reset() { | |
| 	*x = CollectionDeleteResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[23] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *CollectionDeleteResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*CollectionDeleteResponse) ProtoMessage() {} | |
| 
 | |
| func (x *CollectionDeleteResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 CollectionDeleteResponse.ProtoReflect.Descriptor instead. | |
| func (*CollectionDeleteResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{23} | |
| } | |
| 
 | |
| // volume related | |
| type DiskInfo struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Type              string                             `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` | |
| 	VolumeCount       int64                              `protobuf:"varint,2,opt,name=volume_count,json=volumeCount,proto3" json:"volume_count,omitempty"` | |
| 	MaxVolumeCount    int64                              `protobuf:"varint,3,opt,name=max_volume_count,json=maxVolumeCount,proto3" json:"max_volume_count,omitempty"` | |
| 	FreeVolumeCount   int64                              `protobuf:"varint,4,opt,name=free_volume_count,json=freeVolumeCount,proto3" json:"free_volume_count,omitempty"` | |
| 	ActiveVolumeCount int64                              `protobuf:"varint,5,opt,name=active_volume_count,json=activeVolumeCount,proto3" json:"active_volume_count,omitempty"` | |
| 	VolumeInfos       []*VolumeInformationMessage        `protobuf:"bytes,6,rep,name=volume_infos,json=volumeInfos,proto3" json:"volume_infos,omitempty"` | |
| 	EcShardInfos      []*VolumeEcShardInformationMessage `protobuf:"bytes,7,rep,name=ec_shard_infos,json=ecShardInfos,proto3" json:"ec_shard_infos,omitempty"` | |
| 	RemoteVolumeCount int64                              `protobuf:"varint,8,opt,name=remote_volume_count,json=remoteVolumeCount,proto3" json:"remote_volume_count,omitempty"` | |
| } | |
| 
 | |
| func (x *DiskInfo) Reset() { | |
| 	*x = DiskInfo{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[24] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *DiskInfo) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*DiskInfo) ProtoMessage() {} | |
| 
 | |
| func (x *DiskInfo) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 DiskInfo.ProtoReflect.Descriptor instead. | |
| func (*DiskInfo) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{24} | |
| } | |
| 
 | |
| func (x *DiskInfo) GetType() string { | |
| 	if x != nil { | |
| 		return x.Type | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *DiskInfo) GetVolumeCount() int64 { | |
| 	if x != nil { | |
| 		return x.VolumeCount | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *DiskInfo) GetMaxVolumeCount() int64 { | |
| 	if x != nil { | |
| 		return x.MaxVolumeCount | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *DiskInfo) GetFreeVolumeCount() int64 { | |
| 	if x != nil { | |
| 		return x.FreeVolumeCount | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *DiskInfo) GetActiveVolumeCount() int64 { | |
| 	if x != nil { | |
| 		return x.ActiveVolumeCount | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *DiskInfo) GetVolumeInfos() []*VolumeInformationMessage { | |
| 	if x != nil { | |
| 		return x.VolumeInfos | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *DiskInfo) GetEcShardInfos() []*VolumeEcShardInformationMessage { | |
| 	if x != nil { | |
| 		return x.EcShardInfos | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *DiskInfo) GetRemoteVolumeCount() int64 { | |
| 	if x != nil { | |
| 		return x.RemoteVolumeCount | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type DataNodeInfo struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Id        string               `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | |
| 	DiskInfos map[string]*DiskInfo `protobuf:"bytes,2,rep,name=diskInfos,proto3" json:"diskInfos,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | |
| 	GrpcPort  uint32               `protobuf:"varint,3,opt,name=grpc_port,json=grpcPort,proto3" json:"grpc_port,omitempty"` | |
| } | |
| 
 | |
| func (x *DataNodeInfo) Reset() { | |
| 	*x = DataNodeInfo{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[25] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *DataNodeInfo) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*DataNodeInfo) ProtoMessage() {} | |
| 
 | |
| func (x *DataNodeInfo) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 DataNodeInfo.ProtoReflect.Descriptor instead. | |
| func (*DataNodeInfo) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{25} | |
| } | |
| 
 | |
| func (x *DataNodeInfo) GetId() string { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *DataNodeInfo) GetDiskInfos() map[string]*DiskInfo { | |
| 	if x != nil { | |
| 		return x.DiskInfos | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *DataNodeInfo) GetGrpcPort() uint32 { | |
| 	if x != nil { | |
| 		return x.GrpcPort | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type RackInfo struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Id            string               `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | |
| 	DataNodeInfos []*DataNodeInfo      `protobuf:"bytes,2,rep,name=data_node_infos,json=dataNodeInfos,proto3" json:"data_node_infos,omitempty"` | |
| 	DiskInfos     map[string]*DiskInfo `protobuf:"bytes,3,rep,name=diskInfos,proto3" json:"diskInfos,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | |
| } | |
| 
 | |
| func (x *RackInfo) Reset() { | |
| 	*x = RackInfo{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[26] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *RackInfo) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*RackInfo) ProtoMessage() {} | |
| 
 | |
| func (x *RackInfo) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 RackInfo.ProtoReflect.Descriptor instead. | |
| func (*RackInfo) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{26} | |
| } | |
| 
 | |
| func (x *RackInfo) GetId() string { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *RackInfo) GetDataNodeInfos() []*DataNodeInfo { | |
| 	if x != nil { | |
| 		return x.DataNodeInfos | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *RackInfo) GetDiskInfos() map[string]*DiskInfo { | |
| 	if x != nil { | |
| 		return x.DiskInfos | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type DataCenterInfo struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Id        string               `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | |
| 	RackInfos []*RackInfo          `protobuf:"bytes,2,rep,name=rack_infos,json=rackInfos,proto3" json:"rack_infos,omitempty"` | |
| 	DiskInfos map[string]*DiskInfo `protobuf:"bytes,3,rep,name=diskInfos,proto3" json:"diskInfos,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | |
| } | |
| 
 | |
| func (x *DataCenterInfo) Reset() { | |
| 	*x = DataCenterInfo{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[27] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *DataCenterInfo) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*DataCenterInfo) ProtoMessage() {} | |
| 
 | |
| func (x *DataCenterInfo) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 DataCenterInfo.ProtoReflect.Descriptor instead. | |
| func (*DataCenterInfo) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{27} | |
| } | |
| 
 | |
| func (x *DataCenterInfo) GetId() string { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *DataCenterInfo) GetRackInfos() []*RackInfo { | |
| 	if x != nil { | |
| 		return x.RackInfos | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *DataCenterInfo) GetDiskInfos() map[string]*DiskInfo { | |
| 	if x != nil { | |
| 		return x.DiskInfos | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type TopologyInfo struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Id              string               `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | |
| 	DataCenterInfos []*DataCenterInfo    `protobuf:"bytes,2,rep,name=data_center_infos,json=dataCenterInfos,proto3" json:"data_center_infos,omitempty"` | |
| 	DiskInfos       map[string]*DiskInfo `protobuf:"bytes,3,rep,name=diskInfos,proto3" json:"diskInfos,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` | |
| } | |
| 
 | |
| func (x *TopologyInfo) Reset() { | |
| 	*x = TopologyInfo{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[28] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *TopologyInfo) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*TopologyInfo) ProtoMessage() {} | |
| 
 | |
| func (x *TopologyInfo) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 TopologyInfo.ProtoReflect.Descriptor instead. | |
| func (*TopologyInfo) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{28} | |
| } | |
| 
 | |
| func (x *TopologyInfo) GetId() string { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *TopologyInfo) GetDataCenterInfos() []*DataCenterInfo { | |
| 	if x != nil { | |
| 		return x.DataCenterInfos | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *TopologyInfo) GetDiskInfos() map[string]*DiskInfo { | |
| 	if x != nil { | |
| 		return x.DiskInfos | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type VolumeListRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeListRequest) Reset() { | |
| 	*x = VolumeListRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[29] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *VolumeListRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*VolumeListRequest) ProtoMessage() {} | |
| 
 | |
| func (x *VolumeListRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 VolumeListRequest.ProtoReflect.Descriptor instead. | |
| func (*VolumeListRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{29} | |
| } | |
| 
 | |
| type VolumeListResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	TopologyInfo      *TopologyInfo `protobuf:"bytes,1,opt,name=topology_info,json=topologyInfo,proto3" json:"topology_info,omitempty"` | |
| 	VolumeSizeLimitMb uint64        `protobuf:"varint,2,opt,name=volume_size_limit_mb,json=volumeSizeLimitMb,proto3" json:"volume_size_limit_mb,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeListResponse) Reset() { | |
| 	*x = VolumeListResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[30] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *VolumeListResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*VolumeListResponse) ProtoMessage() {} | |
| 
 | |
| func (x *VolumeListResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 VolumeListResponse.ProtoReflect.Descriptor instead. | |
| func (*VolumeListResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{30} | |
| } | |
| 
 | |
| func (x *VolumeListResponse) GetTopologyInfo() *TopologyInfo { | |
| 	if x != nil { | |
| 		return x.TopologyInfo | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *VolumeListResponse) GetVolumeSizeLimitMb() uint64 { | |
| 	if x != nil { | |
| 		return x.VolumeSizeLimitMb | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type LookupEcVolumeRequest 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 *LookupEcVolumeRequest) Reset() { | |
| 	*x = LookupEcVolumeRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[31] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *LookupEcVolumeRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*LookupEcVolumeRequest) ProtoMessage() {} | |
| 
 | |
| func (x *LookupEcVolumeRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 LookupEcVolumeRequest.ProtoReflect.Descriptor instead. | |
| func (*LookupEcVolumeRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{31} | |
| } | |
| 
 | |
| func (x *LookupEcVolumeRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type LookupEcVolumeResponse 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"` | |
| 	ShardIdLocations []*LookupEcVolumeResponse_EcShardIdLocation `protobuf:"bytes,2,rep,name=shard_id_locations,json=shardIdLocations,proto3" json:"shard_id_locations,omitempty"` | |
| } | |
| 
 | |
| func (x *LookupEcVolumeResponse) Reset() { | |
| 	*x = LookupEcVolumeResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[32] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *LookupEcVolumeResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*LookupEcVolumeResponse) ProtoMessage() {} | |
| 
 | |
| func (x *LookupEcVolumeResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 LookupEcVolumeResponse.ProtoReflect.Descriptor instead. | |
| func (*LookupEcVolumeResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{32} | |
| } | |
| 
 | |
| func (x *LookupEcVolumeResponse) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *LookupEcVolumeResponse) GetShardIdLocations() []*LookupEcVolumeResponse_EcShardIdLocation { | |
| 	if x != nil { | |
| 		return x.ShardIdLocations | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type VacuumVolumeRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	GarbageThreshold float32 `protobuf:"fixed32,1,opt,name=garbage_threshold,json=garbageThreshold,proto3" json:"garbage_threshold,omitempty"` | |
| 	VolumeId         uint32  `protobuf:"varint,2,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| 	Collection       string  `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` | |
| } | |
| 
 | |
| func (x *VacuumVolumeRequest) Reset() { | |
| 	*x = VacuumVolumeRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[33] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *VacuumVolumeRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*VacuumVolumeRequest) ProtoMessage() {} | |
| 
 | |
| func (x *VacuumVolumeRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 VacuumVolumeRequest.ProtoReflect.Descriptor instead. | |
| func (*VacuumVolumeRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{33} | |
| } | |
| 
 | |
| func (x *VacuumVolumeRequest) GetGarbageThreshold() float32 { | |
| 	if x != nil { | |
| 		return x.GarbageThreshold | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VacuumVolumeRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VacuumVolumeRequest) GetCollection() string { | |
| 	if x != nil { | |
| 		return x.Collection | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type VacuumVolumeResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VacuumVolumeResponse) Reset() { | |
| 	*x = VacuumVolumeResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[34] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *VacuumVolumeResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*VacuumVolumeResponse) ProtoMessage() {} | |
| 
 | |
| func (x *VacuumVolumeResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 VacuumVolumeResponse.ProtoReflect.Descriptor instead. | |
| func (*VacuumVolumeResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{34} | |
| } | |
| 
 | |
| type DisableVacuumRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *DisableVacuumRequest) Reset() { | |
| 	*x = DisableVacuumRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[35] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *DisableVacuumRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*DisableVacuumRequest) ProtoMessage() {} | |
| 
 | |
| func (x *DisableVacuumRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 DisableVacuumRequest.ProtoReflect.Descriptor instead. | |
| func (*DisableVacuumRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{35} | |
| } | |
| 
 | |
| type DisableVacuumResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *DisableVacuumResponse) Reset() { | |
| 	*x = DisableVacuumResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[36] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *DisableVacuumResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*DisableVacuumResponse) ProtoMessage() {} | |
| 
 | |
| func (x *DisableVacuumResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 DisableVacuumResponse.ProtoReflect.Descriptor instead. | |
| func (*DisableVacuumResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{36} | |
| } | |
| 
 | |
| type EnableVacuumRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *EnableVacuumRequest) Reset() { | |
| 	*x = EnableVacuumRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[37] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *EnableVacuumRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*EnableVacuumRequest) ProtoMessage() {} | |
| 
 | |
| func (x *EnableVacuumRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 EnableVacuumRequest.ProtoReflect.Descriptor instead. | |
| func (*EnableVacuumRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{37} | |
| } | |
| 
 | |
| type EnableVacuumResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *EnableVacuumResponse) Reset() { | |
| 	*x = EnableVacuumResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[38] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *EnableVacuumResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*EnableVacuumResponse) ProtoMessage() {} | |
| 
 | |
| func (x *EnableVacuumResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 EnableVacuumResponse.ProtoReflect.Descriptor instead. | |
| func (*EnableVacuumResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{38} | |
| } | |
| 
 | |
| type VolumeMarkReadonlyRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Ip               string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` | |
| 	Port             uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` | |
| 	VolumeId         uint32 `protobuf:"varint,4,opt,name=volume_id,json=volumeId,proto3" json:"volume_id,omitempty"` | |
| 	Collection       string `protobuf:"bytes,5,opt,name=collection,proto3" json:"collection,omitempty"` | |
| 	ReplicaPlacement uint32 `protobuf:"varint,6,opt,name=replica_placement,json=replicaPlacement,proto3" json:"replica_placement,omitempty"` | |
| 	Version          uint32 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty"` | |
| 	Ttl              uint32 `protobuf:"varint,8,opt,name=ttl,proto3" json:"ttl,omitempty"` | |
| 	DiskType         string `protobuf:"bytes,9,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"` | |
| 	IsReadonly       bool   `protobuf:"varint,10,opt,name=is_readonly,json=isReadonly,proto3" json:"is_readonly,omitempty"` | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) Reset() { | |
| 	*x = VolumeMarkReadonlyRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[39] | |
| 		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_master_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 VolumeMarkReadonlyRequest.ProtoReflect.Descriptor instead. | |
| func (*VolumeMarkReadonlyRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{39} | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) GetIp() string { | |
| 	if x != nil { | |
| 		return x.Ip | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) GetPort() uint32 { | |
| 	if x != nil { | |
| 		return x.Port | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) GetVolumeId() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) GetCollection() string { | |
| 	if x != nil { | |
| 		return x.Collection | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) GetReplicaPlacement() uint32 { | |
| 	if x != nil { | |
| 		return x.ReplicaPlacement | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) GetVersion() uint32 { | |
| 	if x != nil { | |
| 		return x.Version | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) GetTtl() uint32 { | |
| 	if x != nil { | |
| 		return x.Ttl | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) GetDiskType() string { | |
| 	if x != nil { | |
| 		return x.DiskType | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyRequest) GetIsReadonly() bool { | |
| 	if x != nil { | |
| 		return x.IsReadonly | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| type VolumeMarkReadonlyResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *VolumeMarkReadonlyResponse) Reset() { | |
| 	*x = VolumeMarkReadonlyResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[40] | |
| 		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_master_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 VolumeMarkReadonlyResponse.ProtoReflect.Descriptor instead. | |
| func (*VolumeMarkReadonlyResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{40} | |
| } | |
| 
 | |
| type GetMasterConfigurationRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationRequest) Reset() { | |
| 	*x = GetMasterConfigurationRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[41] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*GetMasterConfigurationRequest) ProtoMessage() {} | |
| 
 | |
| func (x *GetMasterConfigurationRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 GetMasterConfigurationRequest.ProtoReflect.Descriptor instead. | |
| func (*GetMasterConfigurationRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{41} | |
| } | |
| 
 | |
| type GetMasterConfigurationResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	MetricsAddress         string            `protobuf:"bytes,1,opt,name=metrics_address,json=metricsAddress,proto3" json:"metrics_address,omitempty"` | |
| 	MetricsIntervalSeconds uint32            `protobuf:"varint,2,opt,name=metrics_interval_seconds,json=metricsIntervalSeconds,proto3" json:"metrics_interval_seconds,omitempty"` | |
| 	StorageBackends        []*StorageBackend `protobuf:"bytes,3,rep,name=storage_backends,json=storageBackends,proto3" json:"storage_backends,omitempty"` | |
| 	DefaultReplication     string            `protobuf:"bytes,4,opt,name=default_replication,json=defaultReplication,proto3" json:"default_replication,omitempty"` | |
| 	Leader                 string            `protobuf:"bytes,5,opt,name=leader,proto3" json:"leader,omitempty"` | |
| 	VolumeSizeLimitMB      uint32            `protobuf:"varint,6,opt,name=volume_size_limit_m_b,json=volumeSizeLimitMB,proto3" json:"volume_size_limit_m_b,omitempty"` | |
| 	VolumePreallocate      bool              `protobuf:"varint,7,opt,name=volume_preallocate,json=volumePreallocate,proto3" json:"volume_preallocate,omitempty"` | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationResponse) Reset() { | |
| 	*x = GetMasterConfigurationResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[42] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*GetMasterConfigurationResponse) ProtoMessage() {} | |
| 
 | |
| func (x *GetMasterConfigurationResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 GetMasterConfigurationResponse.ProtoReflect.Descriptor instead. | |
| func (*GetMasterConfigurationResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{42} | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationResponse) GetMetricsAddress() string { | |
| 	if x != nil { | |
| 		return x.MetricsAddress | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationResponse) GetMetricsIntervalSeconds() uint32 { | |
| 	if x != nil { | |
| 		return x.MetricsIntervalSeconds | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationResponse) GetStorageBackends() []*StorageBackend { | |
| 	if x != nil { | |
| 		return x.StorageBackends | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationResponse) GetDefaultReplication() string { | |
| 	if x != nil { | |
| 		return x.DefaultReplication | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationResponse) GetLeader() string { | |
| 	if x != nil { | |
| 		return x.Leader | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationResponse) GetVolumeSizeLimitMB() uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeSizeLimitMB | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *GetMasterConfigurationResponse) GetVolumePreallocate() bool { | |
| 	if x != nil { | |
| 		return x.VolumePreallocate | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| type ListClusterNodesRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	ClientType string `protobuf:"bytes,1,opt,name=client_type,json=clientType,proto3" json:"client_type,omitempty"` | |
| 	FilerGroup string `protobuf:"bytes,2,opt,name=filer_group,json=filerGroup,proto3" json:"filer_group,omitempty"` | |
| 	Limit      int32  `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` | |
| } | |
| 
 | |
| func (x *ListClusterNodesRequest) Reset() { | |
| 	*x = ListClusterNodesRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[43] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *ListClusterNodesRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*ListClusterNodesRequest) ProtoMessage() {} | |
| 
 | |
| func (x *ListClusterNodesRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 ListClusterNodesRequest.ProtoReflect.Descriptor instead. | |
| func (*ListClusterNodesRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{43} | |
| } | |
| 
 | |
| func (x *ListClusterNodesRequest) GetClientType() string { | |
| 	if x != nil { | |
| 		return x.ClientType | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *ListClusterNodesRequest) GetFilerGroup() string { | |
| 	if x != nil { | |
| 		return x.FilerGroup | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *ListClusterNodesRequest) GetLimit() int32 { | |
| 	if x != nil { | |
| 		return x.Limit | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type ListClusterNodesResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	ClusterNodes []*ListClusterNodesResponse_ClusterNode `protobuf:"bytes,1,rep,name=cluster_nodes,json=clusterNodes,proto3" json:"cluster_nodes,omitempty"` | |
| } | |
| 
 | |
| func (x *ListClusterNodesResponse) Reset() { | |
| 	*x = ListClusterNodesResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[44] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *ListClusterNodesResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*ListClusterNodesResponse) ProtoMessage() {} | |
| 
 | |
| func (x *ListClusterNodesResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 ListClusterNodesResponse.ProtoReflect.Descriptor instead. | |
| func (*ListClusterNodesResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{44} | |
| } | |
| 
 | |
| func (x *ListClusterNodesResponse) GetClusterNodes() []*ListClusterNodesResponse_ClusterNode { | |
| 	if x != nil { | |
| 		return x.ClusterNodes | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type LeaseAdminTokenRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	PreviousToken    int64  `protobuf:"varint,1,opt,name=previous_token,json=previousToken,proto3" json:"previous_token,omitempty"` | |
| 	PreviousLockTime int64  `protobuf:"varint,2,opt,name=previous_lock_time,json=previousLockTime,proto3" json:"previous_lock_time,omitempty"` | |
| 	LockName         string `protobuf:"bytes,3,opt,name=lock_name,json=lockName,proto3" json:"lock_name,omitempty"` | |
| 	ClientName       string `protobuf:"bytes,4,opt,name=client_name,json=clientName,proto3" json:"client_name,omitempty"` | |
| 	Message          string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"` | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenRequest) Reset() { | |
| 	*x = LeaseAdminTokenRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[45] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*LeaseAdminTokenRequest) ProtoMessage() {} | |
| 
 | |
| func (x *LeaseAdminTokenRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 LeaseAdminTokenRequest.ProtoReflect.Descriptor instead. | |
| func (*LeaseAdminTokenRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{45} | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenRequest) GetPreviousToken() int64 { | |
| 	if x != nil { | |
| 		return x.PreviousToken | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenRequest) GetPreviousLockTime() int64 { | |
| 	if x != nil { | |
| 		return x.PreviousLockTime | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenRequest) GetLockName() string { | |
| 	if x != nil { | |
| 		return x.LockName | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenRequest) GetClientName() string { | |
| 	if x != nil { | |
| 		return x.ClientName | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenRequest) GetMessage() string { | |
| 	if x != nil { | |
| 		return x.Message | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type LeaseAdminTokenResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Token    int64 `protobuf:"varint,1,opt,name=token,proto3" json:"token,omitempty"` | |
| 	LockTsNs int64 `protobuf:"varint,2,opt,name=lock_ts_ns,json=lockTsNs,proto3" json:"lock_ts_ns,omitempty"` | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenResponse) Reset() { | |
| 	*x = LeaseAdminTokenResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[46] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*LeaseAdminTokenResponse) ProtoMessage() {} | |
| 
 | |
| func (x *LeaseAdminTokenResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 LeaseAdminTokenResponse.ProtoReflect.Descriptor instead. | |
| func (*LeaseAdminTokenResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{46} | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenResponse) GetToken() int64 { | |
| 	if x != nil { | |
| 		return x.Token | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *LeaseAdminTokenResponse) GetLockTsNs() int64 { | |
| 	if x != nil { | |
| 		return x.LockTsNs | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| type ReleaseAdminTokenRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	PreviousToken    int64  `protobuf:"varint,1,opt,name=previous_token,json=previousToken,proto3" json:"previous_token,omitempty"` | |
| 	PreviousLockTime int64  `protobuf:"varint,2,opt,name=previous_lock_time,json=previousLockTime,proto3" json:"previous_lock_time,omitempty"` | |
| 	LockName         string `protobuf:"bytes,3,opt,name=lock_name,json=lockName,proto3" json:"lock_name,omitempty"` | |
| } | |
| 
 | |
| func (x *ReleaseAdminTokenRequest) Reset() { | |
| 	*x = ReleaseAdminTokenRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[47] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *ReleaseAdminTokenRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*ReleaseAdminTokenRequest) ProtoMessage() {} | |
| 
 | |
| func (x *ReleaseAdminTokenRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 ReleaseAdminTokenRequest.ProtoReflect.Descriptor instead. | |
| func (*ReleaseAdminTokenRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{47} | |
| } | |
| 
 | |
| func (x *ReleaseAdminTokenRequest) GetPreviousToken() int64 { | |
| 	if x != nil { | |
| 		return x.PreviousToken | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *ReleaseAdminTokenRequest) GetPreviousLockTime() int64 { | |
| 	if x != nil { | |
| 		return x.PreviousLockTime | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *ReleaseAdminTokenRequest) GetLockName() string { | |
| 	if x != nil { | |
| 		return x.LockName | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type ReleaseAdminTokenResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *ReleaseAdminTokenResponse) Reset() { | |
| 	*x = ReleaseAdminTokenResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[48] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *ReleaseAdminTokenResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*ReleaseAdminTokenResponse) ProtoMessage() {} | |
| 
 | |
| func (x *ReleaseAdminTokenResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 ReleaseAdminTokenResponse.ProtoReflect.Descriptor instead. | |
| func (*ReleaseAdminTokenResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{48} | |
| } | |
| 
 | |
| 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_master_proto_msgTypes[49] | |
| 		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_master_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 PingRequest.ProtoReflect.Descriptor instead. | |
| func (*PingRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{49} | |
| } | |
| 
 | |
| 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_master_proto_msgTypes[50] | |
| 		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_master_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 PingResponse.ProtoReflect.Descriptor instead. | |
| func (*PingResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{50} | |
| } | |
| 
 | |
| 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 RaftAddServerRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Id      string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | |
| 	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` | |
| 	Voter   bool   `protobuf:"varint,3,opt,name=voter,proto3" json:"voter,omitempty"` | |
| } | |
| 
 | |
| func (x *RaftAddServerRequest) Reset() { | |
| 	*x = RaftAddServerRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[51] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *RaftAddServerRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*RaftAddServerRequest) ProtoMessage() {} | |
| 
 | |
| func (x *RaftAddServerRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 RaftAddServerRequest.ProtoReflect.Descriptor instead. | |
| func (*RaftAddServerRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{51} | |
| } | |
| 
 | |
| func (x *RaftAddServerRequest) GetId() string { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *RaftAddServerRequest) GetAddress() string { | |
| 	if x != nil { | |
| 		return x.Address | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *RaftAddServerRequest) GetVoter() bool { | |
| 	if x != nil { | |
| 		return x.Voter | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| type RaftAddServerResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *RaftAddServerResponse) Reset() { | |
| 	*x = RaftAddServerResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[52] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *RaftAddServerResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*RaftAddServerResponse) ProtoMessage() {} | |
| 
 | |
| func (x *RaftAddServerResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 RaftAddServerResponse.ProtoReflect.Descriptor instead. | |
| func (*RaftAddServerResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{52} | |
| } | |
| 
 | |
| type RaftRemoveServerRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Id    string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | |
| 	Force bool   `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` | |
| } | |
| 
 | |
| func (x *RaftRemoveServerRequest) Reset() { | |
| 	*x = RaftRemoveServerRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[53] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *RaftRemoveServerRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*RaftRemoveServerRequest) ProtoMessage() {} | |
| 
 | |
| func (x *RaftRemoveServerRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 RaftRemoveServerRequest.ProtoReflect.Descriptor instead. | |
| func (*RaftRemoveServerRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{53} | |
| } | |
| 
 | |
| func (x *RaftRemoveServerRequest) GetId() string { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *RaftRemoveServerRequest) GetForce() bool { | |
| 	if x != nil { | |
| 		return x.Force | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| type RaftRemoveServerResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *RaftRemoveServerResponse) Reset() { | |
| 	*x = RaftRemoveServerResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[54] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *RaftRemoveServerResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*RaftRemoveServerResponse) ProtoMessage() {} | |
| 
 | |
| func (x *RaftRemoveServerResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 RaftRemoveServerResponse.ProtoReflect.Descriptor instead. | |
| func (*RaftRemoveServerResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{54} | |
| } | |
| 
 | |
| type RaftListClusterServersRequest struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| } | |
| 
 | |
| func (x *RaftListClusterServersRequest) Reset() { | |
| 	*x = RaftListClusterServersRequest{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[55] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *RaftListClusterServersRequest) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*RaftListClusterServersRequest) ProtoMessage() {} | |
| 
 | |
| func (x *RaftListClusterServersRequest) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 RaftListClusterServersRequest.ProtoReflect.Descriptor instead. | |
| func (*RaftListClusterServersRequest) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{55} | |
| } | |
| 
 | |
| type RaftListClusterServersResponse struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	ClusterServers []*RaftListClusterServersResponse_ClusterServers `protobuf:"bytes,1,rep,name=cluster_servers,json=clusterServers,proto3" json:"cluster_servers,omitempty"` | |
| } | |
| 
 | |
| func (x *RaftListClusterServersResponse) Reset() { | |
| 	*x = RaftListClusterServersResponse{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[56] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *RaftListClusterServersResponse) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*RaftListClusterServersResponse) ProtoMessage() {} | |
| 
 | |
| func (x *RaftListClusterServersResponse) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 RaftListClusterServersResponse.ProtoReflect.Descriptor instead. | |
| func (*RaftListClusterServersResponse) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{56} | |
| } | |
| 
 | |
| func (x *RaftListClusterServersResponse) GetClusterServers() []*RaftListClusterServersResponse_ClusterServers { | |
| 	if x != nil { | |
| 		return x.ClusterServers | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type SuperBlockExtra_ErasureCoding struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Data      uint32   `protobuf:"varint,1,opt,name=data,proto3" json:"data,omitempty"` | |
| 	Parity    uint32   `protobuf:"varint,2,opt,name=parity,proto3" json:"parity,omitempty"` | |
| 	VolumeIds []uint32 `protobuf:"varint,3,rep,packed,name=volume_ids,json=volumeIds,proto3" json:"volume_ids,omitempty"` | |
| } | |
| 
 | |
| func (x *SuperBlockExtra_ErasureCoding) Reset() { | |
| 	*x = SuperBlockExtra_ErasureCoding{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[59] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *SuperBlockExtra_ErasureCoding) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*SuperBlockExtra_ErasureCoding) ProtoMessage() {} | |
| 
 | |
| func (x *SuperBlockExtra_ErasureCoding) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 SuperBlockExtra_ErasureCoding.ProtoReflect.Descriptor instead. | |
| func (*SuperBlockExtra_ErasureCoding) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{7, 0} | |
| } | |
| 
 | |
| func (x *SuperBlockExtra_ErasureCoding) GetData() uint32 { | |
| 	if x != nil { | |
| 		return x.Data | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *SuperBlockExtra_ErasureCoding) GetParity() uint32 { | |
| 	if x != nil { | |
| 		return x.Parity | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *SuperBlockExtra_ErasureCoding) GetVolumeIds() []uint32 { | |
| 	if x != nil { | |
| 		return x.VolumeIds | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type LookupVolumeResponse_VolumeIdLocation struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	VolumeOrFileId string      `protobuf:"bytes,1,opt,name=volume_or_file_id,json=volumeOrFileId,proto3" json:"volume_or_file_id,omitempty"` | |
| 	Locations      []*Location `protobuf:"bytes,2,rep,name=locations,proto3" json:"locations,omitempty"` | |
| 	Error          string      `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` | |
| 	Auth           string      `protobuf:"bytes,4,opt,name=auth,proto3" json:"auth,omitempty"` | |
| } | |
| 
 | |
| func (x *LookupVolumeResponse_VolumeIdLocation) Reset() { | |
| 	*x = LookupVolumeResponse_VolumeIdLocation{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[60] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *LookupVolumeResponse_VolumeIdLocation) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*LookupVolumeResponse_VolumeIdLocation) ProtoMessage() {} | |
| 
 | |
| func (x *LookupVolumeResponse_VolumeIdLocation) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 LookupVolumeResponse_VolumeIdLocation.ProtoReflect.Descriptor instead. | |
| func (*LookupVolumeResponse_VolumeIdLocation) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{13, 0} | |
| } | |
| 
 | |
| func (x *LookupVolumeResponse_VolumeIdLocation) GetVolumeOrFileId() string { | |
| 	if x != nil { | |
| 		return x.VolumeOrFileId | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *LookupVolumeResponse_VolumeIdLocation) GetLocations() []*Location { | |
| 	if x != nil { | |
| 		return x.Locations | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| func (x *LookupVolumeResponse_VolumeIdLocation) GetError() string { | |
| 	if x != nil { | |
| 		return x.Error | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *LookupVolumeResponse_VolumeIdLocation) GetAuth() string { | |
| 	if x != nil { | |
| 		return x.Auth | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type LookupEcVolumeResponse_EcShardIdLocation struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	ShardId   uint32      `protobuf:"varint,1,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"` | |
| 	Locations []*Location `protobuf:"bytes,2,rep,name=locations,proto3" json:"locations,omitempty"` | |
| } | |
| 
 | |
| func (x *LookupEcVolumeResponse_EcShardIdLocation) Reset() { | |
| 	*x = LookupEcVolumeResponse_EcShardIdLocation{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[65] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *LookupEcVolumeResponse_EcShardIdLocation) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*LookupEcVolumeResponse_EcShardIdLocation) ProtoMessage() {} | |
| 
 | |
| func (x *LookupEcVolumeResponse_EcShardIdLocation) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 LookupEcVolumeResponse_EcShardIdLocation.ProtoReflect.Descriptor instead. | |
| func (*LookupEcVolumeResponse_EcShardIdLocation) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{32, 0} | |
| } | |
| 
 | |
| func (x *LookupEcVolumeResponse_EcShardIdLocation) GetShardId() uint32 { | |
| 	if x != nil { | |
| 		return x.ShardId | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *LookupEcVolumeResponse_EcShardIdLocation) GetLocations() []*Location { | |
| 	if x != nil { | |
| 		return x.Locations | |
| 	} | |
| 	return nil | |
| } | |
| 
 | |
| type ListClusterNodesResponse_ClusterNode struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Address     string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` | |
| 	Version     string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` | |
| 	CreatedAtNs int64  `protobuf:"varint,4,opt,name=created_at_ns,json=createdAtNs,proto3" json:"created_at_ns,omitempty"` | |
| 	DataCenter  string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter,proto3" json:"data_center,omitempty"` | |
| 	Rack        string `protobuf:"bytes,6,opt,name=rack,proto3" json:"rack,omitempty"` | |
| } | |
| 
 | |
| func (x *ListClusterNodesResponse_ClusterNode) Reset() { | |
| 	*x = ListClusterNodesResponse_ClusterNode{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[66] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *ListClusterNodesResponse_ClusterNode) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*ListClusterNodesResponse_ClusterNode) ProtoMessage() {} | |
| 
 | |
| func (x *ListClusterNodesResponse_ClusterNode) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 ListClusterNodesResponse_ClusterNode.ProtoReflect.Descriptor instead. | |
| func (*ListClusterNodesResponse_ClusterNode) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{44, 0} | |
| } | |
| 
 | |
| func (x *ListClusterNodesResponse_ClusterNode) GetAddress() string { | |
| 	if x != nil { | |
| 		return x.Address | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *ListClusterNodesResponse_ClusterNode) GetVersion() string { | |
| 	if x != nil { | |
| 		return x.Version | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *ListClusterNodesResponse_ClusterNode) GetCreatedAtNs() int64 { | |
| 	if x != nil { | |
| 		return x.CreatedAtNs | |
| 	} | |
| 	return 0 | |
| } | |
| 
 | |
| func (x *ListClusterNodesResponse_ClusterNode) GetDataCenter() string { | |
| 	if x != nil { | |
| 		return x.DataCenter | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *ListClusterNodesResponse_ClusterNode) GetRack() string { | |
| 	if x != nil { | |
| 		return x.Rack | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| type RaftListClusterServersResponse_ClusterServers struct { | |
| 	state         protoimpl.MessageState | |
| 	sizeCache     protoimpl.SizeCache | |
| 	unknownFields protoimpl.UnknownFields | |
| 
 | |
| 	Id       string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` | |
| 	Address  string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` | |
| 	Suffrage string `protobuf:"bytes,3,opt,name=suffrage,proto3" json:"suffrage,omitempty"` | |
| 	IsLeader bool   `protobuf:"varint,4,opt,name=isLeader,proto3" json:"isLeader,omitempty"` | |
| } | |
| 
 | |
| func (x *RaftListClusterServersResponse_ClusterServers) Reset() { | |
| 	*x = RaftListClusterServersResponse_ClusterServers{} | |
| 	if protoimpl.UnsafeEnabled { | |
| 		mi := &file_master_proto_msgTypes[67] | |
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | |
| 		ms.StoreMessageInfo(mi) | |
| 	} | |
| } | |
| 
 | |
| func (x *RaftListClusterServersResponse_ClusterServers) String() string { | |
| 	return protoimpl.X.MessageStringOf(x) | |
| } | |
| 
 | |
| func (*RaftListClusterServersResponse_ClusterServers) ProtoMessage() {} | |
| 
 | |
| func (x *RaftListClusterServersResponse_ClusterServers) ProtoReflect() protoreflect.Message { | |
| 	mi := &file_master_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 RaftListClusterServersResponse_ClusterServers.ProtoReflect.Descriptor instead. | |
| func (*RaftListClusterServersResponse_ClusterServers) Descriptor() ([]byte, []int) { | |
| 	return file_master_proto_rawDescGZIP(), []int{56, 0} | |
| } | |
| 
 | |
| func (x *RaftListClusterServersResponse_ClusterServers) GetId() string { | |
| 	if x != nil { | |
| 		return x.Id | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *RaftListClusterServersResponse_ClusterServers) GetAddress() string { | |
| 	if x != nil { | |
| 		return x.Address | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *RaftListClusterServersResponse_ClusterServers) GetSuffrage() string { | |
| 	if x != nil { | |
| 		return x.Suffrage | |
| 	} | |
| 	return "" | |
| } | |
| 
 | |
| func (x *RaftListClusterServersResponse_ClusterServers) GetIsLeader() bool { | |
| 	if x != nil { | |
| 		return x.IsLeader | |
| 	} | |
| 	return false | |
| } | |
| 
 | |
| var File_master_proto protoreflect.FileDescriptor | |
| 
 | |
| var file_master_proto_rawDesc = []byte{ | |
| 	0x0a, 0x0c, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, | |
| 	0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x22, 0xc0, 0x07, 0x0a, 0x09, 0x48, 0x65, | |
| 	0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, | |
| 	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, | |
| 	0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, | |
| 	0x78, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, | |
| 	0x52, 0x0a, 0x6d, 0x61, 0x78, 0x46, 0x69, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, | |
| 	0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x06, 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, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, 0x63, | |
| 	0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, | |
| 	0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74, | |
| 	0x12, 0x3d, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, | |
| 	0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, | |
| 	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, | |
| 	0x49, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x0a, | |
| 	0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, | |
| 	0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0a, | |
| 	0x6e, 0x65, 0x77, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x0f, 0x64, 0x65, | |
| 	0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, | |
| 	0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72, | |
| 	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x64, | |
| 	0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x24, 0x0a, | |
| 	0x0e, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, | |
| 	0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x4e, 0x6f, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x09, 0x65, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, | |
| 	0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, | |
| 	0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, | |
| 	0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, | |
| 	0x67, 0x65, 0x52, 0x08, 0x65, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x4e, 0x0a, 0x0d, | |
| 	0x6e, 0x65, 0x77, 0x5f, 0x65, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x11, 0x20, | |
| 	0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, | |
| 	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, | |
| 	0x0b, 0x6e, 0x65, 0x77, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x56, 0x0a, 0x11, | |
| 	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x63, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, | |
| 	0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, | |
| 	0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, | |
| 	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, | |
| 	0x61, 0x67, 0x65, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x63, 0x53, 0x68, | |
| 	0x61, 0x72, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x10, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x65, | |
| 	0x63, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, | |
| 	0x68, 0x61, 0x73, 0x4e, 0x6f, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x55, 0x0a, | |
| 	0x11, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, | |
| 	0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x2e, 0x4d, | |
| 	0x61, 0x78, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, | |
| 	0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, | |
| 	0x75, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x6f, 0x72, | |
| 	0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x72, 0x70, 0x63, 0x50, 0x6f, 0x72, | |
| 	0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x75, | |
| 	0x69, 0x64, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, | |
| 	0x69, 0x6f, 0x6e, 0x55, 0x75, 0x69, 0x64, 0x73, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x78, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, | |
| 	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, | |
| 	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, | |
| 	0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xab, 0x02, 0x0a, | |
| 	0x11, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x7a, | |
| 	0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x76, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, | |
| 	0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, | |
| 	0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, | |
| 	0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, | |
| 	0x38, 0x0a, 0x18, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, | |
| 	0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, | |
| 	0x0d, 0x52, 0x16, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, | |
| 	0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x74, 0x6f, | |
| 	0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, | |
| 	0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x0f, | |
| 	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x12, | |
| 	0x29, 0x0a, 0x10, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x75, | |
| 	0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x75, 0x70, 0x6c, 0x69, | |
| 	0x63, 0x61, 0x74, 0x65, 0x64, 0x55, 0x75, 0x69, 0x64, 0x73, 0x22, 0x98, 0x04, 0x0a, 0x18, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, | |
| 	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, | |
| 	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, | |
| 	0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x66, | |
| 	0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, | |
| 	0x09, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, | |
| 	0x6c, 0x65, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, | |
| 	0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, | |
| 	0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x63, 0x6f, | |
| 	0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, | |
| 	0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, | |
| 	0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, | |
| 	0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6c, | |
| 	0x69, 0x63, 0x61, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, | |
| 	0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x50, 0x6c, 0x61, 0x63, | |
| 	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, | |
| 	0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, | |
| 	0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x74, | |
| 	0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x76, | |
| 	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6d, | |
| 	0x70, 0x61, 0x63, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, | |
| 	0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, | |
| 	0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, | |
| 	0x65, 0x64, 0x41, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, | |
| 	0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, | |
| 	0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, | |
| 	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, | |
| 	0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6b, 0x65, 0x79, | |
| 	0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, | |
| 	0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, | |
| 	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, | |
| 	0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x1d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x53, 0x68, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, | |
| 	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, | |
| 	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, | |
| 	0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, | |
| 	0x63, 0x61, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, | |
| 	0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x50, 0x6c, 0x61, 0x63, 0x65, | |
| 	0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, | |
| 	0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, | |
| 	0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x74, 0x6c, | |
| 	0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0x92, 0x01, | |
| 	0x0a, 0x1f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, | |
| 	0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, | |
| 	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, | |
| 	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, 0x22, 0x0a, 0x0d, 0x65, 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x62, 0x69, | |
| 	0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x63, 0x49, 0x6e, 0x64, 0x65, | |
| 	0x78, 0x42, 0x69, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, | |
| 	0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, | |
| 	0x70, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x61, | |
| 	0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, | |
| 	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x49, 0x0a, 0x0a, 0x70, 0x72, 0x6f, | |
| 	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, | |
| 	0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, | |
| 	0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, | |
| 	0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, | |
| 	0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, | |
| 	0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, | |
| 	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, | |
| 	0x02, 0x38, 0x01, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xbe, 0x01, 0x0a, | |
| 	0x0f, 0x53, 0x75, 0x70, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, 0x78, 0x74, 0x72, 0x61, | |
| 	0x12, 0x4f, 0x0a, 0x0e, 0x65, 0x72, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x69, | |
| 	0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x70, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x45, | |
| 	0x78, 0x74, 0x72, 0x61, 0x2e, 0x45, 0x72, 0x61, 0x73, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x69, | |
| 	0x6e, 0x67, 0x52, 0x0d, 0x65, 0x72, 0x61, 0x73, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x69, 0x6e, | |
| 	0x67, 0x1a, 0x5a, 0x0a, 0x0d, 0x45, 0x72, 0x61, 0x73, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x69, | |
| 	0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, | |
| 	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x69, 0x74, 0x79, | |
| 	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, | |
| 	0x0a, 0x0a, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, | |
| 	0x28, 0x0d, 0x52, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x73, 0x22, 0xce, 0x01, | |
| 	0x0a, 0x14, 0x4b, 0x65, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, | |
| 	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, | |
| 	0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, | |
| 	0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, | |
| 	0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, | |
| 	0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, | |
| 	0x69, 0x6c, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, | |
| 	0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x06, 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, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, 0x63, 0x6b, 0x22, 0x9d, | |
| 	0x02, 0x0a, 0x0e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, | |
| 	0x6e, 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, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x69, 0x64, 0x73, 0x18, 0x03, | |
| 	0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x56, 0x69, 0x64, 0x73, 0x12, 0x21, 0x0a, | |
| 	0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, | |
| 	0x03, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x56, 0x69, 0x64, 0x73, | |
| 	0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, | |
| 	0x52, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, | |
| 	0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, | |
| 	0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x70, | |
| 	0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x72, | |
| 	0x70, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x65, 0x63, | |
| 	0x5f, 0x76, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x6e, 0x65, 0x77, | |
| 	0x45, 0x63, 0x56, 0x69, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, | |
| 	0x64, 0x5f, 0x65, 0x63, 0x5f, 0x76, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, | |
| 	0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x63, 0x56, 0x69, 0x64, 0x73, 0x22, 0xa6, | |
| 	0x01, 0x0a, 0x11, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, | |
| 	0x64, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, | |
| 	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, | |
| 	0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, | |
| 	0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x69, | |
| 	0x73, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x41, | |
| 	0x64, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, | |
| 	0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x72, 0x47, 0x72, | |
| 	0x6f, 0x75, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, | |
| 	0x74, 0x5f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, | |
| 	0x74, 0x65, 0x64, 0x41, 0x74, 0x4e, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x4b, 0x65, 0x65, 0x70, | |
| 	0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, | |
| 	0x65, 0x12, 0x42, 0x0a, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, | |
| 	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x73, | |
| 	0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x6f, 0x63, | |
| 	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x6f, 0x63, | |
| 	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, | |
| 	0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, | |
| 	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x43, | |
| 	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, | |
| 	0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x64, | |
| 	0x61, 0x74, 0x65, 0x22, 0x62, 0x0a, 0x13, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, | |
| 	0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4f, 0x72, | |
| 	0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x73, 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, 0x95, 0x02, 0x0a, 0x14, 0x4c, 0x6f, 0x6f, 0x6b, | |
| 	0x75, 0x70, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x12, 0x60, 0x0a, 0x13, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x6f, | |
| 	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, | |
| 	0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, | |
| 	0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, | |
| 	0x11, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, | |
| 	0x6e, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x10, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x4c, | |
| 	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x11, 0x76, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x5f, 0x6f, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, | |
| 	0x28, 0x09, 0x52, 0x0e, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4f, 0x72, 0x46, 0x69, 0x6c, 0x65, | |
| 	0x49, 0x64, 0x12, 0x31, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, | |
| 	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, | |
| 	0x74, 0x69, 0x6f, 0x6e, 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, 0x61, | |
| 	0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x22, | |
| 	0x79, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0d, 0x52, | |
| 	0x08, 0x67, 0x72, 0x70, 0x63, 0x50, 0x6f, 0x72, 0x74, 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, 0x22, 0xd0, 0x02, 0x0a, 0x0d, 0x41, | |
| 	0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, | |
| 	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, | |
| 	0x6e, 0x74, 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, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, | |
| 	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, | |
| 	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, | |
| 	0x09, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, | |
| 	0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x05, 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, | |
| 	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x64, | |
| 	0x61, 0x74, 0x61, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, | |
| 	0x64, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x64, 0x65, 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, 0x08, 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, 0x32, 0x0a, 0x15, | |
| 	0x57, 0x72, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, | |
| 	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x57, 0x72, 0x69, | |
| 	0x74, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, | |
| 	0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0xc4, 0x01, | |
| 	0x0a, 0x0e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, | |
| 	0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, | |
| 	0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, | |
| 	0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, | |
| 	0x0a, 0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x75, | |
| 	0x74, 0x68, 0x12, 0x2f, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x07, | |
| 	0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, | |
| 	0x63, 0x61, 0x73, 0x12, 0x2f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, | |
| 	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, | |
| 	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, | |
| 	0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, | |
| 	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x10, 0x0a, 0x03, | |
| 	0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x1b, | |
| 	0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, | |
| 	0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0x6f, 0x0a, 0x12, 0x53, | |
| 	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, | |
| 	0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, | |
| 	0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, | |
| 	0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, | |
| 	0x01, 0x28, 0x04, 0x52, 0x08, 0x75, 0x73, 0x65, 0x64, 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, 0x22, 0x20, 0x0a, 0x0a, | |
| 	0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, | |
| 	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7b, | |
| 	0x0a, 0x15, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, | |
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x6e, 0x63, 0x6c, 0x75, | |
| 	0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, | |
| 	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, | |
| 	0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x2c, 0x0a, | |
| 	0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x65, 0x63, 0x5f, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, | |
| 	0x64, 0x65, 0x45, 0x63, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x22, 0x51, 0x0a, 0x16, 0x43, | |
| 	0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, | |
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, | |
| 	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x73, | |
| 	0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, | |
| 	0x6e, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2d, | |
| 	0x0a, 0x17, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, | |
| 	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, | |
| 	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1a, 0x0a, | |
| 	0x18, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, | |
| 	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x91, 0x03, 0x0a, 0x08, 0x44, 0x69, | |
| 	0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, | |
| 	0x52, 0x0b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, | |
| 	0x10, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, | |
| 	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x56, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x72, 0x65, 0x65, 0x5f, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, | |
| 	0x28, 0x03, 0x52, 0x0f, 0x66, 0x72, 0x65, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, | |
| 	0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, | |
| 	0x52, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, | |
| 	0x75, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x6e, | |
| 	0x66, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x73, 0x74, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, | |
| 	0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x50, 0x0a, 0x0e, 0x65, | |
| 	0x63, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x07, 0x20, | |
| 	0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, | |
| 	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, | |
| 	0x0c, 0x65, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x2e, 0x0a, | |
| 	0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x63, | |
| 	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, | |
| 	0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd4, 0x01, | |
| 	0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, | |
| 	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x44, | |
| 	0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, | |
| 	0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x61, | |
| 	0x74, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, | |
| 	0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x49, | |
| 	0x6e, 0x66, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x6f, 0x72, | |
| 	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x72, 0x70, 0x63, 0x50, 0x6f, 0x72, | |
| 	0x74, 0x1a, 0x51, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, | |
| 	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, | |
| 	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, | |
| 	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, | |
| 	0x3a, 0x02, 0x38, 0x01, 0x22, 0xf0, 0x01, 0x0a, 0x08, 0x52, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, | |
| 	0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, | |
| 	0x64, 0x12, 0x3f, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, | |
| 	0x6e, 0x66, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x73, | |
| 	0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x49, | |
| 	0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, | |
| 	0x6f, 0x73, 0x12, 0x40, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, | |
| 	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x52, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, | |
| 	0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x49, | |
| 	0x6e, 0x66, 0x6f, 0x73, 0x1a, 0x51, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, | |
| 	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, | |
| 	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, | |
| 	0x5f, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, | |
| 	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xef, 0x01, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, | |
| 	0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, | |
| 	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x0a, 0x72, 0x61, | |
| 	0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, | |
| 	0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x63, 0x6b, 0x49, | |
| 	0x6e, 0x66, 0x6f, 0x52, 0x09, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x46, | |
| 	0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, | |
| 	0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x61, | |
| 	0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x69, 0x73, | |
| 	0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x64, 0x69, 0x73, | |
| 	0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x1a, 0x51, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, | |
| 	0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, | |
| 	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, | |
| 	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x73, 0x74, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, | |
| 	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfe, 0x01, 0x0a, 0x0c, 0x54, 0x6f, | |
| 	0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, | |
| 	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x61, | |
| 	0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, | |
| 	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, | |
| 	0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, | |
| 	0x73, 0x12, 0x44, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x03, | |
| 	0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x69, | |
| 	0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x64, 0x69, | |
| 	0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x1a, 0x51, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x6b, 0x49, | |
| 	0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, | |
| 	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, | |
| 	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x73, | |
| 	0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, | |
| 	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x13, 0x0a, 0x11, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, | |
| 	0x83, 0x01, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, | |
| 	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, | |
| 	0x67, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, | |
| 	0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, | |
| 	0x67, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, | |
| 	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x14, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, | |
| 	0x69, 0x7a, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x62, 0x18, 0x02, 0x20, 0x01, | |
| 	0x28, 0x04, 0x52, 0x11, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x4c, 0x69, | |
| 	0x6d, 0x69, 0x74, 0x4d, 0x62, 0x22, 0x34, 0x0a, 0x15, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, | |
| 	0x63, 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, 0x22, 0xfb, 0x01, 0x0a, 0x16, | |
| 	0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x63, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 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, 0x61, 0x0a, 0x12, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x5f, | |
| 	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, | |
| 	0x33, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, | |
| 	0x75, 0x70, 0x45, 0x63, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x2e, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x4c, 0x6f, 0x63, 0x61, | |
| 	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x73, 0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x4c, 0x6f, 0x63, | |
| 	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x61, 0x0a, 0x11, 0x45, 0x63, 0x53, 0x68, 0x61, 0x72, | |
| 	0x64, 0x49, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, | |
| 	0x68, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, | |
| 	0x68, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, | |
| 	0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x73, 0x74, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, | |
| 	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7f, 0x0a, 0x13, 0x56, 0x61, 0x63, | |
| 	0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | |
| 	0x12, 0x2b, 0x0a, 0x11, 0x67, 0x61, 0x72, 0x62, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, | |
| 	0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x67, 0x61, 0x72, | |
| 	0x62, 0x61, 0x67, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x1b, 0x0a, | |
| 	0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 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, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, | |
| 	0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0x0a, 0x14, 0x56, 0x61, | |
| 	0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x63, | |
| 	0x75, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x69, | |
| 	0x73, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x63, | |
| 	0x75, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x45, 0x6e, | |
| 	0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x22, 0x93, 0x02, 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, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, | |
| 	0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, | |
| 	0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, | |
| 	0x64, 0x18, 0x04, 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, | |
| 	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, | |
| 	0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x70, 0x6c, 0x61, | |
| 	0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, | |
| 	0x70, 0x6c, 0x69, 0x63, 0x61, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, | |
| 	0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, | |
| 	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, | |
| 	0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x74, 0x6c, 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, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, | |
| 	0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, | |
| 	0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 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, 0x1f, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x73, | |
| 	0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, | |
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf3, 0x02, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4d, | |
| 	0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, | |
| 	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x65, | |
| 	0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x41, 0x64, 0x64, 0x72, | |
| 	0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x69, | |
| 	0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, | |
| 	0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x49, 0x6e, | |
| 	0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x44, 0x0a, | |
| 	0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, | |
| 	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, | |
| 	0x5f, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, | |
| 	0x6e, 0x64, 0x52, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, | |
| 	0x6e, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, | |
| 	0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, | |
| 	0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, | |
| 	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x05, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x15, | |
| 	0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, | |
| 	0x74, 0x5f, 0x6d, 0x5f, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x76, 0x6f, 0x6c, | |
| 	0x75, 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x42, 0x12, 0x2d, | |
| 	0x0a, 0x12, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x6f, | |
| 	0x63, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x76, 0x6f, 0x6c, 0x75, | |
| 	0x6d, 0x65, 0x50, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x22, 0x71, 0x0a, | |
| 	0x17, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, | |
| 	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, | |
| 	0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, | |
| 	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, | |
| 	0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, | |
| 	0x66, 0x69, 0x6c, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, | |
| 	0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, | |
| 	0x22, 0x8d, 0x02, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, | |
| 	0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, | |
| 	0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, | |
| 	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, | |
| 	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, | |
| 	0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, | |
| 	0x64, 0x65, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, | |
| 	0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, | |
| 	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, | |
| 	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, | |
| 	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, | |
| 	0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, | |
| 	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, | |
| 	0x61, 0x74, 0x61, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x61, 0x63, 0x6b, | |
| 	0x22, 0xc5, 0x01, 0x0a, 0x16, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, | |
| 	0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, | |
| 	0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, | |
| 	0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, | |
| 	0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x6c, | |
| 	0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, | |
| 	0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, | |
| 	0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, | |
| 	0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, | |
| 	0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, | |
| 	0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, | |
| 	0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4d, 0x0a, 0x17, 0x4c, 0x65, 0x61, 0x73, | |
| 	0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, | |
| 	0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, | |
| 	0x6b, 0x5f, 0x74, 0x73, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, | |
| 	0x6f, 0x63, 0x6b, 0x54, 0x73, 0x4e, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6c, 0x65, | |
| 	0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, | |
| 	0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x72, | |
| 	0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x70, | |
| 	0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, | |
| 	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, | |
| 	0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x63, | |
| 	0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, | |
| 	0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, | |
| 	0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 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, 0x22, 0x56, 0x0a, 0x14, 0x52, 0x61, 0x66, 0x74, 0x41, | |
| 	0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, | |
| 	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, | |
| 	0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, | |
| 	0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x6f, 0x74, | |
| 	0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x22, | |
| 	0x17, 0x0a, 0x15, 0x52, 0x61, 0x66, 0x74, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, | |
| 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x0a, 0x17, 0x52, 0x61, 0x66, 0x74, | |
| 	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, | |
| 	0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, | |
| 	0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x61, 0x66, | |
| 	0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, | |
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x52, 0x61, 0x66, 0x74, 0x4c, 0x69, 0x73, | |
| 	0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf7, 0x01, 0x0a, 0x1e, 0x52, 0x61, 0x66, 0x74, 0x4c, | |
| 	0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, | |
| 	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0f, 0x63, 0x6c, 0x75, | |
| 	0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, | |
| 	0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, | |
| 	0x61, 0x66, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, | |
| 	0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6c, | |
| 	0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x0e, 0x63, 0x6c, | |
| 	0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x1a, 0x72, 0x0a, 0x0e, | |
| 	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x0e, | |
| 	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, | |
| 	0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, | |
| 	0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x66, 0x66, | |
| 	0x72, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x66, 0x66, | |
| 	0x72, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, | |
| 	0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, | |
| 	0x32, 0x88, 0x0f, 0x0a, 0x07, 0x53, 0x65, 0x61, 0x77, 0x65, 0x65, 0x64, 0x12, 0x49, 0x0a, 0x0d, | |
| 	0x53, 0x65, 0x6e, 0x64, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x14, 0x2e, | |
| 	0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, | |
| 	0x65, 0x61, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, | |
| 	0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x58, 0x0a, 0x0d, 0x4b, 0x65, 0x65, 0x70, 0x43, | |
| 	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, | |
| 	0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x73, 0x74, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, | |
| 	0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, | |
| 	0x01, 0x12, 0x51, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, | |
| 	0x6f, 0x6b, 0x75, 0x70, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | |
| 	0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x6f, | |
| 	0x6f, 0x6b, 0x75, 0x70, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x18, | |
| 	0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, | |
| 	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, | |
| 	0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x18, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, | |
| 	0x19, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x73, 0x69, | |
| 	0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, | |
| 	0x12, 0x4b, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x1c, | |
| 	0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, | |
| 	0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, | |
| 	0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, | |
| 	0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, | |
| 	0x0e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, | |
| 	0x20, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, | |
| 	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | |
| 	0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, | |
| 	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, | |
| 	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, | |
| 	0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x73, | |
| 	0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, | |
| 	0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, | |
| 	0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, | |
| 	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0a, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, | |
| 	0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, | |
| 	0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | |
| 	0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | |
| 	0x22, 0x00, 0x12, 0x57, 0x0a, 0x0e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x63, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x63, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, | |
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, | |
| 	0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x45, 0x63, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x56, | |
| 	0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1e, 0x2e, 0x6d, 0x61, | |
| 	0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, | |
| 	0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x56, 0x6f, | |
| 	0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, | |
| 	0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x12, | |
| 	0x1f, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, | |
| 	0x62, 0x6c, 0x65, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | |
| 	0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, | |
| 	0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | |
| 	0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, | |
| 	0x63, 0x75, 0x75, 0x6d, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x73, | |
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x56, 0x6f, 0x6c, 0x75, 0x6d, | |
| 	0x65, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x12, 0x24, 0x2e, | |
| 	0x6d, 0x61, 0x73, 0x74, 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, 0x25, 0x2e, 0x6d, 0x61, 0x73, 0x74, 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, 0x6f, 0x0a, 0x16, | |
| 	0x47, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, | |
| 	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, | |
| 	0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, | |
| 	0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | |
| 	0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, | |
| 	0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, | |
| 	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, | |
| 	0x10, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, | |
| 	0x73, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x69, | |
| 	0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, | |
| 	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, | |
| 	0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, | |
| 	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0f, | |
| 	0x4c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, | |
| 	0x21, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, 0x65, 0x61, 0x73, | |
| 	0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, | |
| 	0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x4c, | |
| 	0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, | |
| 	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x11, 0x52, 0x65, 0x6c, 0x65, | |
| 	0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x2e, | |
| 	0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, | |
| 	0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, | |
| 	0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, | |
| 	0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, | |
| 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, 0x50, 0x69, | |
| 	0x6e, 0x67, 0x12, 0x16, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x50, | |
| 	0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6d, 0x61, 0x73, | |
| 	0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, | |
| 	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x16, 0x52, 0x61, 0x66, 0x74, 0x4c, 0x69, 0x73, | |
| 	0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, | |
| 	0x28, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, | |
| 	0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x61, 0x73, 0x74, | |
| 	0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, | |
| 	0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, | |
| 	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0d, 0x52, 0x61, 0x66, 0x74, 0x41, 0x64, | |
| 	0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, | |
| 	0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, | |
| 	0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, | |
| 	0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, | |
| 	0x52, 0x61, 0x66, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, | |
| 	0x12, 0x22, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x66, | |
| 	0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, | |
| 	0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, | |
| 	0x2e, 0x52, 0x61, 0x66, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, | |
| 	0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x32, 0x5a, 0x30, 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, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x62, 0x62, | |
| 	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | |
| } | |
| 
 | |
| var ( | |
| 	file_master_proto_rawDescOnce sync.Once | |
| 	file_master_proto_rawDescData = file_master_proto_rawDesc | |
| ) | |
| 
 | |
| func file_master_proto_rawDescGZIP() []byte { | |
| 	file_master_proto_rawDescOnce.Do(func() { | |
| 		file_master_proto_rawDescData = protoimpl.X.CompressGZIP(file_master_proto_rawDescData) | |
| 	}) | |
| 	return file_master_proto_rawDescData | |
| } | |
| 
 | |
| var file_master_proto_msgTypes = make([]protoimpl.MessageInfo, 68) | |
| var file_master_proto_goTypes = []interface{}{ | |
| 	(*Heartbeat)(nil),                             // 0: master_pb.Heartbeat | |
| 	(*HeartbeatResponse)(nil),                     // 1: master_pb.HeartbeatResponse | |
| 	(*VolumeInformationMessage)(nil),              // 2: master_pb.VolumeInformationMessage | |
| 	(*VolumeShortInformationMessage)(nil),         // 3: master_pb.VolumeShortInformationMessage | |
| 	(*VolumeEcShardInformationMessage)(nil),       // 4: master_pb.VolumeEcShardInformationMessage | |
| 	(*StorageBackend)(nil),                        // 5: master_pb.StorageBackend | |
| 	(*Empty)(nil),                                 // 6: master_pb.Empty | |
| 	(*SuperBlockExtra)(nil),                       // 7: master_pb.SuperBlockExtra | |
| 	(*KeepConnectedRequest)(nil),                  // 8: master_pb.KeepConnectedRequest | |
| 	(*VolumeLocation)(nil),                        // 9: master_pb.VolumeLocation | |
| 	(*ClusterNodeUpdate)(nil),                     // 10: master_pb.ClusterNodeUpdate | |
| 	(*KeepConnectedResponse)(nil),                 // 11: master_pb.KeepConnectedResponse | |
| 	(*LookupVolumeRequest)(nil),                   // 12: master_pb.LookupVolumeRequest | |
| 	(*LookupVolumeResponse)(nil),                  // 13: master_pb.LookupVolumeResponse | |
| 	(*Location)(nil),                              // 14: master_pb.Location | |
| 	(*AssignRequest)(nil),                         // 15: master_pb.AssignRequest | |
| 	(*AssignResponse)(nil),                        // 16: master_pb.AssignResponse | |
| 	(*StatisticsRequest)(nil),                     // 17: master_pb.StatisticsRequest | |
| 	(*StatisticsResponse)(nil),                    // 18: master_pb.StatisticsResponse | |
| 	(*Collection)(nil),                            // 19: master_pb.Collection | |
| 	(*CollectionListRequest)(nil),                 // 20: master_pb.CollectionListRequest | |
| 	(*CollectionListResponse)(nil),                // 21: master_pb.CollectionListResponse | |
| 	(*CollectionDeleteRequest)(nil),               // 22: master_pb.CollectionDeleteRequest | |
| 	(*CollectionDeleteResponse)(nil),              // 23: master_pb.CollectionDeleteResponse | |
| 	(*DiskInfo)(nil),                              // 24: master_pb.DiskInfo | |
| 	(*DataNodeInfo)(nil),                          // 25: master_pb.DataNodeInfo | |
| 	(*RackInfo)(nil),                              // 26: master_pb.RackInfo | |
| 	(*DataCenterInfo)(nil),                        // 27: master_pb.DataCenterInfo | |
| 	(*TopologyInfo)(nil),                          // 28: master_pb.TopologyInfo | |
| 	(*VolumeListRequest)(nil),                     // 29: master_pb.VolumeListRequest | |
| 	(*VolumeListResponse)(nil),                    // 30: master_pb.VolumeListResponse | |
| 	(*LookupEcVolumeRequest)(nil),                 // 31: master_pb.LookupEcVolumeRequest | |
| 	(*LookupEcVolumeResponse)(nil),                // 32: master_pb.LookupEcVolumeResponse | |
| 	(*VacuumVolumeRequest)(nil),                   // 33: master_pb.VacuumVolumeRequest | |
| 	(*VacuumVolumeResponse)(nil),                  // 34: master_pb.VacuumVolumeResponse | |
| 	(*DisableVacuumRequest)(nil),                  // 35: master_pb.DisableVacuumRequest | |
| 	(*DisableVacuumResponse)(nil),                 // 36: master_pb.DisableVacuumResponse | |
| 	(*EnableVacuumRequest)(nil),                   // 37: master_pb.EnableVacuumRequest | |
| 	(*EnableVacuumResponse)(nil),                  // 38: master_pb.EnableVacuumResponse | |
| 	(*VolumeMarkReadonlyRequest)(nil),             // 39: master_pb.VolumeMarkReadonlyRequest | |
| 	(*VolumeMarkReadonlyResponse)(nil),            // 40: master_pb.VolumeMarkReadonlyResponse | |
| 	(*GetMasterConfigurationRequest)(nil),         // 41: master_pb.GetMasterConfigurationRequest | |
| 	(*GetMasterConfigurationResponse)(nil),        // 42: master_pb.GetMasterConfigurationResponse | |
| 	(*ListClusterNodesRequest)(nil),               // 43: master_pb.ListClusterNodesRequest | |
| 	(*ListClusterNodesResponse)(nil),              // 44: master_pb.ListClusterNodesResponse | |
| 	(*LeaseAdminTokenRequest)(nil),                // 45: master_pb.LeaseAdminTokenRequest | |
| 	(*LeaseAdminTokenResponse)(nil),               // 46: master_pb.LeaseAdminTokenResponse | |
| 	(*ReleaseAdminTokenRequest)(nil),              // 47: master_pb.ReleaseAdminTokenRequest | |
| 	(*ReleaseAdminTokenResponse)(nil),             // 48: master_pb.ReleaseAdminTokenResponse | |
| 	(*PingRequest)(nil),                           // 49: master_pb.PingRequest | |
| 	(*PingResponse)(nil),                          // 50: master_pb.PingResponse | |
| 	(*RaftAddServerRequest)(nil),                  // 51: master_pb.RaftAddServerRequest | |
| 	(*RaftAddServerResponse)(nil),                 // 52: master_pb.RaftAddServerResponse | |
| 	(*RaftRemoveServerRequest)(nil),               // 53: master_pb.RaftRemoveServerRequest | |
| 	(*RaftRemoveServerResponse)(nil),              // 54: master_pb.RaftRemoveServerResponse | |
| 	(*RaftListClusterServersRequest)(nil),         // 55: master_pb.RaftListClusterServersRequest | |
| 	(*RaftListClusterServersResponse)(nil),        // 56: master_pb.RaftListClusterServersResponse | |
| 	nil,                                           // 57: master_pb.Heartbeat.MaxVolumeCountsEntry | |
| 	nil,                                           // 58: master_pb.StorageBackend.PropertiesEntry | |
| 	(*SuperBlockExtra_ErasureCoding)(nil),         // 59: master_pb.SuperBlockExtra.ErasureCoding | |
| 	(*LookupVolumeResponse_VolumeIdLocation)(nil), // 60: master_pb.LookupVolumeResponse.VolumeIdLocation | |
| 	nil, // 61: master_pb.DataNodeInfo.DiskInfosEntry | |
| 	nil, // 62: master_pb.RackInfo.DiskInfosEntry | |
| 	nil, // 63: master_pb.DataCenterInfo.DiskInfosEntry | |
| 	nil, // 64: master_pb.TopologyInfo.DiskInfosEntry | |
| 	(*LookupEcVolumeResponse_EcShardIdLocation)(nil),      // 65: master_pb.LookupEcVolumeResponse.EcShardIdLocation | |
| 	(*ListClusterNodesResponse_ClusterNode)(nil),          // 66: master_pb.ListClusterNodesResponse.ClusterNode | |
| 	(*RaftListClusterServersResponse_ClusterServers)(nil), // 67: master_pb.RaftListClusterServersResponse.ClusterServers | |
| } | |
| var file_master_proto_depIdxs = []int32{ | |
| 	2,  // 0: master_pb.Heartbeat.volumes:type_name -> master_pb.VolumeInformationMessage | |
| 	3,  // 1: master_pb.Heartbeat.new_volumes:type_name -> master_pb.VolumeShortInformationMessage | |
| 	3,  // 2: master_pb.Heartbeat.deleted_volumes:type_name -> master_pb.VolumeShortInformationMessage | |
| 	4,  // 3: master_pb.Heartbeat.ec_shards:type_name -> master_pb.VolumeEcShardInformationMessage | |
| 	4,  // 4: master_pb.Heartbeat.new_ec_shards:type_name -> master_pb.VolumeEcShardInformationMessage | |
| 	4,  // 5: master_pb.Heartbeat.deleted_ec_shards:type_name -> master_pb.VolumeEcShardInformationMessage | |
| 	57, // 6: master_pb.Heartbeat.max_volume_counts:type_name -> master_pb.Heartbeat.MaxVolumeCountsEntry | |
| 	5,  // 7: master_pb.HeartbeatResponse.storage_backends:type_name -> master_pb.StorageBackend | |
| 	58, // 8: master_pb.StorageBackend.properties:type_name -> master_pb.StorageBackend.PropertiesEntry | |
| 	59, // 9: master_pb.SuperBlockExtra.erasure_coding:type_name -> master_pb.SuperBlockExtra.ErasureCoding | |
| 	9,  // 10: master_pb.KeepConnectedResponse.volume_location:type_name -> master_pb.VolumeLocation | |
| 	10, // 11: master_pb.KeepConnectedResponse.cluster_node_update:type_name -> master_pb.ClusterNodeUpdate | |
| 	60, // 12: master_pb.LookupVolumeResponse.volume_id_locations:type_name -> master_pb.LookupVolumeResponse.VolumeIdLocation | |
| 	14, // 13: master_pb.AssignResponse.replicas:type_name -> master_pb.Location | |
| 	14, // 14: master_pb.AssignResponse.location:type_name -> master_pb.Location | |
| 	19, // 15: master_pb.CollectionListResponse.collections:type_name -> master_pb.Collection | |
| 	2,  // 16: master_pb.DiskInfo.volume_infos:type_name -> master_pb.VolumeInformationMessage | |
| 	4,  // 17: master_pb.DiskInfo.ec_shard_infos:type_name -> master_pb.VolumeEcShardInformationMessage | |
| 	61, // 18: master_pb.DataNodeInfo.diskInfos:type_name -> master_pb.DataNodeInfo.DiskInfosEntry | |
| 	25, // 19: master_pb.RackInfo.data_node_infos:type_name -> master_pb.DataNodeInfo | |
| 	62, // 20: master_pb.RackInfo.diskInfos:type_name -> master_pb.RackInfo.DiskInfosEntry | |
| 	26, // 21: master_pb.DataCenterInfo.rack_infos:type_name -> master_pb.RackInfo | |
| 	63, // 22: master_pb.DataCenterInfo.diskInfos:type_name -> master_pb.DataCenterInfo.DiskInfosEntry | |
| 	27, // 23: master_pb.TopologyInfo.data_center_infos:type_name -> master_pb.DataCenterInfo | |
| 	64, // 24: master_pb.TopologyInfo.diskInfos:type_name -> master_pb.TopologyInfo.DiskInfosEntry | |
| 	28, // 25: master_pb.VolumeListResponse.topology_info:type_name -> master_pb.TopologyInfo | |
| 	65, // 26: master_pb.LookupEcVolumeResponse.shard_id_locations:type_name -> master_pb.LookupEcVolumeResponse.EcShardIdLocation | |
| 	5,  // 27: master_pb.GetMasterConfigurationResponse.storage_backends:type_name -> master_pb.StorageBackend | |
| 	66, // 28: master_pb.ListClusterNodesResponse.cluster_nodes:type_name -> master_pb.ListClusterNodesResponse.ClusterNode | |
| 	67, // 29: master_pb.RaftListClusterServersResponse.cluster_servers:type_name -> master_pb.RaftListClusterServersResponse.ClusterServers | |
| 	14, // 30: master_pb.LookupVolumeResponse.VolumeIdLocation.locations:type_name -> master_pb.Location | |
| 	24, // 31: master_pb.DataNodeInfo.DiskInfosEntry.value:type_name -> master_pb.DiskInfo | |
| 	24, // 32: master_pb.RackInfo.DiskInfosEntry.value:type_name -> master_pb.DiskInfo | |
| 	24, // 33: master_pb.DataCenterInfo.DiskInfosEntry.value:type_name -> master_pb.DiskInfo | |
| 	24, // 34: master_pb.TopologyInfo.DiskInfosEntry.value:type_name -> master_pb.DiskInfo | |
| 	14, // 35: master_pb.LookupEcVolumeResponse.EcShardIdLocation.locations:type_name -> master_pb.Location | |
| 	0,  // 36: master_pb.Seaweed.SendHeartbeat:input_type -> master_pb.Heartbeat | |
| 	8,  // 37: master_pb.Seaweed.KeepConnected:input_type -> master_pb.KeepConnectedRequest | |
| 	12, // 38: master_pb.Seaweed.LookupVolume:input_type -> master_pb.LookupVolumeRequest | |
| 	15, // 39: master_pb.Seaweed.Assign:input_type -> master_pb.AssignRequest | |
| 	15, // 40: master_pb.Seaweed.StreamAssign:input_type -> master_pb.AssignRequest | |
| 	17, // 41: master_pb.Seaweed.Statistics:input_type -> master_pb.StatisticsRequest | |
| 	20, // 42: master_pb.Seaweed.CollectionList:input_type -> master_pb.CollectionListRequest | |
| 	22, // 43: master_pb.Seaweed.CollectionDelete:input_type -> master_pb.CollectionDeleteRequest | |
| 	29, // 44: master_pb.Seaweed.VolumeList:input_type -> master_pb.VolumeListRequest | |
| 	31, // 45: master_pb.Seaweed.LookupEcVolume:input_type -> master_pb.LookupEcVolumeRequest | |
| 	33, // 46: master_pb.Seaweed.VacuumVolume:input_type -> master_pb.VacuumVolumeRequest | |
| 	35, // 47: master_pb.Seaweed.DisableVacuum:input_type -> master_pb.DisableVacuumRequest | |
| 	37, // 48: master_pb.Seaweed.EnableVacuum:input_type -> master_pb.EnableVacuumRequest | |
| 	39, // 49: master_pb.Seaweed.VolumeMarkReadonly:input_type -> master_pb.VolumeMarkReadonlyRequest | |
| 	41, // 50: master_pb.Seaweed.GetMasterConfiguration:input_type -> master_pb.GetMasterConfigurationRequest | |
| 	43, // 51: master_pb.Seaweed.ListClusterNodes:input_type -> master_pb.ListClusterNodesRequest | |
| 	45, // 52: master_pb.Seaweed.LeaseAdminToken:input_type -> master_pb.LeaseAdminTokenRequest | |
| 	47, // 53: master_pb.Seaweed.ReleaseAdminToken:input_type -> master_pb.ReleaseAdminTokenRequest | |
| 	49, // 54: master_pb.Seaweed.Ping:input_type -> master_pb.PingRequest | |
| 	55, // 55: master_pb.Seaweed.RaftListClusterServers:input_type -> master_pb.RaftListClusterServersRequest | |
| 	51, // 56: master_pb.Seaweed.RaftAddServer:input_type -> master_pb.RaftAddServerRequest | |
| 	53, // 57: master_pb.Seaweed.RaftRemoveServer:input_type -> master_pb.RaftRemoveServerRequest | |
| 	1,  // 58: master_pb.Seaweed.SendHeartbeat:output_type -> master_pb.HeartbeatResponse | |
| 	11, // 59: master_pb.Seaweed.KeepConnected:output_type -> master_pb.KeepConnectedResponse | |
| 	13, // 60: master_pb.Seaweed.LookupVolume:output_type -> master_pb.LookupVolumeResponse | |
| 	16, // 61: master_pb.Seaweed.Assign:output_type -> master_pb.AssignResponse | |
| 	16, // 62: master_pb.Seaweed.StreamAssign:output_type -> master_pb.AssignResponse | |
| 	18, // 63: master_pb.Seaweed.Statistics:output_type -> master_pb.StatisticsResponse | |
| 	21, // 64: master_pb.Seaweed.CollectionList:output_type -> master_pb.CollectionListResponse | |
| 	23, // 65: master_pb.Seaweed.CollectionDelete:output_type -> master_pb.CollectionDeleteResponse | |
| 	30, // 66: master_pb.Seaweed.VolumeList:output_type -> master_pb.VolumeListResponse | |
| 	32, // 67: master_pb.Seaweed.LookupEcVolume:output_type -> master_pb.LookupEcVolumeResponse | |
| 	34, // 68: master_pb.Seaweed.VacuumVolume:output_type -> master_pb.VacuumVolumeResponse | |
| 	36, // 69: master_pb.Seaweed.DisableVacuum:output_type -> master_pb.DisableVacuumResponse | |
| 	38, // 70: master_pb.Seaweed.EnableVacuum:output_type -> master_pb.EnableVacuumResponse | |
| 	40, // 71: master_pb.Seaweed.VolumeMarkReadonly:output_type -> master_pb.VolumeMarkReadonlyResponse | |
| 	42, // 72: master_pb.Seaweed.GetMasterConfiguration:output_type -> master_pb.GetMasterConfigurationResponse | |
| 	44, // 73: master_pb.Seaweed.ListClusterNodes:output_type -> master_pb.ListClusterNodesResponse | |
| 	46, // 74: master_pb.Seaweed.LeaseAdminToken:output_type -> master_pb.LeaseAdminTokenResponse | |
| 	48, // 75: master_pb.Seaweed.ReleaseAdminToken:output_type -> master_pb.ReleaseAdminTokenResponse | |
| 	50, // 76: master_pb.Seaweed.Ping:output_type -> master_pb.PingResponse | |
| 	56, // 77: master_pb.Seaweed.RaftListClusterServers:output_type -> master_pb.RaftListClusterServersResponse | |
| 	52, // 78: master_pb.Seaweed.RaftAddServer:output_type -> master_pb.RaftAddServerResponse | |
| 	54, // 79: master_pb.Seaweed.RaftRemoveServer:output_type -> master_pb.RaftRemoveServerResponse | |
| 	58, // [58:80] is the sub-list for method output_type | |
| 	36, // [36:58] is the sub-list for method input_type | |
| 	36, // [36:36] is the sub-list for extension type_name | |
| 	36, // [36:36] is the sub-list for extension extendee | |
| 	0,  // [0:36] is the sub-list for field type_name | |
| } | |
| 
 | |
| func init() { file_master_proto_init() } | |
| func file_master_proto_init() { | |
| 	if File_master_proto != nil { | |
| 		return | |
| 	} | |
| 	if !protoimpl.UnsafeEnabled { | |
| 		file_master_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*Heartbeat); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*HeartbeatResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeInformationMessage); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeShortInformationMessage); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeEcShardInformationMessage); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*StorageBackend); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[6].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_master_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*SuperBlockExtra); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*KeepConnectedRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeLocation); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ClusterNodeUpdate); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*KeepConnectedResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*LookupVolumeRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*LookupVolumeResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*Location); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*AssignRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*AssignResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*StatisticsRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*StatisticsResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*Collection); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*CollectionListRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*CollectionListResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*CollectionDeleteRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*CollectionDeleteResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*DiskInfo); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*DataNodeInfo); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*RackInfo); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*DataCenterInfo); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*TopologyInfo); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeListRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VolumeListResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*LookupEcVolumeRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*LookupEcVolumeResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VacuumVolumeRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*VacuumVolumeResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*DisableVacuumRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*DisableVacuumResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*EnableVacuumRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*EnableVacuumResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[39].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_master_proto_msgTypes[40].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_master_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*GetMasterConfigurationRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*GetMasterConfigurationResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ListClusterNodesRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ListClusterNodesResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*LeaseAdminTokenRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*LeaseAdminTokenResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ReleaseAdminTokenRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ReleaseAdminTokenResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[49].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_master_proto_msgTypes[50].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_master_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*RaftAddServerRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*RaftAddServerResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*RaftRemoveServerRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*RaftRemoveServerResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*RaftListClusterServersRequest); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*RaftListClusterServersResponse); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*SuperBlockExtra_ErasureCoding); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*LookupVolumeResponse_VolumeIdLocation); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*LookupEcVolumeResponse_EcShardIdLocation); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*ListClusterNodesResponse_ClusterNode); i { | |
| 			case 0: | |
| 				return &v.state | |
| 			case 1: | |
| 				return &v.sizeCache | |
| 			case 2: | |
| 				return &v.unknownFields | |
| 			default: | |
| 				return nil | |
| 			} | |
| 		} | |
| 		file_master_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { | |
| 			switch v := v.(*RaftListClusterServersResponse_ClusterServers); 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_master_proto_rawDesc, | |
| 			NumEnums:      0, | |
| 			NumMessages:   68, | |
| 			NumExtensions: 0, | |
| 			NumServices:   1, | |
| 		}, | |
| 		GoTypes:           file_master_proto_goTypes, | |
| 		DependencyIndexes: file_master_proto_depIdxs, | |
| 		MessageInfos:      file_master_proto_msgTypes, | |
| 	}.Build() | |
| 	File_master_proto = out.File | |
| 	file_master_proto_rawDesc = nil | |
| 	file_master_proto_goTypes = nil | |
| 	file_master_proto_depIdxs = nil | |
| }
 |