seaweedfs/weed/pb/master_pb/master.pb.go

2369 lines
87 KiB
Go
Raw Normal View History

2017-01-10 17:01:12 +08:00
// Code generated by protoc-gen-go.
2018-10-11 15:21:32 +08:00
// source: master.proto
2017-01-10 17:01:12 +08:00
// DO NOT EDIT!
/*
2018-05-10 14:11:54 +08:00
Package master_pb is a generated protocol buffer package.
2017-01-10 17:01:12 +08:00
It is generated from these files:
2018-10-11 15:21:32 +08:00
master.proto
2017-01-10 17:01:12 +08:00
It has these top-level messages:
Heartbeat
HeartbeatResponse
VolumeInformationMessage
2019-04-21 02:35:20 +08:00
VolumeShortInformationMessage
VolumeEcShardInformationMessage
StorageBackend
Empty
2018-06-25 06:19:57 +08:00
SuperBlockExtra
KeepConnectedRequest
VolumeLocation
LookupVolumeRequest
LookupVolumeResponse
Location
AssignRequest
AssignResponse
StatisticsRequest
StatisticsResponse
2019-03-18 11:27:08 +08:00
StorageType
Collection
CollectionListRequest
CollectionListResponse
CollectionDeleteRequest
CollectionDeleteResponse
2019-03-18 11:27:08 +08:00
DataNodeInfo
RackInfo
DataCenterInfo
TopologyInfo
VolumeListRequest
VolumeListResponse
LookupEcVolumeRequest
LookupEcVolumeResponse
2019-06-24 06:29:49 +08:00
GetMasterConfigurationRequest
GetMasterConfigurationResponse
ListMasterClientsRequest
ListMasterClientsResponse
LeaseAdminTokenRequest
LeaseAdminTokenResponse
ReleaseAdminTokenRequest
ReleaseAdminTokenResponse
VerifyAdminTokenRequest
VerifyAdminTokenResponse
2017-01-10 17:01:12 +08:00
*/
2018-05-10 14:11:54 +08:00
package master_pb
2017-01-10 17:01:12 +08:00
2019-10-22 13:57:01 +08:00
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
2019-10-22 13:57:01 +08:00
import (
2017-01-10 17:01:12 +08:00
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type Heartbeat struct {
2017-01-11 15:57:16 +08:00
Ip string `protobuf:"bytes,1,opt,name=ip" json:"ip,omitempty"`
Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
PublicUrl string `protobuf:"bytes,3,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
MaxVolumeCount uint32 `protobuf:"varint,4,opt,name=max_volume_count,json=maxVolumeCount" json:"max_volume_count,omitempty"`
MaxFileKey uint64 `protobuf:"varint,5,opt,name=max_file_key,json=maxFileKey" json:"max_file_key,omitempty"`
DataCenter string `protobuf:"bytes,6,opt,name=data_center,json=dataCenter" json:"data_center,omitempty"`
Rack string `protobuf:"bytes,7,opt,name=rack" json:"rack,omitempty"`
AdminPort uint32 `protobuf:"varint,8,opt,name=admin_port,json=adminPort" json:"admin_port,omitempty"`
2017-01-10 17:01:12 +08:00
Volumes []*VolumeInformationMessage `protobuf:"bytes,9,rep,name=volumes" json:"volumes,omitempty"`
2019-04-21 02:35:20 +08:00
// delta volumes
NewVolumes []*VolumeShortInformationMessage `protobuf:"bytes,10,rep,name=new_volumes,json=newVolumes" json:"new_volumes,omitempty"`
DeletedVolumes []*VolumeShortInformationMessage `protobuf:"bytes,11,rep,name=deleted_volumes,json=deletedVolumes" json:"deleted_volumes,omitempty"`
2019-06-06 04:32:33 +08:00
HasNoVolumes bool `protobuf:"varint,12,opt,name=has_no_volumes,json=hasNoVolumes" json:"has_no_volumes,omitempty"`
// erasure coding
EcShards []*VolumeEcShardInformationMessage `protobuf:"bytes,16,rep,name=ec_shards,json=ecShards" json:"ec_shards,omitempty"`
// delta erasure coding shards
NewEcShards []*VolumeEcShardInformationMessage `protobuf:"bytes,17,rep,name=new_ec_shards,json=newEcShards" json:"new_ec_shards,omitempty"`
DeletedEcShards []*VolumeEcShardInformationMessage `protobuf:"bytes,18,rep,name=deleted_ec_shards,json=deletedEcShards" json:"deleted_ec_shards,omitempty"`
2019-06-06 04:32:33 +08:00
HasNoEcShards bool `protobuf:"varint,19,opt,name=has_no_ec_shards,json=hasNoEcShards" json:"has_no_ec_shards,omitempty"`
2017-01-10 17:01:12 +08:00
}
func (m *Heartbeat) Reset() { *m = Heartbeat{} }
func (m *Heartbeat) String() string { return proto.CompactTextString(m) }
func (*Heartbeat) ProtoMessage() {}
func (*Heartbeat) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *Heartbeat) GetIp() string {
if m != nil {
return m.Ip
}
return ""
}
func (m *Heartbeat) GetPort() uint32 {
if m != nil {
return m.Port
}
return 0
}
func (m *Heartbeat) GetPublicUrl() string {
if m != nil {
return m.PublicUrl
}
return ""
}
func (m *Heartbeat) GetMaxVolumeCount() uint32 {
if m != nil {
return m.MaxVolumeCount
}
return 0
}
func (m *Heartbeat) GetMaxFileKey() uint64 {
if m != nil {
return m.MaxFileKey
}
return 0
}
func (m *Heartbeat) GetDataCenter() string {
if m != nil {
return m.DataCenter
}
return ""
}
func (m *Heartbeat) GetRack() string {
if m != nil {
return m.Rack
}
return ""
}
2017-01-11 15:57:16 +08:00
func (m *Heartbeat) GetAdminPort() uint32 {
2017-01-10 17:01:12 +08:00
if m != nil {
2017-01-11 15:57:16 +08:00
return m.AdminPort
2017-01-10 17:01:12 +08:00
}
2017-01-11 15:57:16 +08:00
return 0
2017-01-10 17:01:12 +08:00
}
2017-01-11 15:57:16 +08:00
func (m *Heartbeat) GetVolumes() []*VolumeInformationMessage {
2017-01-10 17:01:12 +08:00
if m != nil {
2017-01-11 15:57:16 +08:00
return m.Volumes
2017-01-10 17:01:12 +08:00
}
2017-01-11 15:57:16 +08:00
return nil
2017-01-10 17:01:12 +08:00
}
2019-04-21 02:35:20 +08:00
func (m *Heartbeat) GetNewVolumes() []*VolumeShortInformationMessage {
if m != nil {
2019-04-21 02:35:20 +08:00
return m.NewVolumes
}
return nil
}
2019-04-21 02:35:20 +08:00
func (m *Heartbeat) GetDeletedVolumes() []*VolumeShortInformationMessage {
if m != nil {
2019-04-21 02:35:20 +08:00
return m.DeletedVolumes
}
return nil
}
2019-06-06 04:32:33 +08:00
func (m *Heartbeat) GetHasNoVolumes() bool {
if m != nil {
return m.HasNoVolumes
}
return false
}
func (m *Heartbeat) GetEcShards() []*VolumeEcShardInformationMessage {
if m != nil {
return m.EcShards
}
return nil
}
func (m *Heartbeat) GetNewEcShards() []*VolumeEcShardInformationMessage {
if m != nil {
return m.NewEcShards
}
return nil
}
func (m *Heartbeat) GetDeletedEcShards() []*VolumeEcShardInformationMessage {
if m != nil {
return m.DeletedEcShards
}
return nil
}
2019-06-06 04:32:33 +08:00
func (m *Heartbeat) GetHasNoEcShards() bool {
if m != nil {
return m.HasNoEcShards
}
return false
}
2017-01-10 17:01:12 +08:00
type HeartbeatResponse struct {
VolumeSizeLimit uint64 `protobuf:"varint,1,opt,name=volume_size_limit,json=volumeSizeLimit" json:"volume_size_limit,omitempty"`
Leader string `protobuf:"bytes,2,opt,name=leader" json:"leader,omitempty"`
MetricsAddress string `protobuf:"bytes,3,opt,name=metrics_address,json=metricsAddress" json:"metrics_address,omitempty"`
MetricsIntervalSeconds uint32 `protobuf:"varint,4,opt,name=metrics_interval_seconds,json=metricsIntervalSeconds" json:"metrics_interval_seconds,omitempty"`
StorageBackends []*StorageBackend `protobuf:"bytes,5,rep,name=storage_backends,json=storageBackends" json:"storage_backends,omitempty"`
2017-01-10 17:01:12 +08:00
}
func (m *HeartbeatResponse) Reset() { *m = HeartbeatResponse{} }
func (m *HeartbeatResponse) String() string { return proto.CompactTextString(m) }
func (*HeartbeatResponse) ProtoMessage() {}
func (*HeartbeatResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (m *HeartbeatResponse) GetVolumeSizeLimit() uint64 {
if m != nil {
return m.VolumeSizeLimit
}
return 0
}
func (m *HeartbeatResponse) GetLeader() string {
if m != nil {
return m.Leader
}
return ""
}
func (m *HeartbeatResponse) GetMetricsAddress() string {
if m != nil {
return m.MetricsAddress
}
return ""
}
func (m *HeartbeatResponse) GetMetricsIntervalSeconds() uint32 {
if m != nil {
return m.MetricsIntervalSeconds
}
return 0
}
func (m *HeartbeatResponse) GetStorageBackends() []*StorageBackend {
if m != nil {
return m.StorageBackends
}
return nil
}
2017-01-10 17:01:12 +08:00
type VolumeInformationMessage struct {
Id uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
Size uint64 `protobuf:"varint,2,opt,name=size" json:"size,omitempty"`
Collection string `protobuf:"bytes,3,opt,name=collection" json:"collection,omitempty"`
FileCount uint64 `protobuf:"varint,4,opt,name=file_count,json=fileCount" json:"file_count,omitempty"`
DeleteCount uint64 `protobuf:"varint,5,opt,name=delete_count,json=deleteCount" json:"delete_count,omitempty"`
DeletedByteCount uint64 `protobuf:"varint,6,opt,name=deleted_byte_count,json=deletedByteCount" json:"deleted_byte_count,omitempty"`
ReadOnly bool `protobuf:"varint,7,opt,name=read_only,json=readOnly" json:"read_only,omitempty"`
ReplicaPlacement uint32 `protobuf:"varint,8,opt,name=replica_placement,json=replicaPlacement" json:"replica_placement,omitempty"`
Version uint32 `protobuf:"varint,9,opt,name=version" json:"version,omitempty"`
Ttl uint32 `protobuf:"varint,10,opt,name=ttl" json:"ttl,omitempty"`
CompactRevision uint32 `protobuf:"varint,11,opt,name=compact_revision,json=compactRevision" json:"compact_revision,omitempty"`
ModifiedAtSecond int64 `protobuf:"varint,12,opt,name=modified_at_second,json=modifiedAtSecond" json:"modified_at_second,omitempty"`
RemoteStorageName string `protobuf:"bytes,13,opt,name=remote_storage_name,json=remoteStorageName" json:"remote_storage_name,omitempty"`
RemoteStorageKey string `protobuf:"bytes,14,opt,name=remote_storage_key,json=remoteStorageKey" json:"remote_storage_key,omitempty"`
2017-01-10 17:01:12 +08:00
}
func (m *VolumeInformationMessage) Reset() { *m = VolumeInformationMessage{} }
func (m *VolumeInformationMessage) String() string { return proto.CompactTextString(m) }
func (*VolumeInformationMessage) ProtoMessage() {}
func (*VolumeInformationMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func (m *VolumeInformationMessage) GetId() uint32 {
if m != nil {
return m.Id
}
return 0
}
func (m *VolumeInformationMessage) GetSize() uint64 {
if m != nil {
return m.Size
}
return 0
}
func (m *VolumeInformationMessage) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
func (m *VolumeInformationMessage) GetFileCount() uint64 {
if m != nil {
return m.FileCount
}
return 0
}
func (m *VolumeInformationMessage) GetDeleteCount() uint64 {
if m != nil {
return m.DeleteCount
}
return 0
}
func (m *VolumeInformationMessage) GetDeletedByteCount() uint64 {
if m != nil {
return m.DeletedByteCount
}
return 0
}
func (m *VolumeInformationMessage) GetReadOnly() bool {
if m != nil {
return m.ReadOnly
}
return false
}
func (m *VolumeInformationMessage) GetReplicaPlacement() uint32 {
if m != nil {
return m.ReplicaPlacement
}
return 0
}
func (m *VolumeInformationMessage) GetVersion() uint32 {
if m != nil {
return m.Version
}
return 0
}
func (m *VolumeInformationMessage) GetTtl() uint32 {
if m != nil {
return m.Ttl
}
return 0
}
func (m *VolumeInformationMessage) GetCompactRevision() uint32 {
if m != nil {
return m.CompactRevision
}
return 0
}
func (m *VolumeInformationMessage) GetModifiedAtSecond() int64 {
if m != nil {
return m.ModifiedAtSecond
}
return 0
}
func (m *VolumeInformationMessage) GetRemoteStorageName() string {
if m != nil {
return m.RemoteStorageName
}
return ""
}
func (m *VolumeInformationMessage) GetRemoteStorageKey() string {
if m != nil {
return m.RemoteStorageKey
}
return ""
}
2019-04-21 02:35:20 +08:00
type VolumeShortInformationMessage struct {
Id uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
Collection string `protobuf:"bytes,3,opt,name=collection" json:"collection,omitempty"`
ReplicaPlacement uint32 `protobuf:"varint,8,opt,name=replica_placement,json=replicaPlacement" json:"replica_placement,omitempty"`
2019-04-21 14:53:37 +08:00
Version uint32 `protobuf:"varint,9,opt,name=version" json:"version,omitempty"`
2019-04-21 02:35:20 +08:00
Ttl uint32 `protobuf:"varint,10,opt,name=ttl" json:"ttl,omitempty"`
}
func (m *VolumeShortInformationMessage) Reset() { *m = VolumeShortInformationMessage{} }
func (m *VolumeShortInformationMessage) String() string { return proto.CompactTextString(m) }
func (*VolumeShortInformationMessage) ProtoMessage() {}
func (*VolumeShortInformationMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
func (m *VolumeShortInformationMessage) GetId() uint32 {
if m != nil {
return m.Id
}
return 0
}
func (m *VolumeShortInformationMessage) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
func (m *VolumeShortInformationMessage) GetReplicaPlacement() uint32 {
if m != nil {
return m.ReplicaPlacement
}
return 0
}
2019-04-21 14:53:37 +08:00
func (m *VolumeShortInformationMessage) GetVersion() uint32 {
if m != nil {
return m.Version
}
return 0
}
2019-04-21 02:35:20 +08:00
func (m *VolumeShortInformationMessage) GetTtl() uint32 {
if m != nil {
return m.Ttl
}
return 0
}
type VolumeEcShardInformationMessage struct {
Id uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
EcIndexBits uint32 `protobuf:"varint,3,opt,name=ec_index_bits,json=ecIndexBits" json:"ec_index_bits,omitempty"`
}
func (m *VolumeEcShardInformationMessage) Reset() { *m = VolumeEcShardInformationMessage{} }
func (m *VolumeEcShardInformationMessage) String() string { return proto.CompactTextString(m) }
func (*VolumeEcShardInformationMessage) ProtoMessage() {}
func (*VolumeEcShardInformationMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *VolumeEcShardInformationMessage) GetId() uint32 {
if m != nil {
return m.Id
}
return 0
}
func (m *VolumeEcShardInformationMessage) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
func (m *VolumeEcShardInformationMessage) GetEcIndexBits() uint32 {
if m != nil {
return m.EcIndexBits
}
return 0
}
type StorageBackend struct {
Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
Properties map[string]string `protobuf:"bytes,3,rep,name=properties" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}
func (m *StorageBackend) Reset() { *m = StorageBackend{} }
func (m *StorageBackend) String() string { return proto.CompactTextString(m) }
func (*StorageBackend) ProtoMessage() {}
func (*StorageBackend) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (m *StorageBackend) GetType() string {
if m != nil {
return m.Type
}
return ""
}
func (m *StorageBackend) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *StorageBackend) GetProperties() map[string]string {
if m != nil {
return m.Properties
}
return nil
}
type Empty struct {
}
func (m *Empty) Reset() { *m = Empty{} }
func (m *Empty) String() string { return proto.CompactTextString(m) }
func (*Empty) ProtoMessage() {}
func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
2018-06-25 06:19:57 +08:00
type SuperBlockExtra struct {
ErasureCoding *SuperBlockExtra_ErasureCoding `protobuf:"bytes,1,opt,name=erasure_coding,json=erasureCoding" json:"erasure_coding,omitempty"`
2018-06-25 06:19:57 +08:00
}
func (m *SuperBlockExtra) Reset() { *m = SuperBlockExtra{} }
func (m *SuperBlockExtra) String() string { return proto.CompactTextString(m) }
func (*SuperBlockExtra) ProtoMessage() {}
func (*SuperBlockExtra) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
2018-06-25 06:19:57 +08:00
func (m *SuperBlockExtra) GetErasureCoding() *SuperBlockExtra_ErasureCoding {
if m != nil {
return m.ErasureCoding
}
return nil
}
type SuperBlockExtra_ErasureCoding struct {
Data uint32 `protobuf:"varint,1,opt,name=data" json:"data,omitempty"`
Parity uint32 `protobuf:"varint,2,opt,name=parity" json:"parity,omitempty"`
VolumeIds []uint32 `protobuf:"varint,3,rep,packed,name=volume_ids,json=volumeIds" json:"volume_ids,omitempty"`
}
func (m *SuperBlockExtra_ErasureCoding) Reset() { *m = SuperBlockExtra_ErasureCoding{} }
func (m *SuperBlockExtra_ErasureCoding) String() string { return proto.CompactTextString(m) }
func (*SuperBlockExtra_ErasureCoding) ProtoMessage() {}
func (*SuperBlockExtra_ErasureCoding) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{7, 0}
}
func (m *SuperBlockExtra_ErasureCoding) GetData() uint32 {
if m != nil {
return m.Data
}
return 0
}
func (m *SuperBlockExtra_ErasureCoding) GetParity() uint32 {
if m != nil {
return m.Parity
}
return 0
}
func (m *SuperBlockExtra_ErasureCoding) GetVolumeIds() []uint32 {
if m != nil {
return m.VolumeIds
}
return nil
}
type KeepConnectedRequest struct {
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
GrpcPort uint32 `protobuf:"varint,2,opt,name=grpc_port,json=grpcPort" json:"grpc_port,omitempty"`
}
func (m *KeepConnectedRequest) Reset() { *m = KeepConnectedRequest{} }
func (m *KeepConnectedRequest) String() string { return proto.CompactTextString(m) }
func (*KeepConnectedRequest) ProtoMessage() {}
func (*KeepConnectedRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
func (m *KeepConnectedRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *KeepConnectedRequest) GetGrpcPort() uint32 {
if m != nil {
return m.GrpcPort
}
return 0
}
type VolumeLocation struct {
Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
PublicUrl string `protobuf:"bytes,2,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
NewVids []uint32 `protobuf:"varint,3,rep,packed,name=new_vids,json=newVids" json:"new_vids,omitempty"`
DeletedVids []uint32 `protobuf:"varint,4,rep,packed,name=deleted_vids,json=deletedVids" json:"deleted_vids,omitempty"`
Leader string `protobuf:"bytes,5,opt,name=leader" json:"leader,omitempty"`
}
func (m *VolumeLocation) Reset() { *m = VolumeLocation{} }
func (m *VolumeLocation) String() string { return proto.CompactTextString(m) }
func (*VolumeLocation) ProtoMessage() {}
func (*VolumeLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
func (m *VolumeLocation) GetUrl() string {
if m != nil {
return m.Url
}
return ""
}
func (m *VolumeLocation) GetPublicUrl() string {
if m != nil {
return m.PublicUrl
}
return ""
}
func (m *VolumeLocation) GetNewVids() []uint32 {
if m != nil {
return m.NewVids
}
return nil
}
func (m *VolumeLocation) GetDeletedVids() []uint32 {
if m != nil {
return m.DeletedVids
}
return nil
}
func (m *VolumeLocation) GetLeader() string {
if m != nil {
return m.Leader
}
return ""
}
type LookupVolumeRequest struct {
VolumeIds []string `protobuf:"bytes,1,rep,name=volume_ids,json=volumeIds" json:"volume_ids,omitempty"`
Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
}
func (m *LookupVolumeRequest) Reset() { *m = LookupVolumeRequest{} }
func (m *LookupVolumeRequest) String() string { return proto.CompactTextString(m) }
func (*LookupVolumeRequest) ProtoMessage() {}
func (*LookupVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (m *LookupVolumeRequest) GetVolumeIds() []string {
if m != nil {
return m.VolumeIds
}
return nil
}
func (m *LookupVolumeRequest) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
type LookupVolumeResponse struct {
VolumeIdLocations []*LookupVolumeResponse_VolumeIdLocation `protobuf:"bytes,1,rep,name=volume_id_locations,json=volumeIdLocations" json:"volume_id_locations,omitempty"`
}
func (m *LookupVolumeResponse) Reset() { *m = LookupVolumeResponse{} }
func (m *LookupVolumeResponse) String() string { return proto.CompactTextString(m) }
func (*LookupVolumeResponse) ProtoMessage() {}
func (*LookupVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
func (m *LookupVolumeResponse) GetVolumeIdLocations() []*LookupVolumeResponse_VolumeIdLocation {
if m != nil {
return m.VolumeIdLocations
}
return nil
}
type LookupVolumeResponse_VolumeIdLocation struct {
VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
Locations []*Location `protobuf:"bytes,2,rep,name=locations" json:"locations,omitempty"`
Error string `protobuf:"bytes,3,opt,name=error" json:"error,omitempty"`
}
func (m *LookupVolumeResponse_VolumeIdLocation) Reset() { *m = LookupVolumeResponse_VolumeIdLocation{} }
func (m *LookupVolumeResponse_VolumeIdLocation) String() string { return proto.CompactTextString(m) }
func (*LookupVolumeResponse_VolumeIdLocation) ProtoMessage() {}
func (*LookupVolumeResponse_VolumeIdLocation) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{11, 0}
}
func (m *LookupVolumeResponse_VolumeIdLocation) GetVolumeId() string {
if m != nil {
return m.VolumeId
}
return ""
}
func (m *LookupVolumeResponse_VolumeIdLocation) GetLocations() []*Location {
if m != nil {
return m.Locations
}
return nil
}
func (m *LookupVolumeResponse_VolumeIdLocation) GetError() string {
if m != nil {
return m.Error
}
return ""
}
type Location struct {
Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
PublicUrl string `protobuf:"bytes,2,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
}
func (m *Location) Reset() { *m = Location{} }
func (m *Location) String() string { return proto.CompactTextString(m) }
func (*Location) ProtoMessage() {}
func (*Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
func (m *Location) GetUrl() string {
if m != nil {
return m.Url
}
return ""
}
func (m *Location) GetPublicUrl() string {
if m != nil {
return m.PublicUrl
}
return ""
}
type AssignRequest struct {
Count uint64 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
Replication string `protobuf:"bytes,2,opt,name=replication" json:"replication,omitempty"`
Collection string `protobuf:"bytes,3,opt,name=collection" json:"collection,omitempty"`
Ttl string `protobuf:"bytes,4,opt,name=ttl" json:"ttl,omitempty"`
DataCenter string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter" json:"data_center,omitempty"`
Rack string `protobuf:"bytes,6,opt,name=rack" json:"rack,omitempty"`
DataNode string `protobuf:"bytes,7,opt,name=data_node,json=dataNode" json:"data_node,omitempty"`
2019-11-11 04:05:45 +08:00
MemoryMapMaxSizeMb uint32 `protobuf:"varint,8,opt,name=memory_map_max_size_mb,json=memoryMapMaxSizeMb" json:"memory_map_max_size_mb,omitempty"`
WritableVolumeCount uint32 `protobuf:"varint,9,opt,name=Writable_volume_count,json=WritableVolumeCount" json:"Writable_volume_count,omitempty"`
}
func (m *AssignRequest) Reset() { *m = AssignRequest{} }
func (m *AssignRequest) String() string { return proto.CompactTextString(m) }
func (*AssignRequest) ProtoMessage() {}
func (*AssignRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
func (m *AssignRequest) GetCount() uint64 {
if m != nil {
return m.Count
}
return 0
}
func (m *AssignRequest) GetReplication() string {
if m != nil {
return m.Replication
}
return ""
}
func (m *AssignRequest) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
func (m *AssignRequest) GetTtl() string {
if m != nil {
return m.Ttl
}
return ""
}
func (m *AssignRequest) GetDataCenter() string {
if m != nil {
return m.DataCenter
}
return ""
}
func (m *AssignRequest) GetRack() string {
if m != nil {
return m.Rack
}
return ""
}
func (m *AssignRequest) GetDataNode() string {
if m != nil {
return m.DataNode
}
return ""
}
2019-10-22 13:57:01 +08:00
func (m *AssignRequest) GetMemoryMapMaxSizeMb() uint32 {
if m != nil {
2019-10-22 13:57:01 +08:00
return m.MemoryMapMaxSizeMb
}
return 0
}
2019-11-11 04:05:45 +08:00
func (m *AssignRequest) GetWritableVolumeCount() uint32 {
if m != nil {
return m.WritableVolumeCount
}
return 0
}
type AssignResponse struct {
Fid string `protobuf:"bytes,1,opt,name=fid" json:"fid,omitempty"`
Url string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
PublicUrl string `protobuf:"bytes,3,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
Count uint64 `protobuf:"varint,4,opt,name=count" json:"count,omitempty"`
Error string `protobuf:"bytes,5,opt,name=error" json:"error,omitempty"`
2019-02-15 16:09:19 +08:00
Auth string `protobuf:"bytes,6,opt,name=auth" json:"auth,omitempty"`
}
func (m *AssignResponse) Reset() { *m = AssignResponse{} }
func (m *AssignResponse) String() string { return proto.CompactTextString(m) }
func (*AssignResponse) ProtoMessage() {}
func (*AssignResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
func (m *AssignResponse) GetFid() string {
if m != nil {
return m.Fid
}
return ""
}
func (m *AssignResponse) GetUrl() string {
if m != nil {
return m.Url
}
return ""
}
func (m *AssignResponse) GetPublicUrl() string {
if m != nil {
return m.PublicUrl
}
return ""
}
func (m *AssignResponse) GetCount() uint64 {
if m != nil {
return m.Count
}
return 0
}
func (m *AssignResponse) GetError() string {
if m != nil {
return m.Error
}
return ""
}
2019-02-15 16:09:19 +08:00
func (m *AssignResponse) GetAuth() string {
if m != nil {
return m.Auth
}
return ""
}
type StatisticsRequest struct {
Replication string `protobuf:"bytes,1,opt,name=replication" json:"replication,omitempty"`
Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
Ttl string `protobuf:"bytes,3,opt,name=ttl" json:"ttl,omitempty"`
}
func (m *StatisticsRequest) Reset() { *m = StatisticsRequest{} }
func (m *StatisticsRequest) String() string { return proto.CompactTextString(m) }
func (*StatisticsRequest) ProtoMessage() {}
func (*StatisticsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
func (m *StatisticsRequest) GetReplication() string {
if m != nil {
return m.Replication
}
return ""
}
func (m *StatisticsRequest) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
func (m *StatisticsRequest) GetTtl() string {
if m != nil {
return m.Ttl
}
return ""
}
type StatisticsResponse struct {
Replication string `protobuf:"bytes,1,opt,name=replication" json:"replication,omitempty"`
Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
Ttl string `protobuf:"bytes,3,opt,name=ttl" json:"ttl,omitempty"`
TotalSize uint64 `protobuf:"varint,4,opt,name=total_size,json=totalSize" json:"total_size,omitempty"`
UsedSize uint64 `protobuf:"varint,5,opt,name=used_size,json=usedSize" json:"used_size,omitempty"`
FileCount uint64 `protobuf:"varint,6,opt,name=file_count,json=fileCount" json:"file_count,omitempty"`
}
func (m *StatisticsResponse) Reset() { *m = StatisticsResponse{} }
func (m *StatisticsResponse) String() string { return proto.CompactTextString(m) }
func (*StatisticsResponse) ProtoMessage() {}
func (*StatisticsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
func (m *StatisticsResponse) GetReplication() string {
if m != nil {
return m.Replication
}
return ""
}
func (m *StatisticsResponse) GetCollection() string {
if m != nil {
return m.Collection
}
return ""
}
func (m *StatisticsResponse) GetTtl() string {
if m != nil {
return m.Ttl
}
return ""
}
func (m *StatisticsResponse) GetTotalSize() uint64 {
if m != nil {
return m.TotalSize
}
return 0
}
func (m *StatisticsResponse) GetUsedSize() uint64 {
if m != nil {
return m.UsedSize
}
return 0
}
func (m *StatisticsResponse) GetFileCount() uint64 {
if m != nil {
return m.FileCount
}
return 0
}
2019-03-18 11:27:08 +08:00
type StorageType struct {
Replication string `protobuf:"bytes,1,opt,name=replication" json:"replication,omitempty"`
Ttl string `protobuf:"bytes,2,opt,name=ttl" json:"ttl,omitempty"`
}
2019-03-18 11:27:08 +08:00
func (m *StorageType) Reset() { *m = StorageType{} }
func (m *StorageType) String() string { return proto.CompactTextString(m) }
func (*StorageType) ProtoMessage() {}
func (*StorageType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
2019-03-18 11:27:08 +08:00
func (m *StorageType) GetReplication() string {
if m != nil {
return m.Replication
}
return ""
}
2019-03-18 11:27:08 +08:00
func (m *StorageType) GetTtl() string {
if m != nil {
return m.Ttl
}
return ""
}
2019-03-18 11:27:08 +08:00
type Collection struct {
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}
2019-03-18 11:27:08 +08:00
func (m *Collection) Reset() { *m = Collection{} }
func (m *Collection) String() string { return proto.CompactTextString(m) }
func (*Collection) ProtoMessage() {}
func (*Collection) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
2019-03-18 11:27:08 +08:00
func (m *Collection) GetName() string {
if m != nil {
2019-03-18 11:27:08 +08:00
return m.Name
}
return ""
}
2019-03-18 11:27:08 +08:00
type CollectionListRequest struct {
2019-05-31 00:27:23 +08:00
IncludeNormalVolumes bool `protobuf:"varint,1,opt,name=include_normal_volumes,json=includeNormalVolumes" json:"include_normal_volumes,omitempty"`
IncludeEcVolumes bool `protobuf:"varint,2,opt,name=include_ec_volumes,json=includeEcVolumes" json:"include_ec_volumes,omitempty"`
}
2019-03-18 11:27:08 +08:00
func (m *CollectionListRequest) Reset() { *m = CollectionListRequest{} }
func (m *CollectionListRequest) String() string { return proto.CompactTextString(m) }
func (*CollectionListRequest) ProtoMessage() {}
func (*CollectionListRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
2019-03-18 11:27:08 +08:00
2019-05-31 00:27:23 +08:00
func (m *CollectionListRequest) GetIncludeNormalVolumes() bool {
if m != nil {
return m.IncludeNormalVolumes
}
return false
}
func (m *CollectionListRequest) GetIncludeEcVolumes() bool {
if m != nil {
return m.IncludeEcVolumes
}
return false
}
type CollectionListResponse struct {
Collections []*Collection `protobuf:"bytes,1,rep,name=collections" json:"collections,omitempty"`
}
func (m *CollectionListResponse) Reset() { *m = CollectionListResponse{} }
func (m *CollectionListResponse) String() string { return proto.CompactTextString(m) }
func (*CollectionListResponse) ProtoMessage() {}
func (*CollectionListResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
func (m *CollectionListResponse) GetCollections() []*Collection {
if m != nil {
return m.Collections
}
return nil
}
type CollectionDeleteRequest struct {
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
}
func (m *CollectionDeleteRequest) Reset() { *m = CollectionDeleteRequest{} }
func (m *CollectionDeleteRequest) String() string { return proto.CompactTextString(m) }
func (*CollectionDeleteRequest) ProtoMessage() {}
func (*CollectionDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
func (m *CollectionDeleteRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
type CollectionDeleteResponse struct {
}
func (m *CollectionDeleteResponse) Reset() { *m = CollectionDeleteResponse{} }
func (m *CollectionDeleteResponse) String() string { return proto.CompactTextString(m) }
func (*CollectionDeleteResponse) ProtoMessage() {}
func (*CollectionDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
2019-03-18 11:27:08 +08:00
//
// volume related
//
type DataNodeInfo struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
VolumeCount uint64 `protobuf:"varint,2,opt,name=volume_count,json=volumeCount" json:"volume_count,omitempty"`
MaxVolumeCount uint64 `protobuf:"varint,3,opt,name=max_volume_count,json=maxVolumeCount" json:"max_volume_count,omitempty"`
FreeVolumeCount uint64 `protobuf:"varint,4,opt,name=free_volume_count,json=freeVolumeCount" json:"free_volume_count,omitempty"`
ActiveVolumeCount uint64 `protobuf:"varint,5,opt,name=active_volume_count,json=activeVolumeCount" json:"active_volume_count,omitempty"`
VolumeInfos []*VolumeInformationMessage `protobuf:"bytes,6,rep,name=volume_infos,json=volumeInfos" json:"volume_infos,omitempty"`
EcShardInfos []*VolumeEcShardInformationMessage `protobuf:"bytes,7,rep,name=ec_shard_infos,json=ecShardInfos" json:"ec_shard_infos,omitempty"`
RemoteVolumeCount uint64 `protobuf:"varint,8,opt,name=remote_volume_count,json=remoteVolumeCount" json:"remote_volume_count,omitempty"`
2019-03-18 11:27:08 +08:00
}
func (m *DataNodeInfo) Reset() { *m = DataNodeInfo{} }
func (m *DataNodeInfo) String() string { return proto.CompactTextString(m) }
func (*DataNodeInfo) ProtoMessage() {}
func (*DataNodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
2019-03-18 11:27:08 +08:00
func (m *DataNodeInfo) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *DataNodeInfo) GetVolumeCount() uint64 {
if m != nil {
return m.VolumeCount
}
return 0
}
func (m *DataNodeInfo) GetMaxVolumeCount() uint64 {
if m != nil {
return m.MaxVolumeCount
}
return 0
}
func (m *DataNodeInfo) GetFreeVolumeCount() uint64 {
if m != nil {
return m.FreeVolumeCount
}
return 0
}
func (m *DataNodeInfo) GetActiveVolumeCount() uint64 {
if m != nil {
return m.ActiveVolumeCount
}
return 0
}
func (m *DataNodeInfo) GetVolumeInfos() []*VolumeInformationMessage {
if m != nil {
return m.VolumeInfos
}
return nil
}
func (m *DataNodeInfo) GetEcShardInfos() []*VolumeEcShardInformationMessage {
if m != nil {
return m.EcShardInfos
}
return nil
}
func (m *DataNodeInfo) GetRemoteVolumeCount() uint64 {
if m != nil {
return m.RemoteVolumeCount
}
return 0
}
2019-03-18 11:27:08 +08:00
type RackInfo struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
VolumeCount uint64 `protobuf:"varint,2,opt,name=volume_count,json=volumeCount" json:"volume_count,omitempty"`
MaxVolumeCount uint64 `protobuf:"varint,3,opt,name=max_volume_count,json=maxVolumeCount" json:"max_volume_count,omitempty"`
FreeVolumeCount uint64 `protobuf:"varint,4,opt,name=free_volume_count,json=freeVolumeCount" json:"free_volume_count,omitempty"`
ActiveVolumeCount uint64 `protobuf:"varint,5,opt,name=active_volume_count,json=activeVolumeCount" json:"active_volume_count,omitempty"`
DataNodeInfos []*DataNodeInfo `protobuf:"bytes,6,rep,name=data_node_infos,json=dataNodeInfos" json:"data_node_infos,omitempty"`
RemoteVolumeCount uint64 `protobuf:"varint,7,opt,name=remote_volume_count,json=remoteVolumeCount" json:"remote_volume_count,omitempty"`
2019-03-18 11:27:08 +08:00
}
func (m *RackInfo) Reset() { *m = RackInfo{} }
func (m *RackInfo) String() string { return proto.CompactTextString(m) }
func (*RackInfo) ProtoMessage() {}
func (*RackInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
2019-03-18 11:27:08 +08:00
func (m *RackInfo) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *RackInfo) GetVolumeCount() uint64 {
if m != nil {
return m.VolumeCount
}
return 0
}
func (m *RackInfo) GetMaxVolumeCount() uint64 {
if m != nil {
return m.MaxVolumeCount
}
return 0
}
func (m *RackInfo) GetFreeVolumeCount() uint64 {
if m != nil {
return m.FreeVolumeCount
}
return 0
}
func (m *RackInfo) GetActiveVolumeCount() uint64 {
if m != nil {
return m.ActiveVolumeCount
}
return 0
}
func (m *RackInfo) GetDataNodeInfos() []*DataNodeInfo {
if m != nil {
return m.DataNodeInfos
}
return nil
}
func (m *RackInfo) GetRemoteVolumeCount() uint64 {
if m != nil {
return m.RemoteVolumeCount
}
return 0
}
2019-03-18 11:27:08 +08:00
type DataCenterInfo struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
VolumeCount uint64 `protobuf:"varint,2,opt,name=volume_count,json=volumeCount" json:"volume_count,omitempty"`
MaxVolumeCount uint64 `protobuf:"varint,3,opt,name=max_volume_count,json=maxVolumeCount" json:"max_volume_count,omitempty"`
FreeVolumeCount uint64 `protobuf:"varint,4,opt,name=free_volume_count,json=freeVolumeCount" json:"free_volume_count,omitempty"`
ActiveVolumeCount uint64 `protobuf:"varint,5,opt,name=active_volume_count,json=activeVolumeCount" json:"active_volume_count,omitempty"`
RackInfos []*RackInfo `protobuf:"bytes,6,rep,name=rack_infos,json=rackInfos" json:"rack_infos,omitempty"`
RemoteVolumeCount uint64 `protobuf:"varint,7,opt,name=remote_volume_count,json=remoteVolumeCount" json:"remote_volume_count,omitempty"`
2019-03-18 11:27:08 +08:00
}
func (m *DataCenterInfo) Reset() { *m = DataCenterInfo{} }
func (m *DataCenterInfo) String() string { return proto.CompactTextString(m) }
func (*DataCenterInfo) ProtoMessage() {}
func (*DataCenterInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
2019-03-18 11:27:08 +08:00
func (m *DataCenterInfo) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *DataCenterInfo) GetVolumeCount() uint64 {
if m != nil {
return m.VolumeCount
}
return 0
}
func (m *DataCenterInfo) GetMaxVolumeCount() uint64 {
if m != nil {
return m.MaxVolumeCount
}
return 0
}
func (m *DataCenterInfo) GetFreeVolumeCount() uint64 {
if m != nil {
return m.FreeVolumeCount
}
return 0
}
func (m *DataCenterInfo) GetActiveVolumeCount() uint64 {
if m != nil {
return m.ActiveVolumeCount
}
return 0
}
func (m *DataCenterInfo) GetRackInfos() []*RackInfo {
if m != nil {
return m.RackInfos
}
return nil
}
func (m *DataCenterInfo) GetRemoteVolumeCount() uint64 {
if m != nil {
return m.RemoteVolumeCount
}
return 0
}
2019-03-18 11:27:08 +08:00
type TopologyInfo struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
VolumeCount uint64 `protobuf:"varint,2,opt,name=volume_count,json=volumeCount" json:"volume_count,omitempty"`
MaxVolumeCount uint64 `protobuf:"varint,3,opt,name=max_volume_count,json=maxVolumeCount" json:"max_volume_count,omitempty"`
FreeVolumeCount uint64 `protobuf:"varint,4,opt,name=free_volume_count,json=freeVolumeCount" json:"free_volume_count,omitempty"`
ActiveVolumeCount uint64 `protobuf:"varint,5,opt,name=active_volume_count,json=activeVolumeCount" json:"active_volume_count,omitempty"`
DataCenterInfos []*DataCenterInfo `protobuf:"bytes,6,rep,name=data_center_infos,json=dataCenterInfos" json:"data_center_infos,omitempty"`
RemoteVolumeCount uint64 `protobuf:"varint,7,opt,name=remote_volume_count,json=remoteVolumeCount" json:"remote_volume_count,omitempty"`
2019-03-18 11:27:08 +08:00
}
func (m *TopologyInfo) Reset() { *m = TopologyInfo{} }
func (m *TopologyInfo) String() string { return proto.CompactTextString(m) }
func (*TopologyInfo) ProtoMessage() {}
func (*TopologyInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
2019-03-18 11:27:08 +08:00
func (m *TopologyInfo) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *TopologyInfo) GetVolumeCount() uint64 {
if m != nil {
return m.VolumeCount
}
return 0
}
func (m *TopologyInfo) GetMaxVolumeCount() uint64 {
if m != nil {
return m.MaxVolumeCount
}
return 0
}
func (m *TopologyInfo) GetFreeVolumeCount() uint64 {
if m != nil {
return m.FreeVolumeCount
}
return 0
}
func (m *TopologyInfo) GetActiveVolumeCount() uint64 {
if m != nil {
return m.ActiveVolumeCount
}
return 0
}
func (m *TopologyInfo) GetDataCenterInfos() []*DataCenterInfo {
if m != nil {
return m.DataCenterInfos
}
return nil
}
func (m *TopologyInfo) GetRemoteVolumeCount() uint64 {
if m != nil {
return m.RemoteVolumeCount
}
return 0
}
2019-03-18 11:27:08 +08:00
type VolumeListRequest struct {
}
func (m *VolumeListRequest) Reset() { *m = VolumeListRequest{} }
func (m *VolumeListRequest) String() string { return proto.CompactTextString(m) }
func (*VolumeListRequest) ProtoMessage() {}
func (*VolumeListRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
2019-03-18 11:27:08 +08:00
type VolumeListResponse struct {
2019-05-06 12:17:23 +08:00
TopologyInfo *TopologyInfo `protobuf:"bytes,1,opt,name=topology_info,json=topologyInfo" json:"topology_info,omitempty"`
VolumeSizeLimitMb uint64 `protobuf:"varint,2,opt,name=volume_size_limit_mb,json=volumeSizeLimitMb" json:"volume_size_limit_mb,omitempty"`
2019-03-18 11:27:08 +08:00
}
func (m *VolumeListResponse) Reset() { *m = VolumeListResponse{} }
func (m *VolumeListResponse) String() string { return proto.CompactTextString(m) }
func (*VolumeListResponse) ProtoMessage() {}
func (*VolumeListResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
2019-03-18 11:27:08 +08:00
func (m *VolumeListResponse) GetTopologyInfo() *TopologyInfo {
if m != nil {
return m.TopologyInfo
}
return nil
}
2019-05-06 12:17:23 +08:00
func (m *VolumeListResponse) GetVolumeSizeLimitMb() uint64 {
if m != nil {
return m.VolumeSizeLimitMb
}
return 0
}
type LookupEcVolumeRequest struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
}
func (m *LookupEcVolumeRequest) Reset() { *m = LookupEcVolumeRequest{} }
func (m *LookupEcVolumeRequest) String() string { return proto.CompactTextString(m) }
func (*LookupEcVolumeRequest) ProtoMessage() {}
func (*LookupEcVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
func (m *LookupEcVolumeRequest) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
type LookupEcVolumeResponse struct {
VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
ShardIdLocations []*LookupEcVolumeResponse_EcShardIdLocation `protobuf:"bytes,2,rep,name=shard_id_locations,json=shardIdLocations" json:"shard_id_locations,omitempty"`
}
func (m *LookupEcVolumeResponse) Reset() { *m = LookupEcVolumeResponse{} }
func (m *LookupEcVolumeResponse) String() string { return proto.CompactTextString(m) }
func (*LookupEcVolumeResponse) ProtoMessage() {}
func (*LookupEcVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
func (m *LookupEcVolumeResponse) GetVolumeId() uint32 {
if m != nil {
return m.VolumeId
}
return 0
}
func (m *LookupEcVolumeResponse) GetShardIdLocations() []*LookupEcVolumeResponse_EcShardIdLocation {
if m != nil {
return m.ShardIdLocations
}
return nil
}
type LookupEcVolumeResponse_EcShardIdLocation struct {
ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId" json:"shard_id,omitempty"`
Locations []*Location `protobuf:"bytes,2,rep,name=locations" json:"locations,omitempty"`
}
func (m *LookupEcVolumeResponse_EcShardIdLocation) Reset() {
*m = LookupEcVolumeResponse_EcShardIdLocation{}
}
func (m *LookupEcVolumeResponse_EcShardIdLocation) String() string { return proto.CompactTextString(m) }
func (*LookupEcVolumeResponse_EcShardIdLocation) ProtoMessage() {}
func (*LookupEcVolumeResponse_EcShardIdLocation) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{30, 0}
}
func (m *LookupEcVolumeResponse_EcShardIdLocation) GetShardId() uint32 {
if m != nil {
return m.ShardId
}
return 0
}
func (m *LookupEcVolumeResponse_EcShardIdLocation) GetLocations() []*Location {
if m != nil {
return m.Locations
}
return nil
}
2019-06-24 06:29:49 +08:00
type GetMasterConfigurationRequest struct {
}
func (m *GetMasterConfigurationRequest) Reset() { *m = GetMasterConfigurationRequest{} }
func (m *GetMasterConfigurationRequest) String() string { return proto.CompactTextString(m) }
func (*GetMasterConfigurationRequest) ProtoMessage() {}
func (*GetMasterConfigurationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
2019-06-24 06:29:49 +08:00
type GetMasterConfigurationResponse struct {
MetricsAddress string `protobuf:"bytes,1,opt,name=metrics_address,json=metricsAddress" json:"metrics_address,omitempty"`
MetricsIntervalSeconds uint32 `protobuf:"varint,2,opt,name=metrics_interval_seconds,json=metricsIntervalSeconds" json:"metrics_interval_seconds,omitempty"`
}
func (m *GetMasterConfigurationResponse) Reset() { *m = GetMasterConfigurationResponse{} }
func (m *GetMasterConfigurationResponse) String() string { return proto.CompactTextString(m) }
func (*GetMasterConfigurationResponse) ProtoMessage() {}
func (*GetMasterConfigurationResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
2019-06-24 06:29:49 +08:00
func (m *GetMasterConfigurationResponse) GetMetricsAddress() string {
if m != nil {
return m.MetricsAddress
}
return ""
}
func (m *GetMasterConfigurationResponse) GetMetricsIntervalSeconds() uint32 {
if m != nil {
return m.MetricsIntervalSeconds
}
return 0
}
type ListMasterClientsRequest struct {
ClientType string `protobuf:"bytes,1,opt,name=client_type,json=clientType" json:"client_type,omitempty"`
}
func (m *ListMasterClientsRequest) Reset() { *m = ListMasterClientsRequest{} }
func (m *ListMasterClientsRequest) String() string { return proto.CompactTextString(m) }
func (*ListMasterClientsRequest) ProtoMessage() {}
func (*ListMasterClientsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
func (m *ListMasterClientsRequest) GetClientType() string {
if m != nil {
return m.ClientType
}
return ""
}
type ListMasterClientsResponse struct {
GrpcAddresses []string `protobuf:"bytes,1,rep,name=grpc_addresses,json=grpcAddresses" json:"grpc_addresses,omitempty"`
}
func (m *ListMasterClientsResponse) Reset() { *m = ListMasterClientsResponse{} }
func (m *ListMasterClientsResponse) String() string { return proto.CompactTextString(m) }
func (*ListMasterClientsResponse) ProtoMessage() {}
func (*ListMasterClientsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
func (m *ListMasterClientsResponse) GetGrpcAddresses() []string {
if m != nil {
return m.GrpcAddresses
}
return nil
}
type LeaseAdminTokenRequest struct {
PreviousToken int64 `protobuf:"varint,1,opt,name=previous_token,json=previousToken" json:"previous_token,omitempty"`
PreviousLockTime int64 `protobuf:"varint,2,opt,name=previous_lock_time,json=previousLockTime" json:"previous_lock_time,omitempty"`
}
func (m *LeaseAdminTokenRequest) Reset() { *m = LeaseAdminTokenRequest{} }
func (m *LeaseAdminTokenRequest) String() string { return proto.CompactTextString(m) }
func (*LeaseAdminTokenRequest) ProtoMessage() {}
func (*LeaseAdminTokenRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
func (m *LeaseAdminTokenRequest) GetPreviousToken() int64 {
if m != nil {
return m.PreviousToken
}
return 0
}
func (m *LeaseAdminTokenRequest) GetPreviousLockTime() int64 {
if m != nil {
return m.PreviousLockTime
}
return 0
}
type LeaseAdminTokenResponse struct {
2020-04-23 17:31:04 +08:00
Token int64 `protobuf:"varint,1,opt,name=token" json:"token,omitempty"`
LockTsNs int64 `protobuf:"varint,2,opt,name=lock_ts_ns,json=lockTsNs" json:"lock_ts_ns,omitempty"`
}
func (m *LeaseAdminTokenResponse) Reset() { *m = LeaseAdminTokenResponse{} }
func (m *LeaseAdminTokenResponse) String() string { return proto.CompactTextString(m) }
func (*LeaseAdminTokenResponse) ProtoMessage() {}
func (*LeaseAdminTokenResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
2020-04-23 17:31:04 +08:00
func (m *LeaseAdminTokenResponse) GetToken() int64 {
if m != nil {
2020-04-23 17:31:04 +08:00
return m.Token
}
2020-04-23 17:31:04 +08:00
return 0
}
func (m *LeaseAdminTokenResponse) GetLockTsNs() int64 {
if m != nil {
return m.LockTsNs
}
return 0
}
type ReleaseAdminTokenRequest struct {
PreviousToken int64 `protobuf:"varint,1,opt,name=previous_token,json=previousToken" json:"previous_token,omitempty"`
PreviousLockTime int64 `protobuf:"varint,2,opt,name=previous_lock_time,json=previousLockTime" json:"previous_lock_time,omitempty"`
}
func (m *ReleaseAdminTokenRequest) Reset() { *m = ReleaseAdminTokenRequest{} }
func (m *ReleaseAdminTokenRequest) String() string { return proto.CompactTextString(m) }
func (*ReleaseAdminTokenRequest) ProtoMessage() {}
func (*ReleaseAdminTokenRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
func (m *ReleaseAdminTokenRequest) GetPreviousToken() int64 {
if m != nil {
return m.PreviousToken
}
return 0
}
func (m *ReleaseAdminTokenRequest) GetPreviousLockTime() int64 {
if m != nil {
return m.PreviousLockTime
}
return 0
}
type ReleaseAdminTokenResponse struct {
}
func (m *ReleaseAdminTokenResponse) Reset() { *m = ReleaseAdminTokenResponse{} }
func (m *ReleaseAdminTokenResponse) String() string { return proto.CompactTextString(m) }
func (*ReleaseAdminTokenResponse) ProtoMessage() {}
func (*ReleaseAdminTokenResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
type VerifyAdminTokenRequest struct {
Token int64 `protobuf:"varint,1,opt,name=token" json:"token,omitempty"`
LockTime int64 `protobuf:"varint,2,opt,name=lock_time,json=lockTime" json:"lock_time,omitempty"`
}
func (m *VerifyAdminTokenRequest) Reset() { *m = VerifyAdminTokenRequest{} }
func (m *VerifyAdminTokenRequest) String() string { return proto.CompactTextString(m) }
func (*VerifyAdminTokenRequest) ProtoMessage() {}
func (*VerifyAdminTokenRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
func (m *VerifyAdminTokenRequest) GetToken() int64 {
if m != nil {
return m.Token
}
return 0
}
func (m *VerifyAdminTokenRequest) GetLockTime() int64 {
if m != nil {
return m.LockTime
}
return 0
}
type VerifyAdminTokenResponse struct {
IsValid bool `protobuf:"varint,1,opt,name=is_valid,json=isValid" json:"is_valid,omitempty"`
}
func (m *VerifyAdminTokenResponse) Reset() { *m = VerifyAdminTokenResponse{} }
func (m *VerifyAdminTokenResponse) String() string { return proto.CompactTextString(m) }
func (*VerifyAdminTokenResponse) ProtoMessage() {}
func (*VerifyAdminTokenResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
func (m *VerifyAdminTokenResponse) GetIsValid() bool {
if m != nil {
return m.IsValid
}
return false
}
2017-01-10 17:01:12 +08:00
func init() {
2018-05-10 14:11:54 +08:00
proto.RegisterType((*Heartbeat)(nil), "master_pb.Heartbeat")
proto.RegisterType((*HeartbeatResponse)(nil), "master_pb.HeartbeatResponse")
proto.RegisterType((*VolumeInformationMessage)(nil), "master_pb.VolumeInformationMessage")
2019-04-21 02:35:20 +08:00
proto.RegisterType((*VolumeShortInformationMessage)(nil), "master_pb.VolumeShortInformationMessage")
proto.RegisterType((*VolumeEcShardInformationMessage)(nil), "master_pb.VolumeEcShardInformationMessage")
proto.RegisterType((*StorageBackend)(nil), "master_pb.StorageBackend")
proto.RegisterType((*Empty)(nil), "master_pb.Empty")
2018-06-25 06:19:57 +08:00
proto.RegisterType((*SuperBlockExtra)(nil), "master_pb.SuperBlockExtra")
proto.RegisterType((*SuperBlockExtra_ErasureCoding)(nil), "master_pb.SuperBlockExtra.ErasureCoding")
proto.RegisterType((*KeepConnectedRequest)(nil), "master_pb.KeepConnectedRequest")
proto.RegisterType((*VolumeLocation)(nil), "master_pb.VolumeLocation")
proto.RegisterType((*LookupVolumeRequest)(nil), "master_pb.LookupVolumeRequest")
proto.RegisterType((*LookupVolumeResponse)(nil), "master_pb.LookupVolumeResponse")
proto.RegisterType((*LookupVolumeResponse_VolumeIdLocation)(nil), "master_pb.LookupVolumeResponse.VolumeIdLocation")
proto.RegisterType((*Location)(nil), "master_pb.Location")
proto.RegisterType((*AssignRequest)(nil), "master_pb.AssignRequest")
proto.RegisterType((*AssignResponse)(nil), "master_pb.AssignResponse")
proto.RegisterType((*StatisticsRequest)(nil), "master_pb.StatisticsRequest")
proto.RegisterType((*StatisticsResponse)(nil), "master_pb.StatisticsResponse")
2019-03-18 11:27:08 +08:00
proto.RegisterType((*StorageType)(nil), "master_pb.StorageType")
proto.RegisterType((*Collection)(nil), "master_pb.Collection")
proto.RegisterType((*CollectionListRequest)(nil), "master_pb.CollectionListRequest")
proto.RegisterType((*CollectionListResponse)(nil), "master_pb.CollectionListResponse")
proto.RegisterType((*CollectionDeleteRequest)(nil), "master_pb.CollectionDeleteRequest")
proto.RegisterType((*CollectionDeleteResponse)(nil), "master_pb.CollectionDeleteResponse")
2019-03-18 11:27:08 +08:00
proto.RegisterType((*DataNodeInfo)(nil), "master_pb.DataNodeInfo")
proto.RegisterType((*RackInfo)(nil), "master_pb.RackInfo")
proto.RegisterType((*DataCenterInfo)(nil), "master_pb.DataCenterInfo")
proto.RegisterType((*TopologyInfo)(nil), "master_pb.TopologyInfo")
proto.RegisterType((*VolumeListRequest)(nil), "master_pb.VolumeListRequest")
proto.RegisterType((*VolumeListResponse)(nil), "master_pb.VolumeListResponse")
proto.RegisterType((*LookupEcVolumeRequest)(nil), "master_pb.LookupEcVolumeRequest")
proto.RegisterType((*LookupEcVolumeResponse)(nil), "master_pb.LookupEcVolumeResponse")
proto.RegisterType((*LookupEcVolumeResponse_EcShardIdLocation)(nil), "master_pb.LookupEcVolumeResponse.EcShardIdLocation")
2019-06-24 06:29:49 +08:00
proto.RegisterType((*GetMasterConfigurationRequest)(nil), "master_pb.GetMasterConfigurationRequest")
proto.RegisterType((*GetMasterConfigurationResponse)(nil), "master_pb.GetMasterConfigurationResponse")
proto.RegisterType((*ListMasterClientsRequest)(nil), "master_pb.ListMasterClientsRequest")
proto.RegisterType((*ListMasterClientsResponse)(nil), "master_pb.ListMasterClientsResponse")
proto.RegisterType((*LeaseAdminTokenRequest)(nil), "master_pb.LeaseAdminTokenRequest")
proto.RegisterType((*LeaseAdminTokenResponse)(nil), "master_pb.LeaseAdminTokenResponse")
proto.RegisterType((*ReleaseAdminTokenRequest)(nil), "master_pb.ReleaseAdminTokenRequest")
proto.RegisterType((*ReleaseAdminTokenResponse)(nil), "master_pb.ReleaseAdminTokenResponse")
proto.RegisterType((*VerifyAdminTokenRequest)(nil), "master_pb.VerifyAdminTokenRequest")
proto.RegisterType((*VerifyAdminTokenResponse)(nil), "master_pb.VerifyAdminTokenResponse")
2017-01-10 17:01:12 +08:00
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// Client API for Seaweed service
type SeaweedClient interface {
SendHeartbeat(ctx context.Context, opts ...grpc.CallOption) (Seaweed_SendHeartbeatClient, error)
KeepConnected(ctx context.Context, opts ...grpc.CallOption) (Seaweed_KeepConnectedClient, error)
LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error)
Assign(ctx context.Context, in *AssignRequest, opts ...grpc.CallOption) (*AssignResponse, error)
Statistics(ctx context.Context, in *StatisticsRequest, opts ...grpc.CallOption) (*StatisticsResponse, error)
CollectionList(ctx context.Context, in *CollectionListRequest, opts ...grpc.CallOption) (*CollectionListResponse, error)
CollectionDelete(ctx context.Context, in *CollectionDeleteRequest, opts ...grpc.CallOption) (*CollectionDeleteResponse, error)
2019-03-18 11:27:08 +08:00
VolumeList(ctx context.Context, in *VolumeListRequest, opts ...grpc.CallOption) (*VolumeListResponse, error)
LookupEcVolume(ctx context.Context, in *LookupEcVolumeRequest, opts ...grpc.CallOption) (*LookupEcVolumeResponse, error)
2019-06-24 06:29:49 +08:00
GetMasterConfiguration(ctx context.Context, in *GetMasterConfigurationRequest, opts ...grpc.CallOption) (*GetMasterConfigurationResponse, error)
ListMasterClients(ctx context.Context, in *ListMasterClientsRequest, opts ...grpc.CallOption) (*ListMasterClientsResponse, error)
LeaseAdminToken(ctx context.Context, in *LeaseAdminTokenRequest, opts ...grpc.CallOption) (*LeaseAdminTokenResponse, error)
ReleaseAdminToken(ctx context.Context, in *ReleaseAdminTokenRequest, opts ...grpc.CallOption) (*ReleaseAdminTokenResponse, error)
VerifyAdminToken(ctx context.Context, in *VerifyAdminTokenRequest, opts ...grpc.CallOption) (*VerifyAdminTokenResponse, error)
2017-01-10 17:01:12 +08:00
}
type seaweedClient struct {
cc *grpc.ClientConn
}
func NewSeaweedClient(cc *grpc.ClientConn) SeaweedClient {
return &seaweedClient{cc}
}
func (c *seaweedClient) SendHeartbeat(ctx context.Context, opts ...grpc.CallOption) (Seaweed_SendHeartbeatClient, error) {
2018-05-10 14:11:54 +08:00
stream, err := grpc.NewClientStream(ctx, &_Seaweed_serviceDesc.Streams[0], c.cc, "/master_pb.Seaweed/SendHeartbeat", opts...)
2017-01-10 17:01:12 +08:00
if err != nil {
return nil, err
}
x := &seaweedSendHeartbeatClient{stream}
return x, nil
}
type Seaweed_SendHeartbeatClient interface {
Send(*Heartbeat) error
Recv() (*HeartbeatResponse, error)
grpc.ClientStream
}
type seaweedSendHeartbeatClient struct {
grpc.ClientStream
}
func (x *seaweedSendHeartbeatClient) Send(m *Heartbeat) error {
return x.ClientStream.SendMsg(m)
}
func (x *seaweedSendHeartbeatClient) Recv() (*HeartbeatResponse, error) {
m := new(HeartbeatResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *seaweedClient) KeepConnected(ctx context.Context, opts ...grpc.CallOption) (Seaweed_KeepConnectedClient, error) {
stream, err := grpc.NewClientStream(ctx, &_Seaweed_serviceDesc.Streams[1], c.cc, "/master_pb.Seaweed/KeepConnected", opts...)
if err != nil {
return nil, err
}
x := &seaweedKeepConnectedClient{stream}
return x, nil
}
type Seaweed_KeepConnectedClient interface {
Send(*KeepConnectedRequest) error
Recv() (*VolumeLocation, error)
grpc.ClientStream
}
type seaweedKeepConnectedClient struct {
grpc.ClientStream
}
func (x *seaweedKeepConnectedClient) Send(m *KeepConnectedRequest) error {
return x.ClientStream.SendMsg(m)
}
func (x *seaweedKeepConnectedClient) Recv() (*VolumeLocation, error) {
m := new(VolumeLocation)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *seaweedClient) LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error) {
out := new(LookupVolumeResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/LookupVolume", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedClient) Assign(ctx context.Context, in *AssignRequest, opts ...grpc.CallOption) (*AssignResponse, error) {
out := new(AssignResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/Assign", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedClient) Statistics(ctx context.Context, in *StatisticsRequest, opts ...grpc.CallOption) (*StatisticsResponse, error) {
out := new(StatisticsResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/Statistics", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedClient) CollectionList(ctx context.Context, in *CollectionListRequest, opts ...grpc.CallOption) (*CollectionListResponse, error) {
out := new(CollectionListResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/CollectionList", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedClient) CollectionDelete(ctx context.Context, in *CollectionDeleteRequest, opts ...grpc.CallOption) (*CollectionDeleteResponse, error) {
out := new(CollectionDeleteResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/CollectionDelete", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
2019-03-18 11:27:08 +08:00
func (c *seaweedClient) VolumeList(ctx context.Context, in *VolumeListRequest, opts ...grpc.CallOption) (*VolumeListResponse, error) {
out := new(VolumeListResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/VolumeList", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedClient) LookupEcVolume(ctx context.Context, in *LookupEcVolumeRequest, opts ...grpc.CallOption) (*LookupEcVolumeResponse, error) {
out := new(LookupEcVolumeResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/LookupEcVolume", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
2019-06-24 06:29:49 +08:00
func (c *seaweedClient) GetMasterConfiguration(ctx context.Context, in *GetMasterConfigurationRequest, opts ...grpc.CallOption) (*GetMasterConfigurationResponse, error) {
out := new(GetMasterConfigurationResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/GetMasterConfiguration", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedClient) ListMasterClients(ctx context.Context, in *ListMasterClientsRequest, opts ...grpc.CallOption) (*ListMasterClientsResponse, error) {
out := new(ListMasterClientsResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/ListMasterClients", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedClient) LeaseAdminToken(ctx context.Context, in *LeaseAdminTokenRequest, opts ...grpc.CallOption) (*LeaseAdminTokenResponse, error) {
out := new(LeaseAdminTokenResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/LeaseAdminToken", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedClient) ReleaseAdminToken(ctx context.Context, in *ReleaseAdminTokenRequest, opts ...grpc.CallOption) (*ReleaseAdminTokenResponse, error) {
out := new(ReleaseAdminTokenResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/ReleaseAdminToken", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *seaweedClient) VerifyAdminToken(ctx context.Context, in *VerifyAdminTokenRequest, opts ...grpc.CallOption) (*VerifyAdminTokenResponse, error) {
out := new(VerifyAdminTokenResponse)
err := grpc.Invoke(ctx, "/master_pb.Seaweed/VerifyAdminToken", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
2017-01-10 17:01:12 +08:00
// Server API for Seaweed service
type SeaweedServer interface {
SendHeartbeat(Seaweed_SendHeartbeatServer) error
KeepConnected(Seaweed_KeepConnectedServer) error
LookupVolume(context.Context, *LookupVolumeRequest) (*LookupVolumeResponse, error)
Assign(context.Context, *AssignRequest) (*AssignResponse, error)
Statistics(context.Context, *StatisticsRequest) (*StatisticsResponse, error)
CollectionList(context.Context, *CollectionListRequest) (*CollectionListResponse, error)
CollectionDelete(context.Context, *CollectionDeleteRequest) (*CollectionDeleteResponse, error)
2019-03-18 11:27:08 +08:00
VolumeList(context.Context, *VolumeListRequest) (*VolumeListResponse, error)
LookupEcVolume(context.Context, *LookupEcVolumeRequest) (*LookupEcVolumeResponse, error)
2019-06-24 06:29:49 +08:00
GetMasterConfiguration(context.Context, *GetMasterConfigurationRequest) (*GetMasterConfigurationResponse, error)
ListMasterClients(context.Context, *ListMasterClientsRequest) (*ListMasterClientsResponse, error)
LeaseAdminToken(context.Context, *LeaseAdminTokenRequest) (*LeaseAdminTokenResponse, error)
ReleaseAdminToken(context.Context, *ReleaseAdminTokenRequest) (*ReleaseAdminTokenResponse, error)
VerifyAdminToken(context.Context, *VerifyAdminTokenRequest) (*VerifyAdminTokenResponse, error)
2017-01-10 17:01:12 +08:00
}
func RegisterSeaweedServer(s *grpc.Server, srv SeaweedServer) {
s.RegisterService(&_Seaweed_serviceDesc, srv)
}
func _Seaweed_SendHeartbeat_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(SeaweedServer).SendHeartbeat(&seaweedSendHeartbeatServer{stream})
}
type Seaweed_SendHeartbeatServer interface {
Send(*HeartbeatResponse) error
Recv() (*Heartbeat, error)
grpc.ServerStream
}
type seaweedSendHeartbeatServer struct {
grpc.ServerStream
}
func (x *seaweedSendHeartbeatServer) Send(m *HeartbeatResponse) error {
return x.ServerStream.SendMsg(m)
}
func (x *seaweedSendHeartbeatServer) Recv() (*Heartbeat, error) {
m := new(Heartbeat)
if err := x.ServerStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func _Seaweed_KeepConnected_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(SeaweedServer).KeepConnected(&seaweedKeepConnectedServer{stream})
}
type Seaweed_KeepConnectedServer interface {
Send(*VolumeLocation) error
Recv() (*KeepConnectedRequest, error)
grpc.ServerStream
}
type seaweedKeepConnectedServer struct {
grpc.ServerStream
}
func (x *seaweedKeepConnectedServer) Send(m *VolumeLocation) error {
return x.ServerStream.SendMsg(m)
}
func (x *seaweedKeepConnectedServer) Recv() (*KeepConnectedRequest, error) {
m := new(KeepConnectedRequest)
if err := x.ServerStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func _Seaweed_LookupVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LookupVolumeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).LookupVolume(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/LookupVolume",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).LookupVolume(ctx, req.(*LookupVolumeRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Seaweed_Assign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AssignRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).Assign(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/Assign",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).Assign(ctx, req.(*AssignRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Seaweed_Statistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(StatisticsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).Statistics(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/Statistics",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).Statistics(ctx, req.(*StatisticsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Seaweed_CollectionList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CollectionListRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).CollectionList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/CollectionList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).CollectionList(ctx, req.(*CollectionListRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Seaweed_CollectionDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CollectionDeleteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).CollectionDelete(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/CollectionDelete",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).CollectionDelete(ctx, req.(*CollectionDeleteRequest))
}
return interceptor(ctx, in, info, handler)
}
2019-03-18 11:27:08 +08:00
func _Seaweed_VolumeList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VolumeListRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).VolumeList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/VolumeList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).VolumeList(ctx, req.(*VolumeListRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Seaweed_LookupEcVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LookupEcVolumeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).LookupEcVolume(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/LookupEcVolume",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).LookupEcVolume(ctx, req.(*LookupEcVolumeRequest))
}
return interceptor(ctx, in, info, handler)
}
2019-06-24 06:29:49 +08:00
func _Seaweed_GetMasterConfiguration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetMasterConfigurationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).GetMasterConfiguration(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/GetMasterConfiguration",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).GetMasterConfiguration(ctx, req.(*GetMasterConfigurationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Seaweed_ListMasterClients_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListMasterClientsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).ListMasterClients(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/ListMasterClients",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).ListMasterClients(ctx, req.(*ListMasterClientsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Seaweed_LeaseAdminToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LeaseAdminTokenRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).LeaseAdminToken(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/LeaseAdminToken",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).LeaseAdminToken(ctx, req.(*LeaseAdminTokenRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Seaweed_ReleaseAdminToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ReleaseAdminTokenRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).ReleaseAdminToken(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/ReleaseAdminToken",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).ReleaseAdminToken(ctx, req.(*ReleaseAdminTokenRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Seaweed_VerifyAdminToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VerifyAdminTokenRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SeaweedServer).VerifyAdminToken(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/master_pb.Seaweed/VerifyAdminToken",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SeaweedServer).VerifyAdminToken(ctx, req.(*VerifyAdminTokenRequest))
}
return interceptor(ctx, in, info, handler)
}
2017-01-10 17:01:12 +08:00
var _Seaweed_serviceDesc = grpc.ServiceDesc{
2018-05-10 14:11:54 +08:00
ServiceName: "master_pb.Seaweed",
2017-01-10 17:01:12 +08:00
HandlerType: (*SeaweedServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "LookupVolume",
Handler: _Seaweed_LookupVolume_Handler,
},
{
MethodName: "Assign",
Handler: _Seaweed_Assign_Handler,
},
{
MethodName: "Statistics",
Handler: _Seaweed_Statistics_Handler,
},
{
MethodName: "CollectionList",
Handler: _Seaweed_CollectionList_Handler,
},
{
MethodName: "CollectionDelete",
Handler: _Seaweed_CollectionDelete_Handler,
},
2019-03-18 11:27:08 +08:00
{
MethodName: "VolumeList",
Handler: _Seaweed_VolumeList_Handler,
},
{
MethodName: "LookupEcVolume",
Handler: _Seaweed_LookupEcVolume_Handler,
},
2019-06-24 06:29:49 +08:00
{
MethodName: "GetMasterConfiguration",
Handler: _Seaweed_GetMasterConfiguration_Handler,
},
{
MethodName: "ListMasterClients",
Handler: _Seaweed_ListMasterClients_Handler,
},
{
MethodName: "LeaseAdminToken",
Handler: _Seaweed_LeaseAdminToken_Handler,
},
{
MethodName: "ReleaseAdminToken",
Handler: _Seaweed_ReleaseAdminToken_Handler,
},
{
MethodName: "VerifyAdminToken",
Handler: _Seaweed_VerifyAdminToken_Handler,
},
},
2017-01-10 17:01:12 +08:00
Streams: []grpc.StreamDesc{
{
StreamName: "SendHeartbeat",
Handler: _Seaweed_SendHeartbeat_Handler,
ServerStreams: true,
ClientStreams: true,
},
{
StreamName: "KeepConnected",
Handler: _Seaweed_KeepConnected_Handler,
ServerStreams: true,
ClientStreams: true,
},
2017-01-10 17:01:12 +08:00
},
2018-10-11 15:21:32 +08:00
Metadata: "master.proto",
2017-01-10 17:01:12 +08:00
}
2018-10-11 15:21:32 +08:00
func init() { proto.RegisterFile("master.proto", fileDescriptor0) }
2017-01-10 17:01:12 +08:00
var fileDescriptor0 = []byte{
2020-04-23 17:31:04 +08:00
// 2380 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x59, 0x4b, 0x6f, 0x1c, 0xc7,
2020-04-23 17:31:04 +08:00
0x11, 0xd6, 0xee, 0xf2, 0xb1, 0x5b, 0xcb, 0x7d, 0x35, 0x29, 0x6a, 0xb9, 0xb2, 0x44, 0x6a, 0x6c,
0xc3, 0x94, 0xe2, 0x30, 0x0e, 0xed, 0x20, 0x46, 0x1c, 0xc3, 0xa0, 0x28, 0x5a, 0x21, 0x44, 0xd2,
0xd2, 0x90, 0x91, 0x01, 0x03, 0xc1, 0xb8, 0x77, 0xa6, 0x49, 0x35, 0x38, 0xaf, 0x4c, 0xf7, 0x52,
0x5c, 0xe7, 0x12, 0x20, 0xc7, 0x9c, 0x82, 0x1c, 0xf2, 0x17, 0x72, 0xc9, 0x29, 0x39, 0xfb, 0x92,
0xff, 0x90, 0x1f, 0x92, 0xab, 0x2f, 0x41, 0x3f, 0x66, 0xa6, 0x67, 0x76, 0x97, 0x34, 0x0d, 0x38,
0x80, 0x6e, 0xd3, 0x55, 0xd5, 0xd5, 0xd5, 0x5f, 0x75, 0xd7, 0xa3, 0x07, 0x96, 0x02, 0xcc, 0x38,
0x49, 0xb6, 0xe2, 0x24, 0xe2, 0x11, 0x6a, 0xa8, 0x91, 0x13, 0x0f, 0xad, 0x3f, 0x2f, 0x40, 0xe3,
0x37, 0x04, 0x27, 0x7c, 0x48, 0x30, 0x47, 0x6d, 0xa8, 0xd2, 0xb8, 0x5f, 0xd9, 0xa8, 0x6c, 0x36,
0xec, 0x2a, 0x8d, 0x11, 0x82, 0xb9, 0x38, 0x4a, 0x78, 0xbf, 0xba, 0x51, 0xd9, 0x6c, 0xd9, 0xf2,
0x1b, 0xdd, 0x03, 0x88, 0x47, 0x43, 0x9f, 0xba, 0xce, 0x28, 0xf1, 0xfb, 0x35, 0x29, 0xdb, 0x50,
0x94, 0xdf, 0x26, 0x3e, 0xda, 0x84, 0x6e, 0x80, 0x2f, 0x9d, 0x8b, 0xc8, 0x1f, 0x05, 0xc4, 0x71,
0xa3, 0x51, 0xc8, 0xfb, 0x73, 0x72, 0x7a, 0x3b, 0xc0, 0x97, 0x2f, 0x25, 0x79, 0x57, 0x50, 0xd1,
0x86, 0xb0, 0xea, 0xd2, 0x39, 0xa5, 0x3e, 0x71, 0xce, 0xc9, 0xb8, 0x3f, 0xbf, 0x51, 0xd9, 0x9c,
0xb3, 0x21, 0xc0, 0x97, 0x9f, 0x53, 0x9f, 0x3c, 0x23, 0x63, 0xb4, 0x0e, 0x4d, 0x0f, 0x73, 0xec,
0xb8, 0x24, 0xe4, 0x24, 0xe9, 0x2f, 0xc8, 0xb5, 0x40, 0x90, 0x76, 0x25, 0x45, 0xd8, 0x97, 0x60,
0xf7, 0xbc, 0xbf, 0x28, 0x39, 0xf2, 0x5b, 0xd8, 0x87, 0xbd, 0x80, 0x86, 0x8e, 0xb4, 0xbc, 0x2e,
0x97, 0x6e, 0x48, 0xca, 0x73, 0x61, 0xfe, 0xa7, 0xb0, 0xa8, 0x6c, 0x63, 0xfd, 0xc6, 0x46, 0x6d,
0xb3, 0xb9, 0xfd, 0xf6, 0x56, 0x86, 0xc6, 0x96, 0x32, 0x6f, 0x3f, 0x3c, 0x8d, 0x92, 0x00, 0x73,
0x1a, 0x85, 0x87, 0x84, 0x31, 0x7c, 0x46, 0xec, 0x74, 0x0e, 0xda, 0x87, 0x66, 0x48, 0x5e, 0x3b,
0xa9, 0x0a, 0x90, 0x2a, 0x36, 0x27, 0x54, 0x1c, 0xbf, 0x8a, 0x12, 0x3e, 0x45, 0x0f, 0x84, 0xe4,
0xf5, 0x4b, 0xad, 0xea, 0x05, 0x74, 0x3c, 0xe2, 0x13, 0x4e, 0xbc, 0x4c, 0x5d, 0xf3, 0x86, 0xea,
0xda, 0x5a, 0x41, 0xaa, 0xf2, 0x1d, 0x68, 0xbf, 0xc2, 0xcc, 0x09, 0xa3, 0x4c, 0xe3, 0xd2, 0x46,
0x65, 0xb3, 0x6e, 0x2f, 0xbd, 0xc2, 0xec, 0x28, 0x4a, 0xa5, 0x9e, 0x42, 0x83, 0xb8, 0x0e, 0x7b,
0x85, 0x13, 0x8f, 0xf5, 0xbb, 0x72, 0xc9, 0x47, 0x13, 0x4b, 0xee, 0xb9, 0xc7, 0x42, 0x60, 0xca,
0xa2, 0x75, 0xa2, 0x58, 0x0c, 0x1d, 0x41, 0x4b, 0x80, 0x91, 0x2b, 0xeb, 0xdd, 0x58, 0x99, 0x40,
0x73, 0x2f, 0xd5, 0xf7, 0x12, 0x7a, 0x29, 0x22, 0xb9, 0x4e, 0x74, 0x63, 0x9d, 0x29, 0xac, 0x99,
0xde, 0xf7, 0xa0, 0xab, 0x61, 0xc9, 0xd5, 0x2e, 0x4b, 0x60, 0x5a, 0x12, 0x98, 0x54, 0xd0, 0xfa,
0x63, 0x15, 0x7a, 0xd9, 0x6d, 0xb0, 0x09, 0x8b, 0xa3, 0x90, 0x11, 0xf4, 0x08, 0x7a, 0xfa, 0x38,
0x33, 0xfa, 0x0d, 0x71, 0x7c, 0x1a, 0x50, 0x2e, 0x2f, 0xc9, 0x9c, 0xdd, 0x51, 0x8c, 0x63, 0xfa,
0x0d, 0x39, 0x10, 0x64, 0xb4, 0x0a, 0x0b, 0x3e, 0xc1, 0x1e, 0x49, 0xe4, 0x9d, 0x69, 0xd8, 0x7a,
0x84, 0xde, 0x83, 0x4e, 0x40, 0x78, 0x42, 0x5d, 0xe6, 0x60, 0xcf, 0x4b, 0x08, 0x63, 0xfa, 0xea,
0xb4, 0x35, 0x79, 0x47, 0x51, 0xd1, 0xc7, 0xd0, 0x4f, 0x05, 0xa9, 0x38, 0xe3, 0x17, 0xd8, 0x77,
0x18, 0x71, 0xa3, 0xd0, 0x63, 0xfa, 0x1e, 0xad, 0x6a, 0xfe, 0xbe, 0x66, 0x1f, 0x2b, 0x2e, 0x7a,
0x02, 0x5d, 0xc6, 0xa3, 0x04, 0x9f, 0x11, 0x67, 0x88, 0xdd, 0x73, 0x22, 0x66, 0xcc, 0x4b, 0xf0,
0xd6, 0x0c, 0xf0, 0x8e, 0x95, 0xc8, 0x63, 0x25, 0x61, 0x77, 0x58, 0x61, 0xcc, 0xac, 0xef, 0x6a,
0xd0, 0x9f, 0x75, 0x0d, 0x64, 0x7c, 0xf0, 0xe4, 0xd6, 0x5b, 0x76, 0x95, 0x7a, 0xe2, 0xfe, 0x09,
0x48, 0xe4, 0x5e, 0xe7, 0x6c, 0xf9, 0x8d, 0xee, 0x03, 0xb8, 0x91, 0xef, 0x13, 0x57, 0x4c, 0xd4,
0x9b, 0x34, 0x28, 0xe2, 0x7e, 0xca, 0x2b, 0x9f, 0x87, 0x86, 0x39, 0xbb, 0x21, 0x28, 0x2a, 0x2a,
0x3c, 0x80, 0x25, 0xe5, 0x3e, 0x2d, 0xa0, 0xa2, 0x42, 0x53, 0xd1, 0x94, 0xc8, 0xfb, 0x80, 0xd2,
0x63, 0x32, 0x1c, 0x67, 0x82, 0x0b, 0x52, 0xb0, 0xab, 0x39, 0x8f, 0xc7, 0xa9, 0xf4, 0x5d, 0x68,
0x24, 0x04, 0x7b, 0x4e, 0x14, 0xfa, 0x63, 0x19, 0x28, 0xea, 0x76, 0x5d, 0x10, 0xbe, 0x08, 0xfd,
0x31, 0xfa, 0x09, 0xf4, 0x12, 0x12, 0xfb, 0xd4, 0xc5, 0x4e, 0xec, 0x63, 0x97, 0x04, 0x24, 0x4c,
0x63, 0x46, 0x57, 0x33, 0x9e, 0xa7, 0x74, 0xd4, 0x87, 0xc5, 0x0b, 0x92, 0x30, 0xb1, 0xad, 0x86,
0x14, 0x49, 0x87, 0xa8, 0x0b, 0x35, 0xce, 0xfd, 0x3e, 0x48, 0xaa, 0xf8, 0x44, 0x0f, 0xa1, 0xeb,
0x46, 0x41, 0x8c, 0x5d, 0xee, 0x24, 0xe4, 0x82, 0xca, 0x49, 0x4d, 0xc9, 0xee, 0x68, 0xba, 0xad,
0xc9, 0x62, 0x3b, 0x41, 0xe4, 0xd1, 0x53, 0x4a, 0x3c, 0x07, 0x73, 0xed, 0x6c, 0x79, 0x71, 0x6b,
0x76, 0x37, 0xe5, 0xec, 0x70, 0xe5, 0x66, 0xb4, 0x05, 0xcb, 0x09, 0x09, 0x22, 0x4e, 0x9c, 0xd4,
0xd9, 0x21, 0x0e, 0x48, 0xbf, 0x25, 0x71, 0xee, 0x29, 0x96, 0xf6, 0xf1, 0x11, 0x0e, 0x88, 0xd0,
0x5e, 0x92, 0x17, 0xb1, 0xb6, 0x2d, 0xc5, 0xbb, 0x05, 0xf1, 0x67, 0x64, 0x6c, 0xfd, 0xbd, 0x02,
0xf7, 0xae, 0x0c, 0x39, 0x13, 0x47, 0xe0, 0x3a, 0x77, 0xff, 0x58, 0x08, 0x5b, 0x23, 0x58, 0xbf,
0x26, 0x10, 0x5c, 0x63, 0x6b, 0x75, 0xc2, 0x56, 0x0b, 0x5a, 0xc4, 0x75, 0x68, 0xe8, 0x91, 0x4b,
0x67, 0x48, 0xb9, 0xba, 0xa2, 0x2d, 0xbb, 0x49, 0xdc, 0x7d, 0x41, 0x7b, 0x4c, 0x39, 0xb3, 0xbe,
0xad, 0x40, 0xbb, 0x78, 0x87, 0xc4, 0x2d, 0xe0, 0xe3, 0x98, 0xe8, 0xbc, 0x29, 0xbf, 0xf5, 0xd2,
0x55, 0x9d, 0x49, 0x3d, 0xb4, 0x0f, 0x10, 0x27, 0x51, 0x4c, 0x12, 0x4e, 0x89, 0xd0, 0x2b, 0xae,
0xe5, 0xc3, 0x99, 0xd7, 0x72, 0xeb, 0x79, 0x26, 0xbb, 0x17, 0xf2, 0x64, 0x6c, 0x1b, 0x93, 0x07,
0x9f, 0x42, 0xa7, 0xc4, 0x16, 0xe8, 0x08, 0xaf, 0x2a, 0x03, 0xc4, 0x27, 0x5a, 0x81, 0xf9, 0x0b,
0xec, 0x8f, 0x88, 0x36, 0x41, 0x0d, 0x7e, 0x55, 0xfd, 0xb8, 0x62, 0x2d, 0xc2, 0xfc, 0x5e, 0x10,
0xf3, 0xb1, 0xd8, 0x49, 0xe7, 0x78, 0x14, 0x93, 0xe4, 0xb1, 0x1f, 0xb9, 0xe7, 0x7b, 0x97, 0x3c,
0xc1, 0xe8, 0x0b, 0x68, 0x93, 0x04, 0xb3, 0x51, 0x22, 0x6e, 0x95, 0x47, 0xc3, 0x33, 0xa9, 0xb3,
0x98, 0x92, 0x4a, 0x73, 0xb6, 0xf6, 0xd4, 0x84, 0x5d, 0x29, 0x6f, 0xb7, 0x88, 0x39, 0x1c, 0x7c,
0x05, 0xad, 0x02, 0x5f, 0x80, 0x25, 0x12, 0xb8, 0xf6, 0x8a, 0xfc, 0x16, 0x41, 0x33, 0xc6, 0x09,
0xe5, 0x63, 0x5d, 0x68, 0xe8, 0x91, 0x08, 0x15, 0x3a, 0xf0, 0x52, 0x4f, 0x81, 0xd6, 0xb2, 0x1b,
0x8a, 0xb2, 0xef, 0x31, 0xeb, 0x29, 0xac, 0x3c, 0x23, 0x24, 0xde, 0x8d, 0xc2, 0x90, 0xb8, 0x9c,
0x78, 0x36, 0xf9, 0xfd, 0x88, 0x30, 0x2e, 0x96, 0x90, 0x77, 0x42, 0xfb, 0x43, 0x7c, 0x8b, 0x28,
0x70, 0x96, 0xc4, 0xae, 0x63, 0x94, 0x33, 0x75, 0x41, 0x10, 0x35, 0x81, 0xf5, 0xb7, 0x0a, 0xb4,
0xd5, 0x59, 0x3a, 0x88, 0x5c, 0x79, 0x82, 0x04, 0xa2, 0xa2, 0xbc, 0xd1, 0x88, 0x8e, 0x12, 0xbf,
0x54, 0xf7, 0x54, 0xcb, 0x75, 0xcf, 0x1a, 0xd4, 0x65, 0x61, 0x90, 0x5b, 0xba, 0x28, 0x72, 0x3d,
0xf5, 0x58, 0x1e, 0xd2, 0x3c, 0xc5, 0x9e, 0x93, 0xec, 0x66, 0x9a, 0xbb, 0x85, 0x48, 0x9e, 0x36,
0xe6, 0xcd, 0xb4, 0x61, 0x9d, 0xc0, 0xf2, 0x41, 0x14, 0x9d, 0x8f, 0x62, 0x65, 0x5e, 0xba, 0xc3,
0x22, 0x30, 0x95, 0x8d, 0x9a, 0xb0, 0x25, 0x03, 0xe6, 0xba, 0x73, 0x6e, 0xfd, 0xb7, 0x02, 0x2b,
0x45, 0xb5, 0x3a, 0xd3, 0x7d, 0x0d, 0xcb, 0x99, 0x5e, 0xc7, 0xd7, 0x58, 0xa8, 0x05, 0x9a, 0xdb,
0x1f, 0x18, 0x67, 0x60, 0xda, 0xec, 0xb4, 0x7a, 0xf2, 0x52, 0x10, 0xed, 0xde, 0x45, 0x89, 0xc2,
0x06, 0x97, 0xd0, 0x2d, 0x8b, 0x09, 0xdf, 0x64, 0xab, 0x6a, 0xc4, 0xeb, 0xe9, 0x4c, 0xf4, 0x73,
0x68, 0xe4, 0x86, 0x54, 0xa5, 0x21, 0xcb, 0x05, 0x43, 0xf4, 0x5a, 0xb9, 0x94, 0x38, 0xfb, 0x24,
0x49, 0xa2, 0x44, 0x47, 0x23, 0x35, 0xb0, 0x3e, 0x81, 0xfa, 0x0f, 0xf6, 0xae, 0xf5, 0xcf, 0x2a,
0xb4, 0x76, 0x18, 0xa3, 0x67, 0x61, 0xea, 0x82, 0x15, 0x98, 0x57, 0x79, 0x47, 0x15, 0x02, 0x6a,
0x80, 0x36, 0xa0, 0xa9, 0x83, 0x9a, 0x01, 0xbd, 0x49, 0xba, 0x36, 0x5e, 0xea, 0x40, 0x37, 0xa7,
0x4c, 0x13, 0xa9, 0xa4, 0x54, 0x05, 0xcf, 0xcf, 0xac, 0x82, 0x17, 0x8c, 0x2a, 0xf8, 0x2e, 0x34,
0xe4, 0xa4, 0x30, 0xf2, 0x88, 0x2e, 0x8f, 0xeb, 0x82, 0x70, 0x14, 0x79, 0x04, 0x6d, 0xc3, 0x6a,
0x40, 0x82, 0x28, 0x19, 0x3b, 0x01, 0x8e, 0x1d, 0x51, 0x84, 0xcb, 0xc2, 0x26, 0x18, 0xea, 0xc0,
0x8c, 0x14, 0xf7, 0x10, 0xc7, 0x87, 0xf8, 0x52, 0xd4, 0x36, 0x87, 0x43, 0xb4, 0x0d, 0xb7, 0xbf,
0x4c, 0x28, 0xc7, 0x43, 0x9f, 0x14, 0x8b, 0x7b, 0x15, 0xa8, 0x97, 0x53, 0xa6, 0x51, 0xe1, 0x5b,
0x7f, 0xad, 0x40, 0x3b, 0x45, 0x4d, 0x9f, 0xb0, 0x2e, 0xd4, 0x4e, 0x33, 0x2f, 0x8b, 0xcf, 0xd4,
0x17, 0xd5, 0x59, 0xbe, 0x98, 0xe8, 0x30, 0x32, 0xe4, 0xe7, 0x4c, 0xe4, 0x33, 0xa7, 0xcf, 0x1b,
0x4e, 0x17, 0xd0, 0xe0, 0x11, 0x7f, 0x95, 0x42, 0x23, 0xbe, 0xad, 0x33, 0xe8, 0x1d, 0x73, 0xcc,
0x29, 0xe3, 0xd4, 0x65, 0xa9, 0x3b, 0x4b, 0x8e, 0xab, 0x5c, 0xe7, 0xb8, 0xea, 0x2c, 0xc7, 0xd5,
0x32, 0xc7, 0x59, 0xff, 0xae, 0x00, 0x32, 0x57, 0xd2, 0x10, 0xfc, 0x08, 0x4b, 0x09, 0xc8, 0x78,
0xc4, 0x45, 0xa9, 0x28, 0xca, 0x31, 0x5d, 0x54, 0x49, 0x8a, 0x70, 0x9f, 0x38, 0x0d, 0x23, 0x46,
0x3c, 0xc5, 0x55, 0x15, 0x55, 0x5d, 0x10, 0x24, 0xb3, 0x58, 0x90, 0x2d, 0x94, 0x0a, 0x32, 0x6b,
0x07, 0x9a, 0x3a, 0x39, 0x9d, 0x88, 0xc4, 0x76, 0xbd, 0xf5, 0xda, 0xba, 0x6a, 0x0e, 0xc4, 0x06,
0xc0, 0x6e, 0x6e, 0xfd, 0x94, 0xf0, 0x6c, 0xfd, 0x01, 0x6e, 0xe7, 0x12, 0x07, 0x94, 0xf1, 0xd4,
0x2f, 0x1f, 0xc1, 0x2a, 0x0d, 0x5d, 0x7f, 0xe4, 0x11, 0x27, 0x14, 0xe9, 0xdd, 0xcf, 0x3a, 0x9b,
0x8a, 0x2c, 0xe5, 0x56, 0x34, 0xf7, 0x48, 0x32, 0xd3, 0x0e, 0xe7, 0x7d, 0x40, 0xe9, 0x2c, 0xe2,
0x66, 0x33, 0xaa, 0x72, 0x46, 0x57, 0x73, 0xf6, 0x5c, 0x2d, 0x6d, 0xbd, 0x80, 0xd5, 0xf2, 0xe2,
0xda, 0x55, 0xbf, 0x84, 0x66, 0x0e, 0x7b, 0x1a, 0x07, 0x6f, 0x1b, 0xe1, 0x27, 0x9f, 0x67, 0x9b,
0x92, 0xd6, 0x4f, 0xe1, 0x4e, 0xce, 0x7a, 0x22, 0x03, 0xfd, 0x15, 0xd9, 0xc9, 0x1a, 0x40, 0x7f,
0x52, 0x5c, 0xd9, 0x60, 0xfd, 0xa5, 0x06, 0x4b, 0x4f, 0xf4, 0xcd, 0x15, 0x35, 0x8e, 0x51, 0xd5,
0xa8, 0xd2, 0xe2, 0x01, 0x2c, 0x15, 0x2e, 0xa4, 0x2a, 0xc6, 0x9b, 0x17, 0x46, 0xab, 0x3d, 0xad,
0x29, 0xaf, 0x49, 0xb1, 0x72, 0x53, 0xfe, 0x08, 0x7a, 0xa7, 0x09, 0x21, 0x93, 0xfd, 0xfb, 0x9c,
0xdd, 0x11, 0x0c, 0x53, 0x76, 0x0b, 0x96, 0xb1, 0xcb, 0xe9, 0x45, 0x49, 0x5a, 0x9d, 0xaf, 0x9e,
0x62, 0x99, 0xf2, 0x9f, 0x67, 0x86, 0xd2, 0xf0, 0x34, 0x62, 0xfd, 0x85, 0xef, 0xdf, 0x7f, 0xeb,
0xdd, 0x08, 0x0e, 0x43, 0xcf, 0xa1, 0x9d, 0xf6, 0x71, 0x5a, 0xd3, 0xe2, 0x8d, 0x7b, 0xc4, 0x25,
0x92, 0xb3, 0x98, 0x51, 0x54, 0x17, 0x76, 0x52, 0x57, 0x3b, 0x51, 0x2c, 0x33, 0xb0, 0xfd, 0xab,
0x0a, 0x75, 0x1b, 0xbb, 0xe7, 0x6f, 0xb6, 0x3f, 0x3e, 0x83, 0x4e, 0x96, 0x23, 0x0a, 0x2e, 0xb9,
0x63, 0x00, 0x69, 0x1e, 0x3d, 0xbb, 0xe5, 0x19, 0xa3, 0x99, 0xb0, 0x2d, 0xce, 0x82, 0xed, 0x1f,
0x55, 0x68, 0x3f, 0xc9, 0xf2, 0xd6, 0x9b, 0x0d, 0xde, 0x36, 0x80, 0x48, 0xb4, 0x05, 0xdc, 0xcc,
0xc2, 0x24, 0x3d, 0x1e, 0x76, 0x23, 0xd1, 0x5f, 0x37, 0xc7, 0xeb, 0xdb, 0x2a, 0x2c, 0x9d, 0x44,
0x71, 0xe4, 0x47, 0x67, 0xe3, 0x37, 0x1b, 0xad, 0x3d, 0xe8, 0x19, 0x35, 0x4c, 0x01, 0xb4, 0xb5,
0xd2, 0x61, 0xcb, 0x0f, 0x87, 0xdd, 0xf1, 0x0a, 0xe3, 0x9b, 0x03, 0xb8, 0x0c, 0x3d, 0x5d, 0xd7,
0xe7, 0x29, 0xc5, 0xfa, 0x53, 0x05, 0x90, 0x49, 0xd5, 0xb1, 0xfe, 0xd7, 0xd0, 0xe2, 0x1a, 0x6b,
0x69, 0x9f, 0xee, 0x7c, 0xcc, 0xbb, 0x60, 0xfa, 0xc2, 0x5e, 0xe2, 0xa6, 0x67, 0x7e, 0x06, 0x2b,
0x13, 0x6f, 0x44, 0xa2, 0xa0, 0x52, 0x1e, 0xe9, 0x95, 0x9e, 0x89, 0x0e, 0x87, 0xd6, 0x47, 0x70,
0x5b, 0x15, 0xd1, 0x69, 0x1e, 0x4a, 0xf3, 0xc3, 0x44, 0x35, 0xdc, 0xca, 0xab, 0x61, 0xeb, 0xbb,
0x0a, 0xac, 0x96, 0xa7, 0x69, 0xfb, 0xaf, 0x9a, 0x87, 0x30, 0x20, 0x1d, 0x2f, 0xcd, 0xba, 0x5e,
0x95, 0xd3, 0x1f, 0x4e, 0xd4, 0xf5, 0x65, 0xdd, 0x5b, 0x69, 0x1c, 0xcd, 0x4b, 0xfb, 0x2e, 0x2b,
0x12, 0xd8, 0x00, 0x43, 0x6f, 0x42, 0x4c, 0x74, 0x45, 0xe9, 0xba, 0xda, 0xa6, 0x45, 0x3d, 0xf1,
0x07, 0x14, 0xf6, 0xd6, 0x3a, 0xdc, 0x7b, 0x4a, 0xf8, 0xa1, 0x94, 0xd9, 0x8d, 0xc2, 0x53, 0x7a,
0x36, 0x4a, 0x94, 0x50, 0xee, 0xda, 0xfb, 0xb3, 0x24, 0x34, 0x4c, 0x53, 0x1e, 0xe2, 0x2a, 0x37,
0x7e, 0x88, 0xab, 0x5e, 0xf5, 0x10, 0x67, 0x7d, 0x02, 0x7d, 0x71, 0xb2, 0xb4, 0x15, 0x3e, 0x25,
0x21, 0xcf, 0xea, 0xcc, 0x75, 0x68, 0xba, 0x92, 0xe2, 0x18, 0x4f, 0x06, 0xa0, 0x48, 0xa2, 0xbe,
0xb2, 0x1e, 0xc3, 0xda, 0x94, 0xc9, 0xda, 0xf8, 0x77, 0xa1, 0x2d, 0xbb, 0x58, 0x6d, 0x39, 0x49,
0x7b, 0xbf, 0x96, 0xa0, 0xee, 0xa4, 0x44, 0x2b, 0x80, 0xd5, 0x03, 0x82, 0x19, 0xd9, 0xf1, 0x02,
0x1a, 0x9e, 0x44, 0xe7, 0x24, 0xeb, 0x5a, 0xde, 0x85, 0x76, 0x9c, 0x90, 0x0b, 0x1a, 0x8d, 0x98,
0xc3, 0x05, 0x43, 0x5a, 0x50, 0xb3, 0x5b, 0x29, 0x55, 0x4a, 0x8b, 0xfa, 0x29, 0x13, 0x13, 0x8d,
0xbe, 0xc3, 0x69, 0xa0, 0x9e, 0x12, 0x6a, 0x76, 0x37, 0xe5, 0x1c, 0x44, 0xee, 0xf9, 0x09, 0x0d,
0x88, 0x75, 0x08, 0x77, 0x26, 0x96, 0xd3, 0x06, 0xaf, 0xc0, 0xbc, 0xb9, 0x8c, 0x1a, 0xa0, 0xb7,
0x00, 0x94, 0x56, 0xe6, 0x84, 0x4c, 0xab, 0xad, 0x0b, 0xca, 0x09, 0x3b, 0x62, 0x56, 0x04, 0x7d,
0x9b, 0xf8, 0xff, 0x47, 0xfb, 0xef, 0xc2, 0xda, 0x94, 0x05, 0x75, 0xf9, 0x75, 0x00, 0x77, 0x5e,
0x92, 0x84, 0x9e, 0x8e, 0x27, 0x8d, 0x99, 0xbe, 0xb9, 0xbb, 0xf2, 0x5c, 0x17, 0x96, 0x54, 0x7b,
0x13, 0x4b, 0xfd, 0x02, 0xfa, 0x93, 0xda, 0x34, 0x56, 0x6b, 0x50, 0xa7, 0xcc, 0xb9, 0xc0, 0xbe,
0xbe, 0x2b, 0x75, 0x7b, 0x91, 0xb2, 0x97, 0x62, 0xb8, 0xfd, 0x9f, 0x06, 0x2c, 0x1e, 0x13, 0xfc,
0x9a, 0x10, 0x0f, 0xed, 0x43, 0xeb, 0x98, 0x84, 0x5e, 0xfe, 0xd3, 0x66, 0xc5, 0xb8, 0x35, 0x19,
0x75, 0xf0, 0xd6, 0x34, 0x6a, 0xb6, 0xab, 0x5b, 0x9b, 0x95, 0x0f, 0x2a, 0xe8, 0x05, 0xb4, 0x0a,
0x0f, 0x28, 0x68, 0xdd, 0x98, 0x34, 0xed, 0x69, 0x65, 0xb0, 0x36, 0x51, 0x62, 0xa5, 0xf7, 0x34,
0x53, 0xb9, 0x64, 0xbe, 0x0d, 0xa0, 0xfb, 0x33, 0x1f, 0x0d, 0x94, 0xc2, 0xf5, 0x6b, 0x1e, 0x15,
0xac, 0x5b, 0xe8, 0x33, 0x58, 0x50, 0x4d, 0x24, 0xea, 0x1b, 0xc2, 0x85, 0x6e, 0xbc, 0x60, 0x57,
0xb1, 0xe3, 0xb4, 0x6e, 0xa1, 0x67, 0x00, 0x79, 0x1b, 0x86, 0xde, 0x2a, 0xbc, 0xba, 0x95, 0xfa,
0xc0, 0xc1, 0xbd, 0x19, 0xdc, 0x4c, 0xd9, 0x97, 0xd0, 0x2e, 0x36, 0x0b, 0x68, 0x63, 0x6a, 0x3f,
0x60, 0x64, 0x9c, 0xc1, 0x83, 0x2b, 0x24, 0x32, 0xc5, 0xbf, 0x83, 0x6e, 0xb9, 0x07, 0x40, 0xd6,
0xd4, 0x89, 0x85, 0x7e, 0x62, 0xf0, 0xf6, 0x95, 0x32, 0x26, 0x08, 0x79, 0xd2, 0x2b, 0x80, 0x30,
0x91, 0x21, 0x0b, 0x20, 0x4c, 0x66, 0x4a, 0x05, 0x42, 0x31, 0x53, 0x14, 0x40, 0x98, 0x9a, 0xd7,
0x0a, 0x20, 0x4c, 0x4f, 0x33, 0xd6, 0x2d, 0x14, 0xc1, 0xea, 0xf4, 0xf8, 0x8d, 0xcc, 0x17, 0xc8,
0x2b, 0x93, 0xc0, 0xe0, 0xe1, 0xf7, 0x90, 0xcc, 0x16, 0xfc, 0x1a, 0x7a, 0x13, 0xe1, 0x16, 0x99,
0x90, 0xce, 0x8a, 0xe4, 0x83, 0x77, 0xae, 0x16, 0xca, 0x56, 0xf8, 0x0a, 0x3a, 0xa5, 0xe8, 0x88,
0x0a, 0x50, 0x4c, 0x0d, 0x74, 0x03, 0xeb, 0x2a, 0x11, 0xd3, 0xfa, 0x89, 0xc8, 0x55, 0xb0, 0x7e,
0x56, 0x20, 0x2d, 0x58, 0x3f, 0x3b, 0xf8, 0xc9, 0x53, 0x59, 0x0e, 0x58, 0x85, 0x53, 0x39, 0x23,
0x36, 0x16, 0x4e, 0xe5, 0xac, 0x88, 0x67, 0xdd, 0x1a, 0x2e, 0xc8, 0x1f, 0xd2, 0x1f, 0xfe, 0x2f,
0x00, 0x00, 0xff, 0xff, 0x9d, 0x02, 0x6b, 0x59, 0xa0, 0x1e, 0x00, 0x00,
2017-01-10 17:01:12 +08:00
}