// @project The CERN Tape Archive (CTA) // @brief CTA-EOS gRPC API for CASTOR-EOS migration // @copyright Copyright 2019 CERN // @license This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // NOTE: Compile for Go with: // protoc ./eos_grpc.proto --go_out=plugins=grpc:. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel // protoc v3.3.0 // source: Rpc.proto package eos_grpc import ( context "context" proto "github.com/golang/protobuf/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" 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) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 type TYPE int32 const ( TYPE_FILE TYPE = 0 TYPE_CONTAINER TYPE = 1 TYPE_LISTING TYPE = 2 TYPE_STAT TYPE = 3 ) // Enum value maps for TYPE. var ( TYPE_name = map[int32]string{ 0: "FILE", 1: "CONTAINER", 2: "LISTING", 3: "STAT", } TYPE_value = map[string]int32{ "FILE": 0, "CONTAINER": 1, "LISTING": 2, "STAT": 3, } ) func (x TYPE) Enum() *TYPE { p := new(TYPE) *p = x return p } func (x TYPE) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (TYPE) Descriptor() protoreflect.EnumDescriptor { return file_Rpc_proto_enumTypes[0].Descriptor() } func (TYPE) Type() protoreflect.EnumType { return &file_Rpc_proto_enumTypes[0] } func (x TYPE) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use TYPE.Descriptor instead. func (TYPE) EnumDescriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{0} } type QUOTATYPE int32 const ( QUOTATYPE_USER QUOTATYPE = 0 QUOTATYPE_GROUP QUOTATYPE = 2 QUOTATYPE_PROJECT QUOTATYPE = 3 QUOTATYPE_ALL QUOTATYPE = 4 ) // Enum value maps for QUOTATYPE. var ( QUOTATYPE_name = map[int32]string{ 0: "USER", 2: "GROUP", 3: "PROJECT", 4: "ALL", } QUOTATYPE_value = map[string]int32{ "USER": 0, "GROUP": 2, "PROJECT": 3, "ALL": 4, } ) func (x QUOTATYPE) Enum() *QUOTATYPE { p := new(QUOTATYPE) *p = x return p } func (x QUOTATYPE) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (QUOTATYPE) Descriptor() protoreflect.EnumDescriptor { return file_Rpc_proto_enumTypes[1].Descriptor() } func (QUOTATYPE) Type() protoreflect.EnumType { return &file_Rpc_proto_enumTypes[1] } func (x QUOTATYPE) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use QUOTATYPE.Descriptor instead. func (QUOTATYPE) EnumDescriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{1} } type MANILA_REQUEST_TYPE int32 const ( MANILA_REQUEST_TYPE_CREATE_SHARE MANILA_REQUEST_TYPE = 0 MANILA_REQUEST_TYPE_DELETE_SHARE MANILA_REQUEST_TYPE = 1 MANILA_REQUEST_TYPE_EXTEND_SHARE MANILA_REQUEST_TYPE = 2 MANILA_REQUEST_TYPE_SHRINK_SHARE MANILA_REQUEST_TYPE = 3 MANILA_REQUEST_TYPE_MANAGE_EXISTING MANILA_REQUEST_TYPE = 4 MANILA_REQUEST_TYPE_UNMANAGE MANILA_REQUEST_TYPE = 5 MANILA_REQUEST_TYPE_GET_CAPACITIES MANILA_REQUEST_TYPE = 6 // EXTRA FUNCTIONS NOT IMPLEMENTED ) // Enum value maps for MANILA_REQUEST_TYPE. var ( MANILA_REQUEST_TYPE_name = map[int32]string{ 0: "CREATE_SHARE", 1: "DELETE_SHARE", 2: "EXTEND_SHARE", 3: "SHRINK_SHARE", 4: "MANAGE_EXISTING", 5: "UNMANAGE", 6: "GET_CAPACITIES", } MANILA_REQUEST_TYPE_value = map[string]int32{ "CREATE_SHARE": 0, "DELETE_SHARE": 1, "EXTEND_SHARE": 2, "SHRINK_SHARE": 3, "MANAGE_EXISTING": 4, "UNMANAGE": 5, "GET_CAPACITIES": 6, } ) func (x MANILA_REQUEST_TYPE) Enum() *MANILA_REQUEST_TYPE { p := new(MANILA_REQUEST_TYPE) *p = x return p } func (x MANILA_REQUEST_TYPE) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (MANILA_REQUEST_TYPE) Descriptor() protoreflect.EnumDescriptor { return file_Rpc_proto_enumTypes[2].Descriptor() } func (MANILA_REQUEST_TYPE) Type() protoreflect.EnumType { return &file_Rpc_proto_enumTypes[2] } func (x MANILA_REQUEST_TYPE) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use MANILA_REQUEST_TYPE.Descriptor instead. func (MANILA_REQUEST_TYPE) EnumDescriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{2} } type NSRequest_VersionRequest_VERSION_CMD int32 const ( NSRequest_VersionRequest_CREATE NSRequest_VersionRequest_VERSION_CMD = 0 NSRequest_VersionRequest_PURGE NSRequest_VersionRequest_VERSION_CMD = 1 NSRequest_VersionRequest_LIST NSRequest_VersionRequest_VERSION_CMD = 2 ) // Enum value maps for NSRequest_VersionRequest_VERSION_CMD. var ( NSRequest_VersionRequest_VERSION_CMD_name = map[int32]string{ 0: "CREATE", 1: "PURGE", 2: "LIST", } NSRequest_VersionRequest_VERSION_CMD_value = map[string]int32{ "CREATE": 0, "PURGE": 1, "LIST": 2, } ) func (x NSRequest_VersionRequest_VERSION_CMD) Enum() *NSRequest_VersionRequest_VERSION_CMD { p := new(NSRequest_VersionRequest_VERSION_CMD) *p = x return p } func (x NSRequest_VersionRequest_VERSION_CMD) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (NSRequest_VersionRequest_VERSION_CMD) Descriptor() protoreflect.EnumDescriptor { return file_Rpc_proto_enumTypes[3].Descriptor() } func (NSRequest_VersionRequest_VERSION_CMD) Type() protoreflect.EnumType { return &file_Rpc_proto_enumTypes[3] } func (x NSRequest_VersionRequest_VERSION_CMD) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use NSRequest_VersionRequest_VERSION_CMD.Descriptor instead. func (NSRequest_VersionRequest_VERSION_CMD) EnumDescriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 7, 0} } type NSRequest_RecycleRequest_RECYCLE_CMD int32 const ( NSRequest_RecycleRequest_RESTORE NSRequest_RecycleRequest_RECYCLE_CMD = 0 NSRequest_RecycleRequest_PURGE NSRequest_RecycleRequest_RECYCLE_CMD = 1 NSRequest_RecycleRequest_LIST NSRequest_RecycleRequest_RECYCLE_CMD = 2 ) // Enum value maps for NSRequest_RecycleRequest_RECYCLE_CMD. var ( NSRequest_RecycleRequest_RECYCLE_CMD_name = map[int32]string{ 0: "RESTORE", 1: "PURGE", 2: "LIST", } NSRequest_RecycleRequest_RECYCLE_CMD_value = map[string]int32{ "RESTORE": 0, "PURGE": 1, "LIST": 2, } ) func (x NSRequest_RecycleRequest_RECYCLE_CMD) Enum() *NSRequest_RecycleRequest_RECYCLE_CMD { p := new(NSRequest_RecycleRequest_RECYCLE_CMD) *p = x return p } func (x NSRequest_RecycleRequest_RECYCLE_CMD) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (NSRequest_RecycleRequest_RECYCLE_CMD) Descriptor() protoreflect.EnumDescriptor { return file_Rpc_proto_enumTypes[4].Descriptor() } func (NSRequest_RecycleRequest_RECYCLE_CMD) Type() protoreflect.EnumType { return &file_Rpc_proto_enumTypes[4] } func (x NSRequest_RecycleRequest_RECYCLE_CMD) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use NSRequest_RecycleRequest_RECYCLE_CMD.Descriptor instead. func (NSRequest_RecycleRequest_RECYCLE_CMD) EnumDescriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 8, 0} } type NSRequest_AclRequest_ACL_COMMAND int32 const ( NSRequest_AclRequest_NONE NSRequest_AclRequest_ACL_COMMAND = 0 NSRequest_AclRequest_MODIFY NSRequest_AclRequest_ACL_COMMAND = 1 NSRequest_AclRequest_LIST NSRequest_AclRequest_ACL_COMMAND = 2 ) // Enum value maps for NSRequest_AclRequest_ACL_COMMAND. var ( NSRequest_AclRequest_ACL_COMMAND_name = map[int32]string{ 0: "NONE", 1: "MODIFY", 2: "LIST", } NSRequest_AclRequest_ACL_COMMAND_value = map[string]int32{ "NONE": 0, "MODIFY": 1, "LIST": 2, } ) func (x NSRequest_AclRequest_ACL_COMMAND) Enum() *NSRequest_AclRequest_ACL_COMMAND { p := new(NSRequest_AclRequest_ACL_COMMAND) *p = x return p } func (x NSRequest_AclRequest_ACL_COMMAND) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (NSRequest_AclRequest_ACL_COMMAND) Descriptor() protoreflect.EnumDescriptor { return file_Rpc_proto_enumTypes[5].Descriptor() } func (NSRequest_AclRequest_ACL_COMMAND) Type() protoreflect.EnumType { return &file_Rpc_proto_enumTypes[5] } func (x NSRequest_AclRequest_ACL_COMMAND) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use NSRequest_AclRequest_ACL_COMMAND.Descriptor instead. func (NSRequest_AclRequest_ACL_COMMAND) EnumDescriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 12, 0} } type NSRequest_AclRequest_ACL_TYPE int32 const ( NSRequest_AclRequest_USER_ACL NSRequest_AclRequest_ACL_TYPE = 0 NSRequest_AclRequest_SYS_ACL NSRequest_AclRequest_ACL_TYPE = 1 ) // Enum value maps for NSRequest_AclRequest_ACL_TYPE. var ( NSRequest_AclRequest_ACL_TYPE_name = map[int32]string{ 0: "USER_ACL", 1: "SYS_ACL", } NSRequest_AclRequest_ACL_TYPE_value = map[string]int32{ "USER_ACL": 0, "SYS_ACL": 1, } ) func (x NSRequest_AclRequest_ACL_TYPE) Enum() *NSRequest_AclRequest_ACL_TYPE { p := new(NSRequest_AclRequest_ACL_TYPE) *p = x return p } func (x NSRequest_AclRequest_ACL_TYPE) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (NSRequest_AclRequest_ACL_TYPE) Descriptor() protoreflect.EnumDescriptor { return file_Rpc_proto_enumTypes[6].Descriptor() } func (NSRequest_AclRequest_ACL_TYPE) Type() protoreflect.EnumType { return &file_Rpc_proto_enumTypes[6] } func (x NSRequest_AclRequest_ACL_TYPE) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use NSRequest_AclRequest_ACL_TYPE.Descriptor instead. func (NSRequest_AclRequest_ACL_TYPE) EnumDescriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 12, 1} } type NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE int32 const ( NSResponse_RecycleResponse_RecycleInfo_FILE NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE = 0 NSResponse_RecycleResponse_RecycleInfo_TREE NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE = 1 ) // Enum value maps for NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE. var ( NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_name = map[int32]string{ 0: "FILE", 1: "TREE", } NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_value = map[string]int32{ "FILE": 0, "TREE": 1, } ) func (x NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) Enum() *NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE { p := new(NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) *p = x return p } func (x NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) Descriptor() protoreflect.EnumDescriptor { return file_Rpc_proto_enumTypes[7].Descriptor() } func (NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) Type() protoreflect.EnumType { return &file_Rpc_proto_enumTypes[7] } func (x NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE.Descriptor instead. func (NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) EnumDescriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{21, 2, 0, 0} } type PingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Authkey string `protobuf:"bytes,1,opt,name=authkey,proto3" json:"authkey,omitempty"` Message []byte `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` } func (x *PingRequest) Reset() { *x = PingRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[0] 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_Rpc_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 PingRequest.ProtoReflect.Descriptor instead. func (*PingRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{0} } func (x *PingRequest) GetAuthkey() string { if x != nil { return x.Authkey } return "" } func (x *PingRequest) GetMessage() []byte { if x != nil { return x.Message } return nil } type PingReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Message []byte `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` } func (x *PingReply) Reset() { *x = PingReply{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PingReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*PingReply) ProtoMessage() {} func (x *PingReply) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 PingReply.ProtoReflect.Descriptor instead. func (*PingReply) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{1} } func (x *PingReply) GetMessage() []byte { if x != nil { return x.Message } return nil } type ContainerInsertRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Container []*ContainerMdProto `protobuf:"bytes,1,rep,name=container,proto3" json:"container,omitempty"` Authkey string `protobuf:"bytes,2,opt,name=authkey,proto3" json:"authkey,omitempty"` InheritMd bool `protobuf:"varint,3,opt,name=inherit_md,json=inheritMd,proto3" json:"inherit_md,omitempty"` } func (x *ContainerInsertRequest) Reset() { *x = ContainerInsertRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ContainerInsertRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ContainerInsertRequest) ProtoMessage() {} func (x *ContainerInsertRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 ContainerInsertRequest.ProtoReflect.Descriptor instead. func (*ContainerInsertRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{2} } func (x *ContainerInsertRequest) GetContainer() []*ContainerMdProto { if x != nil { return x.Container } return nil } func (x *ContainerInsertRequest) GetAuthkey() string { if x != nil { return x.Authkey } return "" } func (x *ContainerInsertRequest) GetInheritMd() bool { if x != nil { return x.InheritMd } return false } type FileInsertRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Files []*FileMdProto `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` Authkey string `protobuf:"bytes,2,opt,name=authkey,proto3" json:"authkey,omitempty"` } func (x *FileInsertRequest) Reset() { *x = FileInsertRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileInsertRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileInsertRequest) ProtoMessage() {} func (x *FileInsertRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 FileInsertRequest.ProtoReflect.Descriptor instead. func (*FileInsertRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{3} } func (x *FileInsertRequest) GetFiles() []*FileMdProto { if x != nil { return x.Files } return nil } func (x *FileInsertRequest) GetAuthkey() string { if x != nil { return x.Authkey } return "" } type InsertReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Message []string `protobuf:"bytes,1,rep,name=message,proto3" json:"message,omitempty"` Retc []uint32 `protobuf:"varint,2,rep,packed,name=retc,proto3" json:"retc,omitempty"` } func (x *InsertReply) Reset() { *x = InsertReply{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *InsertReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*InsertReply) ProtoMessage() {} func (x *InsertReply) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 InsertReply.ProtoReflect.Descriptor instead. func (*InsertReply) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{4} } func (x *InsertReply) GetMessage() []string { if x != nil { return x.Message } return nil } func (x *InsertReply) GetRetc() []uint32 { if x != nil { return x.Retc } return nil } type Time struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Sec uint64 `protobuf:"varint,1,opt,name=sec,proto3" json:"sec,omitempty"` NSec uint64 `protobuf:"varint,2,opt,name=n_sec,json=nSec,proto3" json:"n_sec,omitempty"` } func (x *Time) Reset() { *x = Time{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Time) String() string { return protoimpl.X.MessageStringOf(x) } func (*Time) ProtoMessage() {} func (x *Time) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 Time.ProtoReflect.Descriptor instead. func (*Time) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{5} } func (x *Time) GetSec() uint64 { if x != nil { return x.Sec } return 0 } func (x *Time) GetNSec() uint64 { if x != nil { return x.NSec } return 0 } type Checksum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` } func (x *Checksum) Reset() { *x = Checksum{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Checksum) String() string { return protoimpl.X.MessageStringOf(x) } func (*Checksum) ProtoMessage() {} func (x *Checksum) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 Checksum.ProtoReflect.Descriptor instead. func (*Checksum) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{6} } func (x *Checksum) GetValue() []byte { if x != nil { return x.Value } return nil } func (x *Checksum) GetType() string { if x != nil { return x.Type } return "" } type FileMdProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` ContId uint64 `protobuf:"varint,2,opt,name=cont_id,json=contId,proto3" json:"cont_id,omitempty"` Uid uint64 `protobuf:"varint,3,opt,name=uid,proto3" json:"uid,omitempty"` Gid uint64 `protobuf:"varint,4,opt,name=gid,proto3" json:"gid,omitempty"` Size uint64 `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"` LayoutId uint32 `protobuf:"varint,6,opt,name=layout_id,json=layoutId,proto3" json:"layout_id,omitempty"` Flags uint32 `protobuf:"varint,7,opt,name=flags,proto3" json:"flags,omitempty"` Name []byte `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"` LinkName []byte `protobuf:"bytes,9,opt,name=link_name,json=linkName,proto3" json:"link_name,omitempty"` Ctime *Time `protobuf:"bytes,10,opt,name=ctime,proto3" json:"ctime,omitempty"` // change time Mtime *Time `protobuf:"bytes,11,opt,name=mtime,proto3" json:"mtime,omitempty"` // modification time Checksum *Checksum `protobuf:"bytes,12,opt,name=checksum,proto3" json:"checksum,omitempty"` Locations []uint32 `protobuf:"varint,13,rep,packed,name=locations,proto3" json:"locations,omitempty"` UnlinkLocations []uint32 `protobuf:"varint,14,rep,packed,name=unlink_locations,json=unlinkLocations,proto3" json:"unlink_locations,omitempty"` Xattrs map[string][]byte `protobuf:"bytes,15,rep,name=xattrs,proto3" json:"xattrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Path []byte `protobuf:"bytes,16,opt,name=path,proto3" json:"path,omitempty"` } func (x *FileMdProto) Reset() { *x = FileMdProto{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileMdProto) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileMdProto) ProtoMessage() {} func (x *FileMdProto) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 FileMdProto.ProtoReflect.Descriptor instead. func (*FileMdProto) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{7} } func (x *FileMdProto) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *FileMdProto) GetContId() uint64 { if x != nil { return x.ContId } return 0 } func (x *FileMdProto) GetUid() uint64 { if x != nil { return x.Uid } return 0 } func (x *FileMdProto) GetGid() uint64 { if x != nil { return x.Gid } return 0 } func (x *FileMdProto) GetSize() uint64 { if x != nil { return x.Size } return 0 } func (x *FileMdProto) GetLayoutId() uint32 { if x != nil { return x.LayoutId } return 0 } func (x *FileMdProto) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *FileMdProto) GetName() []byte { if x != nil { return x.Name } return nil } func (x *FileMdProto) GetLinkName() []byte { if x != nil { return x.LinkName } return nil } func (x *FileMdProto) GetCtime() *Time { if x != nil { return x.Ctime } return nil } func (x *FileMdProto) GetMtime() *Time { if x != nil { return x.Mtime } return nil } func (x *FileMdProto) GetChecksum() *Checksum { if x != nil { return x.Checksum } return nil } func (x *FileMdProto) GetLocations() []uint32 { if x != nil { return x.Locations } return nil } func (x *FileMdProto) GetUnlinkLocations() []uint32 { if x != nil { return x.UnlinkLocations } return nil } func (x *FileMdProto) GetXattrs() map[string][]byte { if x != nil { return x.Xattrs } return nil } func (x *FileMdProto) GetPath() []byte { if x != nil { return x.Path } return nil } type ContainerMdProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` ParentId uint64 `protobuf:"varint,2,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"` Uid uint64 `protobuf:"varint,3,opt,name=uid,proto3" json:"uid,omitempty"` Gid uint64 `protobuf:"varint,4,opt,name=gid,proto3" json:"gid,omitempty"` TreeSize int64 `protobuf:"varint,6,opt,name=tree_size,json=treeSize,proto3" json:"tree_size,omitempty"` Mode uint32 `protobuf:"varint,5,opt,name=mode,proto3" json:"mode,omitempty"` Flags uint32 `protobuf:"varint,7,opt,name=flags,proto3" json:"flags,omitempty"` Name []byte `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"` Ctime *Time `protobuf:"bytes,9,opt,name=ctime,proto3" json:"ctime,omitempty"` // change time Mtime *Time `protobuf:"bytes,10,opt,name=mtime,proto3" json:"mtime,omitempty"` // modification time Stime *Time `protobuf:"bytes,11,opt,name=stime,proto3" json:"stime,omitempty"` // sync time Xattrs map[string][]byte `protobuf:"bytes,12,rep,name=xattrs,proto3" json:"xattrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Path []byte `protobuf:"bytes,13,opt,name=path,proto3" json:"path,omitempty"` } func (x *ContainerMdProto) Reset() { *x = ContainerMdProto{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ContainerMdProto) String() string { return protoimpl.X.MessageStringOf(x) } func (*ContainerMdProto) ProtoMessage() {} func (x *ContainerMdProto) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 ContainerMdProto.ProtoReflect.Descriptor instead. func (*ContainerMdProto) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{8} } func (x *ContainerMdProto) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *ContainerMdProto) GetParentId() uint64 { if x != nil { return x.ParentId } return 0 } func (x *ContainerMdProto) GetUid() uint64 { if x != nil { return x.Uid } return 0 } func (x *ContainerMdProto) GetGid() uint64 { if x != nil { return x.Gid } return 0 } func (x *ContainerMdProto) GetTreeSize() int64 { if x != nil { return x.TreeSize } return 0 } func (x *ContainerMdProto) GetMode() uint32 { if x != nil { return x.Mode } return 0 } func (x *ContainerMdProto) GetFlags() uint32 { if x != nil { return x.Flags } return 0 } func (x *ContainerMdProto) GetName() []byte { if x != nil { return x.Name } return nil } func (x *ContainerMdProto) GetCtime() *Time { if x != nil { return x.Ctime } return nil } func (x *ContainerMdProto) GetMtime() *Time { if x != nil { return x.Mtime } return nil } func (x *ContainerMdProto) GetStime() *Time { if x != nil { return x.Stime } return nil } func (x *ContainerMdProto) GetXattrs() map[string][]byte { if x != nil { return x.Xattrs } return nil } func (x *ContainerMdProto) GetPath() []byte { if x != nil { return x.Path } return nil } type QuotaProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // quota node path Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // associated name for the given type Type QUOTATYPE `protobuf:"varint,3,opt,name=type,proto3,enum=eos.rpc.QUOTATYPE" json:"type,omitempty"` // user,group,project or all quota Usedbytes uint64 `protobuf:"varint,4,opt,name=usedbytes,proto3" json:"usedbytes,omitempty"` // bytes used physical Usedlogicalbytes uint64 `protobuf:"varint,5,opt,name=usedlogicalbytes,proto3" json:"usedlogicalbytes,omitempty"` // bytes used logical Usedfiles uint64 `protobuf:"varint,6,opt,name=usedfiles,proto3" json:"usedfiles,omitempty"` // number of files used Maxbytes uint64 `protobuf:"varint,7,opt,name=maxbytes,proto3" json:"maxbytes,omitempty"` // maximum number of bytes (volume quota) Maxlogicalbytes uint64 `protobuf:"varint,8,opt,name=maxlogicalbytes,proto3" json:"maxlogicalbytes,omitempty"` // maximum number of logical bytes (logical volume quota) Maxfiles uint64 `protobuf:"varint,9,opt,name=maxfiles,proto3" json:"maxfiles,omitempty"` // maximum number of files (inode quota) Percentageusedbytes float32 `protobuf:"fixed32,10,opt,name=percentageusedbytes,proto3" json:"percentageusedbytes,omitempty"` // percentage of volume quota used from 0 to 100 Percentageusedfiles float32 `protobuf:"fixed32,11,opt,name=percentageusedfiles,proto3" json:"percentageusedfiles,omitempty"` // percentag of inode quota used from 0 to 100 Statusbytes string `protobuf:"bytes,12,opt,name=statusbytes,proto3" json:"statusbytes,omitempty"` // status string for volume quota ok,warning,exceeded Statusfiles string `protobuf:"bytes,13,opt,name=statusfiles,proto3" json:"statusfiles,omitempty"` // status string for inode quota ok,warning,exceeded } func (x *QuotaProto) Reset() { *x = QuotaProto{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QuotaProto) String() string { return protoimpl.X.MessageStringOf(x) } func (*QuotaProto) ProtoMessage() {} func (x *QuotaProto) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 QuotaProto.ProtoReflect.Descriptor instead. func (*QuotaProto) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{9} } func (x *QuotaProto) GetPath() []byte { if x != nil { return x.Path } return nil } func (x *QuotaProto) GetName() string { if x != nil { return x.Name } return "" } func (x *QuotaProto) GetType() QUOTATYPE { if x != nil { return x.Type } return QUOTATYPE_USER } func (x *QuotaProto) GetUsedbytes() uint64 { if x != nil { return x.Usedbytes } return 0 } func (x *QuotaProto) GetUsedlogicalbytes() uint64 { if x != nil { return x.Usedlogicalbytes } return 0 } func (x *QuotaProto) GetUsedfiles() uint64 { if x != nil { return x.Usedfiles } return 0 } func (x *QuotaProto) GetMaxbytes() uint64 { if x != nil { return x.Maxbytes } return 0 } func (x *QuotaProto) GetMaxlogicalbytes() uint64 { if x != nil { return x.Maxlogicalbytes } return 0 } func (x *QuotaProto) GetMaxfiles() uint64 { if x != nil { return x.Maxfiles } return 0 } func (x *QuotaProto) GetPercentageusedbytes() float32 { if x != nil { return x.Percentageusedbytes } return 0 } func (x *QuotaProto) GetPercentageusedfiles() float32 { if x != nil { return x.Percentageusedfiles } return 0 } func (x *QuotaProto) GetStatusbytes() string { if x != nil { return x.Statusbytes } return "" } func (x *QuotaProto) GetStatusfiles() string { if x != nil { return x.Statusfiles } return "" } type RoleId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uid uint64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` Gid uint64 `protobuf:"varint,2,opt,name=gid,proto3" json:"gid,omitempty"` Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` Groupname string `protobuf:"bytes,4,opt,name=groupname,proto3" json:"groupname,omitempty"` } func (x *RoleId) Reset() { *x = RoleId{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RoleId) String() string { return protoimpl.X.MessageStringOf(x) } func (*RoleId) ProtoMessage() {} func (x *RoleId) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 RoleId.ProtoReflect.Descriptor instead. func (*RoleId) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{10} } func (x *RoleId) GetUid() uint64 { if x != nil { return x.Uid } return 0 } func (x *RoleId) GetGid() uint64 { if x != nil { return x.Gid } return 0 } func (x *RoleId) GetUsername() string { if x != nil { return x.Username } return "" } func (x *RoleId) GetGroupname() string { if x != nil { return x.Groupname } return "" } type MDId struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` Id uint64 `protobuf:"fixed64,2,opt,name=id,proto3" json:"id,omitempty"` Ino uint64 `protobuf:"fixed64,3,opt,name=ino,proto3" json:"ino,omitempty"` Type TYPE `protobuf:"varint,4,opt,name=type,proto3,enum=eos.rpc.TYPE" json:"type,omitempty"` } func (x *MDId) Reset() { *x = MDId{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MDId) String() string { return protoimpl.X.MessageStringOf(x) } func (*MDId) ProtoMessage() {} func (x *MDId) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 MDId.ProtoReflect.Descriptor instead. func (*MDId) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{11} } func (x *MDId) GetPath() []byte { if x != nil { return x.Path } return nil } func (x *MDId) GetId() uint64 { if x != nil { return x.Id } return 0 } func (x *MDId) GetIno() uint64 { if x != nil { return x.Ino } return 0 } func (x *MDId) GetType() TYPE { if x != nil { return x.Type } return TYPE_FILE } type Limit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Zero bool `protobuf:"varint,1,opt,name=zero,proto3" json:"zero,omitempty"` Min uint64 `protobuf:"varint,2,opt,name=min,proto3" json:"min,omitempty"` Max uint64 `protobuf:"varint,3,opt,name=max,proto3" json:"max,omitempty"` } func (x *Limit) Reset() { *x = Limit{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Limit) String() string { return protoimpl.X.MessageStringOf(x) } func (*Limit) ProtoMessage() {} func (x *Limit) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 Limit.ProtoReflect.Descriptor instead. func (*Limit) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{12} } func (x *Limit) GetZero() bool { if x != nil { return x.Zero } return false } func (x *Limit) GetMin() uint64 { if x != nil { return x.Min } return 0 } func (x *Limit) GetMax() uint64 { if x != nil { return x.Max } return 0 } type MDSelection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Select bool `protobuf:"varint,1,opt,name=select,proto3" json:"select,omitempty"` Ctime *Limit `protobuf:"bytes,2,opt,name=ctime,proto3" json:"ctime,omitempty"` Mtime *Limit `protobuf:"bytes,3,opt,name=mtime,proto3" json:"mtime,omitempty"` Stime *Limit `protobuf:"bytes,4,opt,name=stime,proto3" json:"stime,omitempty"` Size *Limit `protobuf:"bytes,5,opt,name=size,proto3" json:"size,omitempty"` Treesize *Limit `protobuf:"bytes,6,opt,name=treesize,proto3" json:"treesize,omitempty"` Children *Limit `protobuf:"bytes,7,opt,name=children,proto3" json:"children,omitempty"` Locations *Limit `protobuf:"bytes,8,opt,name=locations,proto3" json:"locations,omitempty"` UnlinkedLocations *Limit `protobuf:"bytes,9,opt,name=unlinked_locations,json=unlinkedLocations,proto3" json:"unlinked_locations,omitempty"` Layoutid uint64 `protobuf:"varint,10,opt,name=layoutid,proto3" json:"layoutid,omitempty"` Flags uint64 `protobuf:"varint,11,opt,name=flags,proto3" json:"flags,omitempty"` Symlink bool `protobuf:"varint,12,opt,name=symlink,proto3" json:"symlink,omitempty"` Checksum *Checksum `protobuf:"bytes,13,opt,name=checksum,proto3" json:"checksum,omitempty"` Owner uint32 `protobuf:"varint,14,opt,name=owner,proto3" json:"owner,omitempty"` Group uint32 `protobuf:"varint,15,opt,name=group,proto3" json:"group,omitempty"` OwnerRoot bool `protobuf:"varint,16,opt,name=owner_root,json=ownerRoot,proto3" json:"owner_root,omitempty"` GroupRoot bool `protobuf:"varint,17,opt,name=group_root,json=groupRoot,proto3" json:"group_root,omitempty"` RegexpFilename []byte `protobuf:"bytes,18,opt,name=regexp_filename,json=regexpFilename,proto3" json:"regexp_filename,omitempty"` RegexpDirname []byte `protobuf:"bytes,19,opt,name=regexp_dirname,json=regexpDirname,proto3" json:"regexp_dirname,omitempty"` Xattr map[string][]byte `protobuf:"bytes,20,rep,name=xattr,proto3" json:"xattr,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *MDSelection) Reset() { *x = MDSelection{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MDSelection) String() string { return protoimpl.X.MessageStringOf(x) } func (*MDSelection) ProtoMessage() {} func (x *MDSelection) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 MDSelection.ProtoReflect.Descriptor instead. func (*MDSelection) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{13} } func (x *MDSelection) GetSelect() bool { if x != nil { return x.Select } return false } func (x *MDSelection) GetCtime() *Limit { if x != nil { return x.Ctime } return nil } func (x *MDSelection) GetMtime() *Limit { if x != nil { return x.Mtime } return nil } func (x *MDSelection) GetStime() *Limit { if x != nil { return x.Stime } return nil } func (x *MDSelection) GetSize() *Limit { if x != nil { return x.Size } return nil } func (x *MDSelection) GetTreesize() *Limit { if x != nil { return x.Treesize } return nil } func (x *MDSelection) GetChildren() *Limit { if x != nil { return x.Children } return nil } func (x *MDSelection) GetLocations() *Limit { if x != nil { return x.Locations } return nil } func (x *MDSelection) GetUnlinkedLocations() *Limit { if x != nil { return x.UnlinkedLocations } return nil } func (x *MDSelection) GetLayoutid() uint64 { if x != nil { return x.Layoutid } return 0 } func (x *MDSelection) GetFlags() uint64 { if x != nil { return x.Flags } return 0 } func (x *MDSelection) GetSymlink() bool { if x != nil { return x.Symlink } return false } func (x *MDSelection) GetChecksum() *Checksum { if x != nil { return x.Checksum } return nil } func (x *MDSelection) GetOwner() uint32 { if x != nil { return x.Owner } return 0 } func (x *MDSelection) GetGroup() uint32 { if x != nil { return x.Group } return 0 } func (x *MDSelection) GetOwnerRoot() bool { if x != nil { return x.OwnerRoot } return false } func (x *MDSelection) GetGroupRoot() bool { if x != nil { return x.GroupRoot } return false } func (x *MDSelection) GetRegexpFilename() []byte { if x != nil { return x.RegexpFilename } return nil } func (x *MDSelection) GetRegexpDirname() []byte { if x != nil { return x.RegexpDirname } return nil } func (x *MDSelection) GetXattr() map[string][]byte { if x != nil { return x.Xattr } return nil } type MDRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type TYPE `protobuf:"varint,1,opt,name=type,proto3,enum=eos.rpc.TYPE" json:"type,omitempty"` Id *MDId `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` Authkey string `protobuf:"bytes,3,opt,name=authkey,proto3" json:"authkey,omitempty"` Role *RoleId `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` Selection *MDSelection `protobuf:"bytes,5,opt,name=selection,proto3" json:"selection,omitempty"` } func (x *MDRequest) Reset() { *x = MDRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MDRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MDRequest) ProtoMessage() {} func (x *MDRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 MDRequest.ProtoReflect.Descriptor instead. func (*MDRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{14} } func (x *MDRequest) GetType() TYPE { if x != nil { return x.Type } return TYPE_FILE } func (x *MDRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *MDRequest) GetAuthkey() string { if x != nil { return x.Authkey } return "" } func (x *MDRequest) GetRole() *RoleId { if x != nil { return x.Role } return nil } func (x *MDRequest) GetSelection() *MDSelection { if x != nil { return x.Selection } return nil } type MDResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type TYPE `protobuf:"varint,1,opt,name=type,proto3,enum=eos.rpc.TYPE" json:"type,omitempty"` Fmd *FileMdProto `protobuf:"bytes,2,opt,name=fmd,proto3" json:"fmd,omitempty"` Cmd *ContainerMdProto `protobuf:"bytes,3,opt,name=cmd,proto3" json:"cmd,omitempty"` } func (x *MDResponse) Reset() { *x = MDResponse{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MDResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*MDResponse) ProtoMessage() {} func (x *MDResponse) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 MDResponse.ProtoReflect.Descriptor instead. func (*MDResponse) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{15} } func (x *MDResponse) GetType() TYPE { if x != nil { return x.Type } return TYPE_FILE } func (x *MDResponse) GetFmd() *FileMdProto { if x != nil { return x.Fmd } return nil } func (x *MDResponse) GetCmd() *ContainerMdProto { if x != nil { return x.Cmd } return nil } type FindRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type TYPE `protobuf:"varint,1,opt,name=type,proto3,enum=eos.rpc.TYPE" json:"type,omitempty"` Id *MDId `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` Role *RoleId `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` Authkey string `protobuf:"bytes,4,opt,name=authkey,proto3" json:"authkey,omitempty"` Maxdepth uint64 `protobuf:"varint,5,opt,name=maxdepth,proto3" json:"maxdepth,omitempty"` Selection *MDSelection `protobuf:"bytes,6,opt,name=selection,proto3" json:"selection,omitempty"` } func (x *FindRequest) Reset() { *x = FindRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FindRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FindRequest) ProtoMessage() {} func (x *FindRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 FindRequest.ProtoReflect.Descriptor instead. func (*FindRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{16} } func (x *FindRequest) GetType() TYPE { if x != nil { return x.Type } return TYPE_FILE } func (x *FindRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *FindRequest) GetRole() *RoleId { if x != nil { return x.Role } return nil } func (x *FindRequest) GetAuthkey() string { if x != nil { return x.Authkey } return "" } func (x *FindRequest) GetMaxdepth() uint64 { if x != nil { return x.Maxdepth } return 0 } func (x *FindRequest) GetSelection() *MDSelection { if x != nil { return x.Selection } return nil } type ShareAuth struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Prot string `protobuf:"bytes,1,opt,name=prot,proto3" json:"prot,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"` } func (x *ShareAuth) Reset() { *x = ShareAuth{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ShareAuth) String() string { return protoimpl.X.MessageStringOf(x) } func (*ShareAuth) ProtoMessage() {} func (x *ShareAuth) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 ShareAuth.ProtoReflect.Descriptor instead. func (*ShareAuth) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{17} } func (x *ShareAuth) GetProt() string { if x != nil { return x.Prot } return "" } func (x *ShareAuth) GetName() string { if x != nil { return x.Name } return "" } func (x *ShareAuth) GetHost() string { if x != nil { return x.Host } return "" } type ShareProto struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Permission string `protobuf:"bytes,1,opt,name=permission,proto3" json:"permission,omitempty"` Expires uint64 `protobuf:"varint,2,opt,name=expires,proto3" json:"expires,omitempty"` Owner string `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"` Group string `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"` Generation uint64 `protobuf:"varint,5,opt,name=generation,proto3" json:"generation,omitempty"` Path string `protobuf:"bytes,6,opt,name=path,proto3" json:"path,omitempty"` Allowtree bool `protobuf:"varint,7,opt,name=allowtree,proto3" json:"allowtree,omitempty"` Vtoken string `protobuf:"bytes,8,opt,name=vtoken,proto3" json:"vtoken,omitempty"` Origins []*ShareAuth `protobuf:"bytes,9,rep,name=origins,proto3" json:"origins,omitempty"` } func (x *ShareProto) Reset() { *x = ShareProto{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ShareProto) String() string { return protoimpl.X.MessageStringOf(x) } func (*ShareProto) ProtoMessage() {} func (x *ShareProto) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 ShareProto.ProtoReflect.Descriptor instead. func (*ShareProto) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{18} } func (x *ShareProto) GetPermission() string { if x != nil { return x.Permission } return "" } func (x *ShareProto) GetExpires() uint64 { if x != nil { return x.Expires } return 0 } func (x *ShareProto) GetOwner() string { if x != nil { return x.Owner } return "" } func (x *ShareProto) GetGroup() string { if x != nil { return x.Group } return "" } func (x *ShareProto) GetGeneration() uint64 { if x != nil { return x.Generation } return 0 } func (x *ShareProto) GetPath() string { if x != nil { return x.Path } return "" } func (x *ShareProto) GetAllowtree() bool { if x != nil { return x.Allowtree } return false } func (x *ShareProto) GetVtoken() string { if x != nil { return x.Vtoken } return "" } func (x *ShareProto) GetOrigins() []*ShareAuth { if x != nil { return x.Origins } return nil } type ShareToken struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Token *ShareProto `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` Serialized []byte `protobuf:"bytes,3,opt,name=serialized,proto3" json:"serialized,omitempty"` Seed int32 `protobuf:"varint,4,opt,name=seed,proto3" json:"seed,omitempty"` } func (x *ShareToken) Reset() { *x = ShareToken{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ShareToken) String() string { return protoimpl.X.MessageStringOf(x) } func (*ShareToken) ProtoMessage() {} func (x *ShareToken) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 ShareToken.ProtoReflect.Descriptor instead. func (*ShareToken) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{19} } func (x *ShareToken) GetToken() *ShareProto { if x != nil { return x.Token } return nil } func (x *ShareToken) GetSignature() []byte { if x != nil { return x.Signature } return nil } func (x *ShareToken) GetSerialized() []byte { if x != nil { return x.Serialized } return nil } func (x *ShareToken) GetSeed() int32 { if x != nil { return x.Seed } return 0 } type NSRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Authkey string `protobuf:"bytes,1,opt,name=authkey,proto3" json:"authkey,omitempty"` Role *RoleId `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` // Actual request data object // // Types that are assignable to Command: // *NSRequest_Mkdir // *NSRequest_Rmdir // *NSRequest_Touch // *NSRequest_Unlink // *NSRequest_Rm // *NSRequest_Rename // *NSRequest_Symlink // *NSRequest_Version // *NSRequest_Recycle // *NSRequest_Xattr // *NSRequest_Chown // *NSRequest_Chmod // *NSRequest_Acl // *NSRequest_Token // *NSRequest_Quota Command isNSRequest_Command `protobuf_oneof:"command"` } func (x *NSRequest) Reset() { *x = NSRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest) ProtoMessage() {} func (x *NSRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest.ProtoReflect.Descriptor instead. func (*NSRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20} } func (x *NSRequest) GetAuthkey() string { if x != nil { return x.Authkey } return "" } func (x *NSRequest) GetRole() *RoleId { if x != nil { return x.Role } return nil } func (m *NSRequest) GetCommand() isNSRequest_Command { if m != nil { return m.Command } return nil } func (x *NSRequest) GetMkdir() *NSRequest_MkdirRequest { if x, ok := x.GetCommand().(*NSRequest_Mkdir); ok { return x.Mkdir } return nil } func (x *NSRequest) GetRmdir() *NSRequest_RmdirRequest { if x, ok := x.GetCommand().(*NSRequest_Rmdir); ok { return x.Rmdir } return nil } func (x *NSRequest) GetTouch() *NSRequest_TouchRequest { if x, ok := x.GetCommand().(*NSRequest_Touch); ok { return x.Touch } return nil } func (x *NSRequest) GetUnlink() *NSRequest_UnlinkRequest { if x, ok := x.GetCommand().(*NSRequest_Unlink); ok { return x.Unlink } return nil } func (x *NSRequest) GetRm() *NSRequest_RmRequest { if x, ok := x.GetCommand().(*NSRequest_Rm); ok { return x.Rm } return nil } func (x *NSRequest) GetRename() *NSRequest_RenameRequest { if x, ok := x.GetCommand().(*NSRequest_Rename); ok { return x.Rename } return nil } func (x *NSRequest) GetSymlink() *NSRequest_SymlinkRequest { if x, ok := x.GetCommand().(*NSRequest_Symlink); ok { return x.Symlink } return nil } func (x *NSRequest) GetVersion() *NSRequest_VersionRequest { if x, ok := x.GetCommand().(*NSRequest_Version); ok { return x.Version } return nil } func (x *NSRequest) GetRecycle() *NSRequest_RecycleRequest { if x, ok := x.GetCommand().(*NSRequest_Recycle); ok { return x.Recycle } return nil } func (x *NSRequest) GetXattr() *NSRequest_SetXAttrRequest { if x, ok := x.GetCommand().(*NSRequest_Xattr); ok { return x.Xattr } return nil } func (x *NSRequest) GetChown() *NSRequest_ChownRequest { if x, ok := x.GetCommand().(*NSRequest_Chown); ok { return x.Chown } return nil } func (x *NSRequest) GetChmod() *NSRequest_ChmodRequest { if x, ok := x.GetCommand().(*NSRequest_Chmod); ok { return x.Chmod } return nil } func (x *NSRequest) GetAcl() *NSRequest_AclRequest { if x, ok := x.GetCommand().(*NSRequest_Acl); ok { return x.Acl } return nil } func (x *NSRequest) GetToken() *NSRequest_TokenRequest { if x, ok := x.GetCommand().(*NSRequest_Token); ok { return x.Token } return nil } func (x *NSRequest) GetQuota() *NSRequest_QuotaRequest { if x, ok := x.GetCommand().(*NSRequest_Quota); ok { return x.Quota } return nil } type isNSRequest_Command interface { isNSRequest_Command() } type NSRequest_Mkdir struct { Mkdir *NSRequest_MkdirRequest `protobuf:"bytes,21,opt,name=mkdir,proto3,oneof"` } type NSRequest_Rmdir struct { Rmdir *NSRequest_RmdirRequest `protobuf:"bytes,22,opt,name=rmdir,proto3,oneof"` } type NSRequest_Touch struct { Touch *NSRequest_TouchRequest `protobuf:"bytes,23,opt,name=touch,proto3,oneof"` } type NSRequest_Unlink struct { Unlink *NSRequest_UnlinkRequest `protobuf:"bytes,24,opt,name=unlink,proto3,oneof"` } type NSRequest_Rm struct { Rm *NSRequest_RmRequest `protobuf:"bytes,25,opt,name=rm,proto3,oneof"` } type NSRequest_Rename struct { Rename *NSRequest_RenameRequest `protobuf:"bytes,26,opt,name=rename,proto3,oneof"` } type NSRequest_Symlink struct { Symlink *NSRequest_SymlinkRequest `protobuf:"bytes,27,opt,name=symlink,proto3,oneof"` } type NSRequest_Version struct { Version *NSRequest_VersionRequest `protobuf:"bytes,28,opt,name=version,proto3,oneof"` } type NSRequest_Recycle struct { Recycle *NSRequest_RecycleRequest `protobuf:"bytes,29,opt,name=recycle,proto3,oneof"` } type NSRequest_Xattr struct { Xattr *NSRequest_SetXAttrRequest `protobuf:"bytes,30,opt,name=xattr,proto3,oneof"` } type NSRequest_Chown struct { Chown *NSRequest_ChownRequest `protobuf:"bytes,31,opt,name=chown,proto3,oneof"` } type NSRequest_Chmod struct { Chmod *NSRequest_ChmodRequest `protobuf:"bytes,32,opt,name=chmod,proto3,oneof"` } type NSRequest_Acl struct { Acl *NSRequest_AclRequest `protobuf:"bytes,33,opt,name=acl,proto3,oneof"` } type NSRequest_Token struct { Token *NSRequest_TokenRequest `protobuf:"bytes,34,opt,name=token,proto3,oneof"` } type NSRequest_Quota struct { Quota *NSRequest_QuotaRequest `protobuf:"bytes,35,opt,name=quota,proto3,oneof"` } func (*NSRequest_Mkdir) isNSRequest_Command() {} func (*NSRequest_Rmdir) isNSRequest_Command() {} func (*NSRequest_Touch) isNSRequest_Command() {} func (*NSRequest_Unlink) isNSRequest_Command() {} func (*NSRequest_Rm) isNSRequest_Command() {} func (*NSRequest_Rename) isNSRequest_Command() {} func (*NSRequest_Symlink) isNSRequest_Command() {} func (*NSRequest_Version) isNSRequest_Command() {} func (*NSRequest_Recycle) isNSRequest_Command() {} func (*NSRequest_Xattr) isNSRequest_Command() {} func (*NSRequest_Chown) isNSRequest_Command() {} func (*NSRequest_Chmod) isNSRequest_Command() {} func (*NSRequest_Acl) isNSRequest_Command() {} func (*NSRequest_Token) isNSRequest_Command() {} func (*NSRequest_Quota) isNSRequest_Command() {} type NSResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Error *NSResponse_ErrorResponse `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` Version *NSResponse_VersionResponse `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` Recycle *NSResponse_RecycleResponse `protobuf:"bytes,3,opt,name=recycle,proto3" json:"recycle,omitempty"` Acl *NSResponse_AclResponse `protobuf:"bytes,4,opt,name=acl,proto3" json:"acl,omitempty"` Quota *NSResponse_QuotaResponse `protobuf:"bytes,5,opt,name=quota,proto3" json:"quota,omitempty"` } func (x *NSResponse) Reset() { *x = NSResponse{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSResponse) ProtoMessage() {} func (x *NSResponse) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSResponse.ProtoReflect.Descriptor instead. func (*NSResponse) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{21} } func (x *NSResponse) GetError() *NSResponse_ErrorResponse { if x != nil { return x.Error } return nil } func (x *NSResponse) GetVersion() *NSResponse_VersionResponse { if x != nil { return x.Version } return nil } func (x *NSResponse) GetRecycle() *NSResponse_RecycleResponse { if x != nil { return x.Recycle } return nil } func (x *NSResponse) GetAcl() *NSResponse_AclResponse { if x != nil { return x.Acl } return nil } func (x *NSResponse) GetQuota() *NSResponse_QuotaResponse { if x != nil { return x.Quota } return nil } type NsStatRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Authkey string `protobuf:"bytes,1,opt,name=authkey,proto3" json:"authkey,omitempty"` } func (x *NsStatRequest) Reset() { *x = NsStatRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NsStatRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NsStatRequest) ProtoMessage() {} func (x *NsStatRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NsStatRequest.ProtoReflect.Descriptor instead. func (*NsStatRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{22} } func (x *NsStatRequest) GetAuthkey() string { if x != nil { return x.Authkey } return "" } type NsStatResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Emsg string `protobuf:"bytes,2,opt,name=emsg,proto3" json:"emsg,omitempty"` State string `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` Nfiles uint64 `protobuf:"varint,4,opt,name=nfiles,proto3" json:"nfiles,omitempty"` Ncontainers uint64 `protobuf:"varint,5,opt,name=ncontainers,proto3" json:"ncontainers,omitempty"` BootTime uint64 `protobuf:"varint,6,opt,name=boot_time,json=bootTime,proto3" json:"boot_time,omitempty"` CurrentFid uint64 `protobuf:"varint,7,opt,name=current_fid,json=currentFid,proto3" json:"current_fid,omitempty"` CurrentCid uint64 `protobuf:"varint,8,opt,name=current_cid,json=currentCid,proto3" json:"current_cid,omitempty"` MemVirtual uint64 `protobuf:"varint,9,opt,name=mem_virtual,json=memVirtual,proto3" json:"mem_virtual,omitempty"` MemResident uint64 `protobuf:"varint,10,opt,name=mem_resident,json=memResident,proto3" json:"mem_resident,omitempty"` MemShare uint64 `protobuf:"varint,11,opt,name=mem_share,json=memShare,proto3" json:"mem_share,omitempty"` MemGrowth uint64 `protobuf:"varint,12,opt,name=mem_growth,json=memGrowth,proto3" json:"mem_growth,omitempty"` Threads uint64 `protobuf:"varint,13,opt,name=threads,proto3" json:"threads,omitempty"` Fds uint64 `protobuf:"varint,14,opt,name=fds,proto3" json:"fds,omitempty"` Uptime uint64 `protobuf:"varint,15,opt,name=uptime,proto3" json:"uptime,omitempty"` } func (x *NsStatResponse) Reset() { *x = NsStatResponse{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NsStatResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NsStatResponse) ProtoMessage() {} func (x *NsStatResponse) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NsStatResponse.ProtoReflect.Descriptor instead. func (*NsStatResponse) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{23} } func (x *NsStatResponse) GetCode() int64 { if x != nil { return x.Code } return 0 } func (x *NsStatResponse) GetEmsg() string { if x != nil { return x.Emsg } return "" } func (x *NsStatResponse) GetState() string { if x != nil { return x.State } return "" } func (x *NsStatResponse) GetNfiles() uint64 { if x != nil { return x.Nfiles } return 0 } func (x *NsStatResponse) GetNcontainers() uint64 { if x != nil { return x.Ncontainers } return 0 } func (x *NsStatResponse) GetBootTime() uint64 { if x != nil { return x.BootTime } return 0 } func (x *NsStatResponse) GetCurrentFid() uint64 { if x != nil { return x.CurrentFid } return 0 } func (x *NsStatResponse) GetCurrentCid() uint64 { if x != nil { return x.CurrentCid } return 0 } func (x *NsStatResponse) GetMemVirtual() uint64 { if x != nil { return x.MemVirtual } return 0 } func (x *NsStatResponse) GetMemResident() uint64 { if x != nil { return x.MemResident } return 0 } func (x *NsStatResponse) GetMemShare() uint64 { if x != nil { return x.MemShare } return 0 } func (x *NsStatResponse) GetMemGrowth() uint64 { if x != nil { return x.MemGrowth } return 0 } func (x *NsStatResponse) GetThreads() uint64 { if x != nil { return x.Threads } return 0 } func (x *NsStatResponse) GetFds() uint64 { if x != nil { return x.Fds } return 0 } func (x *NsStatResponse) GetUptime() uint64 { if x != nil { return x.Uptime } return 0 } type ManilaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RequestType MANILA_REQUEST_TYPE `protobuf:"varint,1,opt,name=request_type,json=requestType,proto3,enum=eos.rpc.MANILA_REQUEST_TYPE" json:"request_type,omitempty"` AuthKey string `protobuf:"bytes,2,opt,name=auth_key,json=authKey,proto3" json:"auth_key,omitempty"` Protocol string `protobuf:"bytes,3,opt,name=protocol,proto3" json:"protocol,omitempty"` ShareName string `protobuf:"bytes,4,opt,name=share_name,json=shareName,proto3" json:"share_name,omitempty"` Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` ShareId string `protobuf:"bytes,6,opt,name=share_id,json=shareId,proto3" json:"share_id,omitempty"` ShareGroupId string `protobuf:"bytes,7,opt,name=share_group_id,json=shareGroupId,proto3" json:"share_group_id,omitempty"` Quota int32 `protobuf:"varint,8,opt,name=quota,proto3" json:"quota,omitempty"` Creator string `protobuf:"bytes,9,opt,name=creator,proto3" json:"creator,omitempty"` Egroup string `protobuf:"bytes,10,opt,name=egroup,proto3" json:"egroup,omitempty"` AdminEgroup string `protobuf:"bytes,11,opt,name=admin_egroup,json=adminEgroup,proto3" json:"admin_egroup,omitempty"` ShareHost string `protobuf:"bytes,12,opt,name=share_host,json=shareHost,proto3" json:"share_host,omitempty"` ShareLocation string `protobuf:"bytes,13,opt,name=share_location,json=shareLocation,proto3" json:"share_location,omitempty"` } func (x *ManilaRequest) Reset() { *x = ManilaRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManilaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManilaRequest) ProtoMessage() {} func (x *ManilaRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 ManilaRequest.ProtoReflect.Descriptor instead. func (*ManilaRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{24} } func (x *ManilaRequest) GetRequestType() MANILA_REQUEST_TYPE { if x != nil { return x.RequestType } return MANILA_REQUEST_TYPE_CREATE_SHARE } func (x *ManilaRequest) GetAuthKey() string { if x != nil { return x.AuthKey } return "" } func (x *ManilaRequest) GetProtocol() string { if x != nil { return x.Protocol } return "" } func (x *ManilaRequest) GetShareName() string { if x != nil { return x.ShareName } return "" } func (x *ManilaRequest) GetDescription() string { if x != nil { return x.Description } return "" } func (x *ManilaRequest) GetShareId() string { if x != nil { return x.ShareId } return "" } func (x *ManilaRequest) GetShareGroupId() string { if x != nil { return x.ShareGroupId } return "" } func (x *ManilaRequest) GetQuota() int32 { if x != nil { return x.Quota } return 0 } func (x *ManilaRequest) GetCreator() string { if x != nil { return x.Creator } return "" } func (x *ManilaRequest) GetEgroup() string { if x != nil { return x.Egroup } return "" } func (x *ManilaRequest) GetAdminEgroup() string { if x != nil { return x.AdminEgroup } return "" } func (x *ManilaRequest) GetShareHost() string { if x != nil { return x.ShareHost } return "" } func (x *ManilaRequest) GetShareLocation() string { if x != nil { return x.ShareLocation } return "" } type ManilaResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` //for generic messages Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` // < 1 is an error -- > 1 is OK TotalUsed int64 `protobuf:"varint,3,opt,name=total_used,json=totalUsed,proto3" json:"total_used,omitempty"` TotalCapacity int64 `protobuf:"varint,4,opt,name=total_capacity,json=totalCapacity,proto3" json:"total_capacity,omitempty"` NewShareQuota int64 `protobuf:"varint,5,opt,name=new_share_quota,json=newShareQuota,proto3" json:"new_share_quota,omitempty"` NewSharePath string `protobuf:"bytes,6,opt,name=new_share_path,json=newSharePath,proto3" json:"new_share_path,omitempty"` } func (x *ManilaResponse) Reset() { *x = ManilaResponse{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ManilaResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ManilaResponse) ProtoMessage() {} func (x *ManilaResponse) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 ManilaResponse.ProtoReflect.Descriptor instead. func (*ManilaResponse) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{25} } func (x *ManilaResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ManilaResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *ManilaResponse) GetTotalUsed() int64 { if x != nil { return x.TotalUsed } return 0 } func (x *ManilaResponse) GetTotalCapacity() int64 { if x != nil { return x.TotalCapacity } return 0 } func (x *ManilaResponse) GetNewShareQuota() int64 { if x != nil { return x.NewShareQuota } return 0 } func (x *ManilaResponse) GetNewSharePath() string { if x != nil { return x.NewSharePath } return "" } type NSRequest_MkdirRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"` Mode int64 `protobuf:"varint,3,opt,name=mode,proto3" json:"mode,omitempty"` } func (x *NSRequest_MkdirRequest) Reset() { *x = NSRequest_MkdirRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_MkdirRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_MkdirRequest) ProtoMessage() {} func (x *NSRequest_MkdirRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_MkdirRequest.ProtoReflect.Descriptor instead. func (*NSRequest_MkdirRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 0} } func (x *NSRequest_MkdirRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSRequest_MkdirRequest) GetRecursive() bool { if x != nil { return x.Recursive } return false } func (x *NSRequest_MkdirRequest) GetMode() int64 { if x != nil { return x.Mode } return 0 } type NSRequest_RmdirRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *NSRequest_RmdirRequest) Reset() { *x = NSRequest_RmdirRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_RmdirRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_RmdirRequest) ProtoMessage() {} func (x *NSRequest_RmdirRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_RmdirRequest.ProtoReflect.Descriptor instead. func (*NSRequest_RmdirRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 1} } func (x *NSRequest_RmdirRequest) GetId() *MDId { if x != nil { return x.Id } return nil } type NSRequest_TouchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *NSRequest_TouchRequest) Reset() { *x = NSRequest_TouchRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_TouchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_TouchRequest) ProtoMessage() {} func (x *NSRequest_TouchRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_TouchRequest.ProtoReflect.Descriptor instead. func (*NSRequest_TouchRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 2} } func (x *NSRequest_TouchRequest) GetId() *MDId { if x != nil { return x.Id } return nil } type NSRequest_UnlinkRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Norecycle bool `protobuf:"varint,3,opt,name=norecycle,proto3" json:"norecycle,omitempty"` } func (x *NSRequest_UnlinkRequest) Reset() { *x = NSRequest_UnlinkRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_UnlinkRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_UnlinkRequest) ProtoMessage() {} func (x *NSRequest_UnlinkRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_UnlinkRequest.ProtoReflect.Descriptor instead. func (*NSRequest_UnlinkRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 3} } func (x *NSRequest_UnlinkRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSRequest_UnlinkRequest) GetNorecycle() bool { if x != nil { return x.Norecycle } return false } type NSRequest_RmRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"` Norecycle bool `protobuf:"varint,3,opt,name=norecycle,proto3" json:"norecycle,omitempty"` } func (x *NSRequest_RmRequest) Reset() { *x = NSRequest_RmRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_RmRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_RmRequest) ProtoMessage() {} func (x *NSRequest_RmRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_RmRequest.ProtoReflect.Descriptor instead. func (*NSRequest_RmRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 4} } func (x *NSRequest_RmRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSRequest_RmRequest) GetRecursive() bool { if x != nil { return x.Recursive } return false } func (x *NSRequest_RmRequest) GetNorecycle() bool { if x != nil { return x.Norecycle } return false } type NSRequest_RenameRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Target []byte `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` } func (x *NSRequest_RenameRequest) Reset() { *x = NSRequest_RenameRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_RenameRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_RenameRequest) ProtoMessage() {} func (x *NSRequest_RenameRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_RenameRequest.ProtoReflect.Descriptor instead. func (*NSRequest_RenameRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 5} } func (x *NSRequest_RenameRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSRequest_RenameRequest) GetTarget() []byte { if x != nil { return x.Target } return nil } type NSRequest_SymlinkRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Target []byte `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` } func (x *NSRequest_SymlinkRequest) Reset() { *x = NSRequest_SymlinkRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_SymlinkRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_SymlinkRequest) ProtoMessage() {} func (x *NSRequest_SymlinkRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_SymlinkRequest.ProtoReflect.Descriptor instead. func (*NSRequest_SymlinkRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 6} } func (x *NSRequest_SymlinkRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSRequest_SymlinkRequest) GetTarget() []byte { if x != nil { return x.Target } return nil } type NSRequest_VersionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Cmd NSRequest_VersionRequest_VERSION_CMD `protobuf:"varint,2,opt,name=cmd,proto3,enum=eos.rpc.NSRequest_VersionRequest_VERSION_CMD" json:"cmd,omitempty"` Maxversion int32 `protobuf:"varint,3,opt,name=maxversion,proto3" json:"maxversion,omitempty"` } func (x *NSRequest_VersionRequest) Reset() { *x = NSRequest_VersionRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_VersionRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_VersionRequest) ProtoMessage() {} func (x *NSRequest_VersionRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_VersionRequest.ProtoReflect.Descriptor instead. func (*NSRequest_VersionRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 7} } func (x *NSRequest_VersionRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSRequest_VersionRequest) GetCmd() NSRequest_VersionRequest_VERSION_CMD { if x != nil { return x.Cmd } return NSRequest_VersionRequest_CREATE } func (x *NSRequest_VersionRequest) GetMaxversion() int32 { if x != nil { return x.Maxversion } return 0 } type NSRequest_RecycleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` Cmd NSRequest_RecycleRequest_RECYCLE_CMD `protobuf:"varint,2,opt,name=cmd,proto3,enum=eos.rpc.NSRequest_RecycleRequest_RECYCLE_CMD" json:"cmd,omitempty"` Restoreflag *NSRequest_RecycleRequest_RestoreFlags `protobuf:"bytes,3,opt,name=restoreflag,proto3" json:"restoreflag,omitempty"` Purgedate *NSRequest_RecycleRequest_PurgeDate `protobuf:"bytes,4,opt,name=purgedate,proto3" json:"purgedate,omitempty"` } func (x *NSRequest_RecycleRequest) Reset() { *x = NSRequest_RecycleRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_RecycleRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_RecycleRequest) ProtoMessage() {} func (x *NSRequest_RecycleRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_RecycleRequest.ProtoReflect.Descriptor instead. func (*NSRequest_RecycleRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 8} } func (x *NSRequest_RecycleRequest) GetKey() string { if x != nil { return x.Key } return "" } func (x *NSRequest_RecycleRequest) GetCmd() NSRequest_RecycleRequest_RECYCLE_CMD { if x != nil { return x.Cmd } return NSRequest_RecycleRequest_RESTORE } func (x *NSRequest_RecycleRequest) GetRestoreflag() *NSRequest_RecycleRequest_RestoreFlags { if x != nil { return x.Restoreflag } return nil } func (x *NSRequest_RecycleRequest) GetPurgedate() *NSRequest_RecycleRequest_PurgeDate { if x != nil { return x.Purgedate } return nil } type NSRequest_SetXAttrRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Xattrs map[string][]byte `protobuf:"bytes,2,rep,name=xattrs,proto3" json:"xattrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Recursive bool `protobuf:"varint,3,opt,name=recursive,proto3" json:"recursive,omitempty"` Keystodelete []string `protobuf:"bytes,4,rep,name=keystodelete,proto3" json:"keystodelete,omitempty"` } func (x *NSRequest_SetXAttrRequest) Reset() { *x = NSRequest_SetXAttrRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_SetXAttrRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_SetXAttrRequest) ProtoMessage() {} func (x *NSRequest_SetXAttrRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_SetXAttrRequest.ProtoReflect.Descriptor instead. func (*NSRequest_SetXAttrRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 9} } func (x *NSRequest_SetXAttrRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSRequest_SetXAttrRequest) GetXattrs() map[string][]byte { if x != nil { return x.Xattrs } return nil } func (x *NSRequest_SetXAttrRequest) GetRecursive() bool { if x != nil { return x.Recursive } return false } func (x *NSRequest_SetXAttrRequest) GetKeystodelete() []string { if x != nil { return x.Keystodelete } return nil } type NSRequest_ChownRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Owner *RoleId `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` } func (x *NSRequest_ChownRequest) Reset() { *x = NSRequest_ChownRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_ChownRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_ChownRequest) ProtoMessage() {} func (x *NSRequest_ChownRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_ChownRequest.ProtoReflect.Descriptor instead. func (*NSRequest_ChownRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 10} } func (x *NSRequest_ChownRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSRequest_ChownRequest) GetOwner() *RoleId { if x != nil { return x.Owner } return nil } type NSRequest_ChmodRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Mode int64 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"` } func (x *NSRequest_ChmodRequest) Reset() { *x = NSRequest_ChmodRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_ChmodRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_ChmodRequest) ProtoMessage() {} func (x *NSRequest_ChmodRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_ChmodRequest.ProtoReflect.Descriptor instead. func (*NSRequest_ChmodRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 11} } func (x *NSRequest_ChmodRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSRequest_ChmodRequest) GetMode() int64 { if x != nil { return x.Mode } return 0 } type NSRequest_AclRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Cmd NSRequest_AclRequest_ACL_COMMAND `protobuf:"varint,2,opt,name=cmd,proto3,enum=eos.rpc.NSRequest_AclRequest_ACL_COMMAND" json:"cmd,omitempty"` Recursive bool `protobuf:"varint,3,opt,name=recursive,proto3" json:"recursive,omitempty"` Type NSRequest_AclRequest_ACL_TYPE `protobuf:"varint,4,opt,name=type,proto3,enum=eos.rpc.NSRequest_AclRequest_ACL_TYPE" json:"type,omitempty"` Rule string `protobuf:"bytes,5,opt,name=rule,proto3" json:"rule,omitempty"` } func (x *NSRequest_AclRequest) Reset() { *x = NSRequest_AclRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_AclRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_AclRequest) ProtoMessage() {} func (x *NSRequest_AclRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_AclRequest.ProtoReflect.Descriptor instead. func (*NSRequest_AclRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 12} } func (x *NSRequest_AclRequest) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSRequest_AclRequest) GetCmd() NSRequest_AclRequest_ACL_COMMAND { if x != nil { return x.Cmd } return NSRequest_AclRequest_NONE } func (x *NSRequest_AclRequest) GetRecursive() bool { if x != nil { return x.Recursive } return false } func (x *NSRequest_AclRequest) GetType() NSRequest_AclRequest_ACL_TYPE { if x != nil { return x.Type } return NSRequest_AclRequest_USER_ACL } func (x *NSRequest_AclRequest) GetRule() string { if x != nil { return x.Rule } return "" } type NSRequest_TokenRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Token *ShareToken `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` } func (x *NSRequest_TokenRequest) Reset() { *x = NSRequest_TokenRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_TokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_TokenRequest) ProtoMessage() {} func (x *NSRequest_TokenRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_TokenRequest.ProtoReflect.Descriptor instead. func (*NSRequest_TokenRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 13} } func (x *NSRequest_TokenRequest) GetToken() *ShareToken { if x != nil { return x.Token } return nil } type NSRequest_QuotaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` Id *RoleId `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` } func (x *NSRequest_QuotaRequest) Reset() { *x = NSRequest_QuotaRequest{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_QuotaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_QuotaRequest) ProtoMessage() {} func (x *NSRequest_QuotaRequest) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_QuotaRequest.ProtoReflect.Descriptor instead. func (*NSRequest_QuotaRequest) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 14} } func (x *NSRequest_QuotaRequest) GetPath() []byte { if x != nil { return x.Path } return nil } func (x *NSRequest_QuotaRequest) GetId() *RoleId { if x != nil { return x.Id } return nil } type NSRequest_RecycleRequest_RestoreFlags struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Force bool `protobuf:"varint,1,opt,name=force,proto3" json:"force,omitempty"` Mkpath bool `protobuf:"varint,2,opt,name=mkpath,proto3" json:"mkpath,omitempty"` Versions bool `protobuf:"varint,3,opt,name=versions,proto3" json:"versions,omitempty"` } func (x *NSRequest_RecycleRequest_RestoreFlags) Reset() { *x = NSRequest_RecycleRequest_RestoreFlags{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_RecycleRequest_RestoreFlags) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_RecycleRequest_RestoreFlags) ProtoMessage() {} func (x *NSRequest_RecycleRequest_RestoreFlags) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_RecycleRequest_RestoreFlags.ProtoReflect.Descriptor instead. func (*NSRequest_RecycleRequest_RestoreFlags) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 8, 0} } func (x *NSRequest_RecycleRequest_RestoreFlags) GetForce() bool { if x != nil { return x.Force } return false } func (x *NSRequest_RecycleRequest_RestoreFlags) GetMkpath() bool { if x != nil { return x.Mkpath } return false } func (x *NSRequest_RecycleRequest_RestoreFlags) GetVersions() bool { if x != nil { return x.Versions } return false } type NSRequest_RecycleRequest_PurgeDate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Year int32 `protobuf:"varint,1,opt,name=year,proto3" json:"year,omitempty"` Month int32 `protobuf:"varint,2,opt,name=month,proto3" json:"month,omitempty"` Day int32 `protobuf:"varint,3,opt,name=day,proto3" json:"day,omitempty"` } func (x *NSRequest_RecycleRequest_PurgeDate) Reset() { *x = NSRequest_RecycleRequest_PurgeDate{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSRequest_RecycleRequest_PurgeDate) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSRequest_RecycleRequest_PurgeDate) ProtoMessage() {} func (x *NSRequest_RecycleRequest_PurgeDate) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSRequest_RecycleRequest_PurgeDate.ProtoReflect.Descriptor instead. func (*NSRequest_RecycleRequest_PurgeDate) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{20, 8, 1} } func (x *NSRequest_RecycleRequest_PurgeDate) GetYear() int32 { if x != nil { return x.Year } return 0 } func (x *NSRequest_RecycleRequest_PurgeDate) GetMonth() int32 { if x != nil { return x.Month } return 0 } func (x *NSRequest_RecycleRequest_PurgeDate) GetDay() int32 { if x != nil { return x.Day } return 0 } type NSResponse_ErrorResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` } func (x *NSResponse_ErrorResponse) Reset() { *x = NSResponse_ErrorResponse{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSResponse_ErrorResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSResponse_ErrorResponse) ProtoMessage() {} func (x *NSResponse_ErrorResponse) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSResponse_ErrorResponse.ProtoReflect.Descriptor instead. func (*NSResponse_ErrorResponse) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{21, 0} } func (x *NSResponse_ErrorResponse) GetCode() int64 { if x != nil { return x.Code } return 0 } func (x *NSResponse_ErrorResponse) GetMsg() string { if x != nil { return x.Msg } return "" } type NSResponse_VersionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Versions []*NSResponse_VersionResponse_VersionInfo `protobuf:"bytes,3,rep,name=versions,proto3" json:"versions,omitempty"` } func (x *NSResponse_VersionResponse) Reset() { *x = NSResponse_VersionResponse{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSResponse_VersionResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSResponse_VersionResponse) ProtoMessage() {} func (x *NSResponse_VersionResponse) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSResponse_VersionResponse.ProtoReflect.Descriptor instead. func (*NSResponse_VersionResponse) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{21, 1} } func (x *NSResponse_VersionResponse) GetCode() int64 { if x != nil { return x.Code } return 0 } func (x *NSResponse_VersionResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *NSResponse_VersionResponse) GetVersions() []*NSResponse_VersionResponse_VersionInfo { if x != nil { return x.Versions } return nil } type NSResponse_RecycleResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Recycles []*NSResponse_RecycleResponse_RecycleInfo `protobuf:"bytes,3,rep,name=recycles,proto3" json:"recycles,omitempty"` } func (x *NSResponse_RecycleResponse) Reset() { *x = NSResponse_RecycleResponse{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSResponse_RecycleResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSResponse_RecycleResponse) ProtoMessage() {} func (x *NSResponse_RecycleResponse) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSResponse_RecycleResponse.ProtoReflect.Descriptor instead. func (*NSResponse_RecycleResponse) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{21, 2} } func (x *NSResponse_RecycleResponse) GetCode() int64 { if x != nil { return x.Code } return 0 } func (x *NSResponse_RecycleResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *NSResponse_RecycleResponse) GetRecycles() []*NSResponse_RecycleResponse_RecycleInfo { if x != nil { return x.Recycles } return nil } type NSResponse_AclResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Rule string `protobuf:"bytes,3,opt,name=rule,proto3" json:"rule,omitempty"` } func (x *NSResponse_AclResponse) Reset() { *x = NSResponse_AclResponse{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSResponse_AclResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSResponse_AclResponse) ProtoMessage() {} func (x *NSResponse_AclResponse) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSResponse_AclResponse.ProtoReflect.Descriptor instead. func (*NSResponse_AclResponse) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{21, 3} } func (x *NSResponse_AclResponse) GetCode() int64 { if x != nil { return x.Code } return 0 } func (x *NSResponse_AclResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *NSResponse_AclResponse) GetRule() string { if x != nil { return x.Rule } return "" } type NSResponse_QuotaResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Quotanode []*QuotaProto `protobuf:"bytes,3,rep,name=quotanode,proto3" json:"quotanode,omitempty"` } func (x *NSResponse_QuotaResponse) Reset() { *x = NSResponse_QuotaResponse{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSResponse_QuotaResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSResponse_QuotaResponse) ProtoMessage() {} func (x *NSResponse_QuotaResponse) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSResponse_QuotaResponse.ProtoReflect.Descriptor instead. func (*NSResponse_QuotaResponse) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{21, 4} } func (x *NSResponse_QuotaResponse) GetCode() int64 { if x != nil { return x.Code } return 0 } func (x *NSResponse_QuotaResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *NSResponse_QuotaResponse) GetQuotanode() []*QuotaProto { if x != nil { return x.Quotanode } return nil } type NSResponse_VersionResponse_VersionInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Mtime *Time `protobuf:"bytes,2,opt,name=mtime,proto3" json:"mtime,omitempty"` } func (x *NSResponse_VersionResponse_VersionInfo) Reset() { *x = NSResponse_VersionResponse_VersionInfo{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSResponse_VersionResponse_VersionInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSResponse_VersionResponse_VersionInfo) ProtoMessage() {} func (x *NSResponse_VersionResponse_VersionInfo) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSResponse_VersionResponse_VersionInfo.ProtoReflect.Descriptor instead. func (*NSResponse_VersionResponse_VersionInfo) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{21, 1, 0} } func (x *NSResponse_VersionResponse_VersionInfo) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSResponse_VersionResponse_VersionInfo) GetMtime() *Time { if x != nil { return x.Mtime } return nil } type NSResponse_RecycleResponse_RecycleInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Owner *RoleId `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` Dtime *Time `protobuf:"bytes,3,opt,name=dtime,proto3" json:"dtime,omitempty"` Size uint64 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` Type NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE `protobuf:"varint,5,opt,name=type,proto3,enum=eos.rpc.NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE" json:"type,omitempty"` Key string `protobuf:"bytes,6,opt,name=key,proto3" json:"key,omitempty"` } func (x *NSResponse_RecycleResponse_RecycleInfo) Reset() { *x = NSResponse_RecycleResponse_RecycleInfo{} if protoimpl.UnsafeEnabled { mi := &file_Rpc_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NSResponse_RecycleResponse_RecycleInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*NSResponse_RecycleResponse_RecycleInfo) ProtoMessage() {} func (x *NSResponse_RecycleResponse_RecycleInfo) ProtoReflect() protoreflect.Message { mi := &file_Rpc_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 NSResponse_RecycleResponse_RecycleInfo.ProtoReflect.Descriptor instead. func (*NSResponse_RecycleResponse_RecycleInfo) Descriptor() ([]byte, []int) { return file_Rpc_proto_rawDescGZIP(), []int{21, 2, 0} } func (x *NSResponse_RecycleResponse_RecycleInfo) GetId() *MDId { if x != nil { return x.Id } return nil } func (x *NSResponse_RecycleResponse_RecycleInfo) GetOwner() *RoleId { if x != nil { return x.Owner } return nil } func (x *NSResponse_RecycleResponse_RecycleInfo) GetDtime() *Time { if x != nil { return x.Dtime } return nil } func (x *NSResponse_RecycleResponse_RecycleInfo) GetSize() uint64 { if x != nil { return x.Size } return 0 } func (x *NSResponse_RecycleResponse_RecycleInfo) GetType() NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE { if x != nil { return x.Type } return NSResponse_RecycleResponse_RecycleInfo_FILE } func (x *NSResponse_RecycleResponse_RecycleInfo) GetKey() string { if x != nil { return x.Key } return "" } var File_Rpc_proto protoreflect.FileDescriptor var file_Rpc_proto_rawDesc = []byte{ 0x0a, 0x09, 0x52, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x22, 0x41, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x25, 0x0a, 0x09, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x5f, 0x6d, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x4d, 0x64, 0x22, 0x59, 0x0a, 0x11, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x22, 0x3b, 0x0a, 0x0b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x74, 0x63, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x65, 0x74, 0x63, 0x22, 0x2d, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x63, 0x12, 0x13, 0x0a, 0x05, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x6e, 0x53, 0x65, 0x63, 0x22, 0x34, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9d, 0x04, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x78, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x58, 0x61, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x78, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x39, 0x0a, 0x0b, 0x58, 0x61, 0x74, 0x74, 0x72, 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, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbb, 0x03, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x72, 0x65, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x78, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x58, 0x61, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x78, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x39, 0x0a, 0x0b, 0x58, 0x61, 0x74, 0x74, 0x72, 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, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xce, 0x03, 0x0a, 0x0a, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x64, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x75, 0x73, 0x65, 0x64, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x75, 0x73, 0x65, 0x64, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x75, 0x73, 0x65, 0x64, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x75, 0x73, 0x65, 0x64, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x75, 0x73, 0x65, 0x64, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x06, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x04, 0x4d, 0x44, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x69, 0x6e, 0x6f, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x59, 0x50, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3f, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x7a, 0x65, 0x72, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0xa6, 0x06, 0x0a, 0x0b, 0x4d, 0x44, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x05, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x05, 0x73, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x74, 0x72, 0x65, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x08, 0x74, 0x72, 0x65, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x12, 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x11, 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x2d, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x5f, 0x64, 0x69, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x44, 0x69, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x78, 0x61, 0x74, 0x74, 0x72, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x58, 0x61, 0x74, 0x74, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x78, 0x61, 0x74, 0x74, 0x72, 0x1a, 0x38, 0x0a, 0x0a, 0x58, 0x61, 0x74, 0x74, 0x72, 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, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc0, 0x01, 0x0a, 0x09, 0x4d, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x59, 0x50, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x0a, 0x4d, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x59, 0x50, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x66, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x03, 0x66, 0x6d, 0x64, 0x12, 0x2b, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4d, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0xde, 0x01, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x59, 0x50, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x70, 0x74, 0x68, 0x12, 0x32, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x22, 0x8a, 0x02, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x74, 0x72, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x74, 0x72, 0x65, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x41, 0x75, 0x74, 0x68, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x22, 0x98, 0x17, 0x0a, 0x09, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x6d, 0x6b, 0x64, 0x69, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6b, 0x64, 0x69, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x6d, 0x6b, 0x64, 0x69, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x72, 0x6d, 0x64, 0x69, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x6d, 0x64, 0x69, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x72, 0x6d, 0x64, 0x69, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x12, 0x3a, 0x0a, 0x06, 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x0a, 0x02, 0x72, 0x6d, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x02, 0x72, 0x6d, 0x12, 0x3a, 0x0a, 0x06, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x78, 0x61, 0x74, 0x74, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x58, 0x41, 0x74, 0x74, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x78, 0x61, 0x74, 0x74, 0x72, 0x12, 0x37, 0x0a, 0x05, 0x63, 0x68, 0x6f, 0x77, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x6f, 0x77, 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x63, 0x68, 0x6d, 0x6f, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x6d, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x6d, 0x6f, 0x64, 0x12, 0x31, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x37, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x1a, 0x5f, 0x0a, 0x0c, 0x4d, 0x6b, 0x64, 0x69, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x1a, 0x2d, 0x0a, 0x0c, 0x52, 0x6d, 0x64, 0x69, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x2d, 0x0a, 0x0c, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x4c, 0x0a, 0x0d, 0x55, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x1a, 0x66, 0x0a, 0x09, 0x52, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x1a, 0x46, 0x0a, 0x0d, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x47, 0x0a, 0x0e, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0xc0, 0x01, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4d, 0x44, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2e, 0x0a, 0x0b, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4d, 0x44, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x55, 0x52, 0x47, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x1a, 0xd4, 0x03, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x45, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x5f, 0x43, 0x4d, 0x44, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x12, 0x50, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x49, 0x0a, 0x09, 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x58, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6b, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6d, 0x6b, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x47, 0x0a, 0x09, 0x50, 0x75, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x22, 0x2f, 0x0a, 0x0b, 0x52, 0x45, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x5f, 0x43, 0x4d, 0x44, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x55, 0x52, 0x47, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x1a, 0xf5, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x58, 0x41, 0x74, 0x74, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x06, 0x78, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x58, 0x41, 0x74, 0x74, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x58, 0x61, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x78, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x73, 0x74, 0x6f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x58, 0x61, 0x74, 0x74, 0x72, 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, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54, 0x0a, 0x0c, 0x43, 0x68, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x1a, 0x41, 0x0a, 0x0c, 0x43, 0x68, 0x6d, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x1a, 0xac, 0x02, 0x0a, 0x0a, 0x41, 0x63, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x43, 0x4c, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x22, 0x2d, 0x0a, 0x0b, 0x41, 0x43, 0x4c, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x59, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x22, 0x25, 0x0a, 0x08, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x59, 0x53, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x01, 0x1a, 0x39, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x1a, 0x43, 0x0a, 0x0c, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x91, 0x09, 0x0a, 0x0a, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x37, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x1a, 0x35, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0xd7, 0x01, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x4b, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x51, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x9b, 0x03, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x4b, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x1a, 0x94, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x05, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x50, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x22, 0x0a, 0x0c, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x52, 0x45, 0x45, 0x10, 0x01, 0x1a, 0x47, 0x0a, 0x0b, 0x41, 0x63, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x1a, 0x68, 0x0a, 0x0d, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x31, 0x0a, 0x09, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x29, 0x0a, 0x0d, 0x4e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x22, 0xab, 0x03, 0x0a, 0x0e, 0x4e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x6d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6e, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x6f, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x5f, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x65, 0x6d, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x64, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x66, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xba, 0x03, 0x0a, 0x0d, 0x4d, 0x61, 0x6e, 0x69, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x41, 0x4e, 0x49, 0x4c, 0x41, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x69, 0x6c, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x53, 0x68, 0x61, 0x72, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x77, 0x53, 0x68, 0x61, 0x72, 0x65, 0x50, 0x61, 0x74, 0x68, 0x2a, 0x36, 0x0a, 0x04, 0x54, 0x59, 0x50, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x41, 0x54, 0x10, 0x03, 0x2a, 0x36, 0x0a, 0x09, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x04, 0x2a, 0x94, 0x01, 0x0a, 0x13, 0x4d, 0x41, 0x4e, 0x49, 0x4c, 0x41, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x48, 0x52, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4e, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x43, 0x49, 0x54, 0x49, 0x45, 0x53, 0x10, 0x06, 0x32, 0xeb, 0x03, 0x0a, 0x03, 0x45, 0x6f, 0x73, 0x12, 0x32, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x02, 0x4d, 0x44, 0x12, 0x12, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x35, 0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x06, 0x4e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x12, 0x16, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x1f, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x1a, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x12, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x13, 0x4d, 0x61, 0x6e, 0x69, 0x6c, 0x61, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x6c, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2f, 0x0a, 0x0f, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x65, 0x6f, 0x73, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x08, 0x45, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x0a, 0x2e, 0x3b, 0x65, 0x6f, 0x73, 0x5f, 0x67, 0x72, 0x70, 0x63, 0xa2, 0x02, 0x03, 0x45, 0x4f, 0x53, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_Rpc_proto_rawDescOnce sync.Once file_Rpc_proto_rawDescData = file_Rpc_proto_rawDesc ) func file_Rpc_proto_rawDescGZIP() []byte { file_Rpc_proto_rawDescOnce.Do(func() { file_Rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_Rpc_proto_rawDescData) }) return file_Rpc_proto_rawDescData } var file_Rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 8) var file_Rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 54) var file_Rpc_proto_goTypes = []interface{}{ (TYPE)(0), // 0: eos.rpc.TYPE (QUOTATYPE)(0), // 1: eos.rpc.QUOTATYPE (MANILA_REQUEST_TYPE)(0), // 2: eos.rpc.MANILA_REQUEST_TYPE (NSRequest_VersionRequest_VERSION_CMD)(0), // 3: eos.rpc.NSRequest.VersionRequest.VERSION_CMD (NSRequest_RecycleRequest_RECYCLE_CMD)(0), // 4: eos.rpc.NSRequest.RecycleRequest.RECYCLE_CMD (NSRequest_AclRequest_ACL_COMMAND)(0), // 5: eos.rpc.NSRequest.AclRequest.ACL_COMMAND (NSRequest_AclRequest_ACL_TYPE)(0), // 6: eos.rpc.NSRequest.AclRequest.ACL_TYPE (NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE)(0), // 7: eos.rpc.NSResponse.RecycleResponse.RecycleInfo.DELETIONTYPE (*PingRequest)(nil), // 8: eos.rpc.PingRequest (*PingReply)(nil), // 9: eos.rpc.PingReply (*ContainerInsertRequest)(nil), // 10: eos.rpc.ContainerInsertRequest (*FileInsertRequest)(nil), // 11: eos.rpc.FileInsertRequest (*InsertReply)(nil), // 12: eos.rpc.InsertReply (*Time)(nil), // 13: eos.rpc.Time (*Checksum)(nil), // 14: eos.rpc.Checksum (*FileMdProto)(nil), // 15: eos.rpc.FileMdProto (*ContainerMdProto)(nil), // 16: eos.rpc.ContainerMdProto (*QuotaProto)(nil), // 17: eos.rpc.QuotaProto (*RoleId)(nil), // 18: eos.rpc.RoleId (*MDId)(nil), // 19: eos.rpc.MDId (*Limit)(nil), // 20: eos.rpc.Limit (*MDSelection)(nil), // 21: eos.rpc.MDSelection (*MDRequest)(nil), // 22: eos.rpc.MDRequest (*MDResponse)(nil), // 23: eos.rpc.MDResponse (*FindRequest)(nil), // 24: eos.rpc.FindRequest (*ShareAuth)(nil), // 25: eos.rpc.ShareAuth (*ShareProto)(nil), // 26: eos.rpc.ShareProto (*ShareToken)(nil), // 27: eos.rpc.ShareToken (*NSRequest)(nil), // 28: eos.rpc.NSRequest (*NSResponse)(nil), // 29: eos.rpc.NSResponse (*NsStatRequest)(nil), // 30: eos.rpc.NsStatRequest (*NsStatResponse)(nil), // 31: eos.rpc.NsStatResponse (*ManilaRequest)(nil), // 32: eos.rpc.ManilaRequest (*ManilaResponse)(nil), // 33: eos.rpc.ManilaResponse nil, // 34: eos.rpc.FileMdProto.XattrsEntry nil, // 35: eos.rpc.ContainerMdProto.XattrsEntry nil, // 36: eos.rpc.MDSelection.XattrEntry (*NSRequest_MkdirRequest)(nil), // 37: eos.rpc.NSRequest.MkdirRequest (*NSRequest_RmdirRequest)(nil), // 38: eos.rpc.NSRequest.RmdirRequest (*NSRequest_TouchRequest)(nil), // 39: eos.rpc.NSRequest.TouchRequest (*NSRequest_UnlinkRequest)(nil), // 40: eos.rpc.NSRequest.UnlinkRequest (*NSRequest_RmRequest)(nil), // 41: eos.rpc.NSRequest.RmRequest (*NSRequest_RenameRequest)(nil), // 42: eos.rpc.NSRequest.RenameRequest (*NSRequest_SymlinkRequest)(nil), // 43: eos.rpc.NSRequest.SymlinkRequest (*NSRequest_VersionRequest)(nil), // 44: eos.rpc.NSRequest.VersionRequest (*NSRequest_RecycleRequest)(nil), // 45: eos.rpc.NSRequest.RecycleRequest (*NSRequest_SetXAttrRequest)(nil), // 46: eos.rpc.NSRequest.SetXAttrRequest (*NSRequest_ChownRequest)(nil), // 47: eos.rpc.NSRequest.ChownRequest (*NSRequest_ChmodRequest)(nil), // 48: eos.rpc.NSRequest.ChmodRequest (*NSRequest_AclRequest)(nil), // 49: eos.rpc.NSRequest.AclRequest (*NSRequest_TokenRequest)(nil), // 50: eos.rpc.NSRequest.TokenRequest (*NSRequest_QuotaRequest)(nil), // 51: eos.rpc.NSRequest.QuotaRequest (*NSRequest_RecycleRequest_RestoreFlags)(nil), // 52: eos.rpc.NSRequest.RecycleRequest.RestoreFlags (*NSRequest_RecycleRequest_PurgeDate)(nil), // 53: eos.rpc.NSRequest.RecycleRequest.PurgeDate nil, // 54: eos.rpc.NSRequest.SetXAttrRequest.XattrsEntry (*NSResponse_ErrorResponse)(nil), // 55: eos.rpc.NSResponse.ErrorResponse (*NSResponse_VersionResponse)(nil), // 56: eos.rpc.NSResponse.VersionResponse (*NSResponse_RecycleResponse)(nil), // 57: eos.rpc.NSResponse.RecycleResponse (*NSResponse_AclResponse)(nil), // 58: eos.rpc.NSResponse.AclResponse (*NSResponse_QuotaResponse)(nil), // 59: eos.rpc.NSResponse.QuotaResponse (*NSResponse_VersionResponse_VersionInfo)(nil), // 60: eos.rpc.NSResponse.VersionResponse.VersionInfo (*NSResponse_RecycleResponse_RecycleInfo)(nil), // 61: eos.rpc.NSResponse.RecycleResponse.RecycleInfo } var file_Rpc_proto_depIdxs = []int32{ 16, // 0: eos.rpc.ContainerInsertRequest.container:type_name -> eos.rpc.ContainerMdProto 15, // 1: eos.rpc.FileInsertRequest.files:type_name -> eos.rpc.FileMdProto 13, // 2: eos.rpc.FileMdProto.ctime:type_name -> eos.rpc.Time 13, // 3: eos.rpc.FileMdProto.mtime:type_name -> eos.rpc.Time 14, // 4: eos.rpc.FileMdProto.checksum:type_name -> eos.rpc.Checksum 34, // 5: eos.rpc.FileMdProto.xattrs:type_name -> eos.rpc.FileMdProto.XattrsEntry 13, // 6: eos.rpc.ContainerMdProto.ctime:type_name -> eos.rpc.Time 13, // 7: eos.rpc.ContainerMdProto.mtime:type_name -> eos.rpc.Time 13, // 8: eos.rpc.ContainerMdProto.stime:type_name -> eos.rpc.Time 35, // 9: eos.rpc.ContainerMdProto.xattrs:type_name -> eos.rpc.ContainerMdProto.XattrsEntry 1, // 10: eos.rpc.QuotaProto.type:type_name -> eos.rpc.QUOTATYPE 0, // 11: eos.rpc.MDId.type:type_name -> eos.rpc.TYPE 20, // 12: eos.rpc.MDSelection.ctime:type_name -> eos.rpc.Limit 20, // 13: eos.rpc.MDSelection.mtime:type_name -> eos.rpc.Limit 20, // 14: eos.rpc.MDSelection.stime:type_name -> eos.rpc.Limit 20, // 15: eos.rpc.MDSelection.size:type_name -> eos.rpc.Limit 20, // 16: eos.rpc.MDSelection.treesize:type_name -> eos.rpc.Limit 20, // 17: eos.rpc.MDSelection.children:type_name -> eos.rpc.Limit 20, // 18: eos.rpc.MDSelection.locations:type_name -> eos.rpc.Limit 20, // 19: eos.rpc.MDSelection.unlinked_locations:type_name -> eos.rpc.Limit 14, // 20: eos.rpc.MDSelection.checksum:type_name -> eos.rpc.Checksum 36, // 21: eos.rpc.MDSelection.xattr:type_name -> eos.rpc.MDSelection.XattrEntry 0, // 22: eos.rpc.MDRequest.type:type_name -> eos.rpc.TYPE 19, // 23: eos.rpc.MDRequest.id:type_name -> eos.rpc.MDId 18, // 24: eos.rpc.MDRequest.role:type_name -> eos.rpc.RoleId 21, // 25: eos.rpc.MDRequest.selection:type_name -> eos.rpc.MDSelection 0, // 26: eos.rpc.MDResponse.type:type_name -> eos.rpc.TYPE 15, // 27: eos.rpc.MDResponse.fmd:type_name -> eos.rpc.FileMdProto 16, // 28: eos.rpc.MDResponse.cmd:type_name -> eos.rpc.ContainerMdProto 0, // 29: eos.rpc.FindRequest.type:type_name -> eos.rpc.TYPE 19, // 30: eos.rpc.FindRequest.id:type_name -> eos.rpc.MDId 18, // 31: eos.rpc.FindRequest.role:type_name -> eos.rpc.RoleId 21, // 32: eos.rpc.FindRequest.selection:type_name -> eos.rpc.MDSelection 25, // 33: eos.rpc.ShareProto.origins:type_name -> eos.rpc.ShareAuth 26, // 34: eos.rpc.ShareToken.token:type_name -> eos.rpc.ShareProto 18, // 35: eos.rpc.NSRequest.role:type_name -> eos.rpc.RoleId 37, // 36: eos.rpc.NSRequest.mkdir:type_name -> eos.rpc.NSRequest.MkdirRequest 38, // 37: eos.rpc.NSRequest.rmdir:type_name -> eos.rpc.NSRequest.RmdirRequest 39, // 38: eos.rpc.NSRequest.touch:type_name -> eos.rpc.NSRequest.TouchRequest 40, // 39: eos.rpc.NSRequest.unlink:type_name -> eos.rpc.NSRequest.UnlinkRequest 41, // 40: eos.rpc.NSRequest.rm:type_name -> eos.rpc.NSRequest.RmRequest 42, // 41: eos.rpc.NSRequest.rename:type_name -> eos.rpc.NSRequest.RenameRequest 43, // 42: eos.rpc.NSRequest.symlink:type_name -> eos.rpc.NSRequest.SymlinkRequest 44, // 43: eos.rpc.NSRequest.version:type_name -> eos.rpc.NSRequest.VersionRequest 45, // 44: eos.rpc.NSRequest.recycle:type_name -> eos.rpc.NSRequest.RecycleRequest 46, // 45: eos.rpc.NSRequest.xattr:type_name -> eos.rpc.NSRequest.SetXAttrRequest 47, // 46: eos.rpc.NSRequest.chown:type_name -> eos.rpc.NSRequest.ChownRequest 48, // 47: eos.rpc.NSRequest.chmod:type_name -> eos.rpc.NSRequest.ChmodRequest 49, // 48: eos.rpc.NSRequest.acl:type_name -> eos.rpc.NSRequest.AclRequest 50, // 49: eos.rpc.NSRequest.token:type_name -> eos.rpc.NSRequest.TokenRequest 51, // 50: eos.rpc.NSRequest.quota:type_name -> eos.rpc.NSRequest.QuotaRequest 55, // 51: eos.rpc.NSResponse.error:type_name -> eos.rpc.NSResponse.ErrorResponse 56, // 52: eos.rpc.NSResponse.version:type_name -> eos.rpc.NSResponse.VersionResponse 57, // 53: eos.rpc.NSResponse.recycle:type_name -> eos.rpc.NSResponse.RecycleResponse 58, // 54: eos.rpc.NSResponse.acl:type_name -> eos.rpc.NSResponse.AclResponse 59, // 55: eos.rpc.NSResponse.quota:type_name -> eos.rpc.NSResponse.QuotaResponse 2, // 56: eos.rpc.ManilaRequest.request_type:type_name -> eos.rpc.MANILA_REQUEST_TYPE 19, // 57: eos.rpc.NSRequest.MkdirRequest.id:type_name -> eos.rpc.MDId 19, // 58: eos.rpc.NSRequest.RmdirRequest.id:type_name -> eos.rpc.MDId 19, // 59: eos.rpc.NSRequest.TouchRequest.id:type_name -> eos.rpc.MDId 19, // 60: eos.rpc.NSRequest.UnlinkRequest.id:type_name -> eos.rpc.MDId 19, // 61: eos.rpc.NSRequest.RmRequest.id:type_name -> eos.rpc.MDId 19, // 62: eos.rpc.NSRequest.RenameRequest.id:type_name -> eos.rpc.MDId 19, // 63: eos.rpc.NSRequest.SymlinkRequest.id:type_name -> eos.rpc.MDId 19, // 64: eos.rpc.NSRequest.VersionRequest.id:type_name -> eos.rpc.MDId 3, // 65: eos.rpc.NSRequest.VersionRequest.cmd:type_name -> eos.rpc.NSRequest.VersionRequest.VERSION_CMD 4, // 66: eos.rpc.NSRequest.RecycleRequest.cmd:type_name -> eos.rpc.NSRequest.RecycleRequest.RECYCLE_CMD 52, // 67: eos.rpc.NSRequest.RecycleRequest.restoreflag:type_name -> eos.rpc.NSRequest.RecycleRequest.RestoreFlags 53, // 68: eos.rpc.NSRequest.RecycleRequest.purgedate:type_name -> eos.rpc.NSRequest.RecycleRequest.PurgeDate 19, // 69: eos.rpc.NSRequest.SetXAttrRequest.id:type_name -> eos.rpc.MDId 54, // 70: eos.rpc.NSRequest.SetXAttrRequest.xattrs:type_name -> eos.rpc.NSRequest.SetXAttrRequest.XattrsEntry 19, // 71: eos.rpc.NSRequest.ChownRequest.id:type_name -> eos.rpc.MDId 18, // 72: eos.rpc.NSRequest.ChownRequest.owner:type_name -> eos.rpc.RoleId 19, // 73: eos.rpc.NSRequest.ChmodRequest.id:type_name -> eos.rpc.MDId 19, // 74: eos.rpc.NSRequest.AclRequest.id:type_name -> eos.rpc.MDId 5, // 75: eos.rpc.NSRequest.AclRequest.cmd:type_name -> eos.rpc.NSRequest.AclRequest.ACL_COMMAND 6, // 76: eos.rpc.NSRequest.AclRequest.type:type_name -> eos.rpc.NSRequest.AclRequest.ACL_TYPE 27, // 77: eos.rpc.NSRequest.TokenRequest.token:type_name -> eos.rpc.ShareToken 18, // 78: eos.rpc.NSRequest.QuotaRequest.id:type_name -> eos.rpc.RoleId 60, // 79: eos.rpc.NSResponse.VersionResponse.versions:type_name -> eos.rpc.NSResponse.VersionResponse.VersionInfo 61, // 80: eos.rpc.NSResponse.RecycleResponse.recycles:type_name -> eos.rpc.NSResponse.RecycleResponse.RecycleInfo 17, // 81: eos.rpc.NSResponse.QuotaResponse.quotanode:type_name -> eos.rpc.QuotaProto 19, // 82: eos.rpc.NSResponse.VersionResponse.VersionInfo.id:type_name -> eos.rpc.MDId 13, // 83: eos.rpc.NSResponse.VersionResponse.VersionInfo.mtime:type_name -> eos.rpc.Time 19, // 84: eos.rpc.NSResponse.RecycleResponse.RecycleInfo.id:type_name -> eos.rpc.MDId 18, // 85: eos.rpc.NSResponse.RecycleResponse.RecycleInfo.owner:type_name -> eos.rpc.RoleId 13, // 86: eos.rpc.NSResponse.RecycleResponse.RecycleInfo.dtime:type_name -> eos.rpc.Time 7, // 87: eos.rpc.NSResponse.RecycleResponse.RecycleInfo.type:type_name -> eos.rpc.NSResponse.RecycleResponse.RecycleInfo.DELETIONTYPE 8, // 88: eos.rpc.Eos.Ping:input_type -> eos.rpc.PingRequest 22, // 89: eos.rpc.Eos.MD:input_type -> eos.rpc.MDRequest 24, // 90: eos.rpc.Eos.Find:input_type -> eos.rpc.FindRequest 30, // 91: eos.rpc.Eos.NsStat:input_type -> eos.rpc.NsStatRequest 10, // 92: eos.rpc.Eos.ContainerInsert:input_type -> eos.rpc.ContainerInsertRequest 11, // 93: eos.rpc.Eos.FileInsert:input_type -> eos.rpc.FileInsertRequest 28, // 94: eos.rpc.Eos.Exec:input_type -> eos.rpc.NSRequest 32, // 95: eos.rpc.Eos.ManilaServerRequest:input_type -> eos.rpc.ManilaRequest 9, // 96: eos.rpc.Eos.Ping:output_type -> eos.rpc.PingReply 23, // 97: eos.rpc.Eos.MD:output_type -> eos.rpc.MDResponse 23, // 98: eos.rpc.Eos.Find:output_type -> eos.rpc.MDResponse 31, // 99: eos.rpc.Eos.NsStat:output_type -> eos.rpc.NsStatResponse 12, // 100: eos.rpc.Eos.ContainerInsert:output_type -> eos.rpc.InsertReply 12, // 101: eos.rpc.Eos.FileInsert:output_type -> eos.rpc.InsertReply 29, // 102: eos.rpc.Eos.Exec:output_type -> eos.rpc.NSResponse 33, // 103: eos.rpc.Eos.ManilaServerRequest:output_type -> eos.rpc.ManilaResponse 96, // [96:104] is the sub-list for method output_type 88, // [88:96] is the sub-list for method input_type 88, // [88:88] is the sub-list for extension type_name 88, // [88:88] is the sub-list for extension extendee 0, // [0:88] is the sub-list for field type_name } func init() { file_Rpc_proto_init() } func file_Rpc_proto_init() { if File_Rpc_proto != nil { return } if !protoimpl.UnsafeEnabled { file_Rpc_proto_msgTypes[0].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_Rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PingReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContainerInsertRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileInsertRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Time); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Checksum); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileMdProto); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContainerMdProto); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuotaProto); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoleId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MDId); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Limit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MDSelection); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MDRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MDResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShareAuth); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShareProto); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShareToken); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NsStatRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NsStatResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManilaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManilaResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_MkdirRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_RmdirRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_TouchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_UnlinkRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_RmRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_RenameRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_SymlinkRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_VersionRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_RecycleRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_SetXAttrRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_ChownRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_ChmodRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_AclRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_TokenRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_QuotaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_RecycleRequest_RestoreFlags); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSRequest_RecycleRequest_PurgeDate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSResponse_ErrorResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSResponse_VersionResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSResponse_RecycleResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSResponse_AclResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSResponse_QuotaResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSResponse_VersionResponse_VersionInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_Rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NSResponse_RecycleResponse_RecycleInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_Rpc_proto_msgTypes[20].OneofWrappers = []interface{}{ (*NSRequest_Mkdir)(nil), (*NSRequest_Rmdir)(nil), (*NSRequest_Touch)(nil), (*NSRequest_Unlink)(nil), (*NSRequest_Rm)(nil), (*NSRequest_Rename)(nil), (*NSRequest_Symlink)(nil), (*NSRequest_Version)(nil), (*NSRequest_Recycle)(nil), (*NSRequest_Xattr)(nil), (*NSRequest_Chown)(nil), (*NSRequest_Chmod)(nil), (*NSRequest_Acl)(nil), (*NSRequest_Token)(nil), (*NSRequest_Quota)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_Rpc_proto_rawDesc, NumEnums: 8, NumMessages: 54, NumExtensions: 0, NumServices: 1, }, GoTypes: file_Rpc_proto_goTypes, DependencyIndexes: file_Rpc_proto_depIdxs, EnumInfos: file_Rpc_proto_enumTypes, MessageInfos: file_Rpc_proto_msgTypes, }.Build() File_Rpc_proto = out.File file_Rpc_proto_rawDesc = nil file_Rpc_proto_goTypes = nil file_Rpc_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // 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.SupportPackageIsVersion6 // EosClient is the client API for Eos service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type EosClient interface { // Replies to a ping Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingReply, error) // Replies to MD requests with a stream MD(ctx context.Context, in *MDRequest, opts ...grpc.CallOption) (Eos_MDClient, error) // Replies to Find requests with a stream Find(ctx context.Context, in *FindRequest, opts ...grpc.CallOption) (Eos_FindClient, error) // Replies to a NsStat operation NsStat(ctx context.Context, in *NsStatRequest, opts ...grpc.CallOption) (*NsStatResponse, error) // Replies to an insert ContainerInsert(ctx context.Context, in *ContainerInsertRequest, opts ...grpc.CallOption) (*InsertReply, error) FileInsert(ctx context.Context, in *FileInsertRequest, opts ...grpc.CallOption) (*InsertReply, error) // Replies to a NsRequest operation Exec(ctx context.Context, in *NSRequest, opts ...grpc.CallOption) (*NSResponse, error) // Manila Driver ManilaServerRequest(ctx context.Context, in *ManilaRequest, opts ...grpc.CallOption) (*ManilaResponse, error) } type eosClient struct { cc grpc.ClientConnInterface } func NewEosClient(cc grpc.ClientConnInterface) EosClient { return &eosClient{cc} } func (c *eosClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingReply, error) { out := new(PingReply) err := c.cc.Invoke(ctx, "/eos.rpc.Eos/Ping", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *eosClient) MD(ctx context.Context, in *MDRequest, opts ...grpc.CallOption) (Eos_MDClient, error) { stream, err := c.cc.NewStream(ctx, &_Eos_serviceDesc.Streams[0], "/eos.rpc.Eos/MD", opts...) if err != nil { return nil, err } x := &eosMDClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } if err := x.ClientStream.CloseSend(); err != nil { return nil, err } return x, nil } type Eos_MDClient interface { Recv() (*MDResponse, error) grpc.ClientStream } type eosMDClient struct { grpc.ClientStream } func (x *eosMDClient) Recv() (*MDResponse, error) { m := new(MDResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *eosClient) Find(ctx context.Context, in *FindRequest, opts ...grpc.CallOption) (Eos_FindClient, error) { stream, err := c.cc.NewStream(ctx, &_Eos_serviceDesc.Streams[1], "/eos.rpc.Eos/Find", opts...) if err != nil { return nil, err } x := &eosFindClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } if err := x.ClientStream.CloseSend(); err != nil { return nil, err } return x, nil } type Eos_FindClient interface { Recv() (*MDResponse, error) grpc.ClientStream } type eosFindClient struct { grpc.ClientStream } func (x *eosFindClient) Recv() (*MDResponse, error) { m := new(MDResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *eosClient) NsStat(ctx context.Context, in *NsStatRequest, opts ...grpc.CallOption) (*NsStatResponse, error) { out := new(NsStatResponse) err := c.cc.Invoke(ctx, "/eos.rpc.Eos/NsStat", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *eosClient) ContainerInsert(ctx context.Context, in *ContainerInsertRequest, opts ...grpc.CallOption) (*InsertReply, error) { out := new(InsertReply) err := c.cc.Invoke(ctx, "/eos.rpc.Eos/ContainerInsert", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *eosClient) FileInsert(ctx context.Context, in *FileInsertRequest, opts ...grpc.CallOption) (*InsertReply, error) { out := new(InsertReply) err := c.cc.Invoke(ctx, "/eos.rpc.Eos/FileInsert", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *eosClient) Exec(ctx context.Context, in *NSRequest, opts ...grpc.CallOption) (*NSResponse, error) { out := new(NSResponse) err := c.cc.Invoke(ctx, "/eos.rpc.Eos/Exec", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *eosClient) ManilaServerRequest(ctx context.Context, in *ManilaRequest, opts ...grpc.CallOption) (*ManilaResponse, error) { out := new(ManilaResponse) err := c.cc.Invoke(ctx, "/eos.rpc.Eos/ManilaServerRequest", in, out, opts...) if err != nil { return nil, err } return out, nil } // EosServer is the server API for Eos service. type EosServer interface { // Replies to a ping Ping(context.Context, *PingRequest) (*PingReply, error) // Replies to MD requests with a stream MD(*MDRequest, Eos_MDServer) error // Replies to Find requests with a stream Find(*FindRequest, Eos_FindServer) error // Replies to a NsStat operation NsStat(context.Context, *NsStatRequest) (*NsStatResponse, error) // Replies to an insert ContainerInsert(context.Context, *ContainerInsertRequest) (*InsertReply, error) FileInsert(context.Context, *FileInsertRequest) (*InsertReply, error) // Replies to a NsRequest operation Exec(context.Context, *NSRequest) (*NSResponse, error) // Manila Driver ManilaServerRequest(context.Context, *ManilaRequest) (*ManilaResponse, error) } // UnimplementedEosServer can be embedded to have forward compatible implementations. type UnimplementedEosServer struct { } func (*UnimplementedEosServer) Ping(context.Context, *PingRequest) (*PingReply, error) { return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented") } func (*UnimplementedEosServer) MD(*MDRequest, Eos_MDServer) error { return status.Errorf(codes.Unimplemented, "method MD not implemented") } func (*UnimplementedEosServer) Find(*FindRequest, Eos_FindServer) error { return status.Errorf(codes.Unimplemented, "method Find not implemented") } func (*UnimplementedEosServer) NsStat(context.Context, *NsStatRequest) (*NsStatResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method NsStat not implemented") } func (*UnimplementedEosServer) ContainerInsert(context.Context, *ContainerInsertRequest) (*InsertReply, error) { return nil, status.Errorf(codes.Unimplemented, "method ContainerInsert not implemented") } func (*UnimplementedEosServer) FileInsert(context.Context, *FileInsertRequest) (*InsertReply, error) { return nil, status.Errorf(codes.Unimplemented, "method FileInsert not implemented") } func (*UnimplementedEosServer) Exec(context.Context, *NSRequest) (*NSResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Exec not implemented") } func (*UnimplementedEosServer) ManilaServerRequest(context.Context, *ManilaRequest) (*ManilaResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ManilaServerRequest not implemented") } func RegisterEosServer(s *grpc.Server, srv EosServer) { s.RegisterService(&_Eos_serviceDesc, srv) } func _Eos_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(EosServer).Ping(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/eos.rpc.Eos/Ping", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(EosServer).Ping(ctx, req.(*PingRequest)) } return interceptor(ctx, in, info, handler) } func _Eos_MD_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(MDRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(EosServer).MD(m, &eosMDServer{stream}) } type Eos_MDServer interface { Send(*MDResponse) error grpc.ServerStream } type eosMDServer struct { grpc.ServerStream } func (x *eosMDServer) Send(m *MDResponse) error { return x.ServerStream.SendMsg(m) } func _Eos_Find_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(FindRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(EosServer).Find(m, &eosFindServer{stream}) } type Eos_FindServer interface { Send(*MDResponse) error grpc.ServerStream } type eosFindServer struct { grpc.ServerStream } func (x *eosFindServer) Send(m *MDResponse) error { return x.ServerStream.SendMsg(m) } func _Eos_NsStat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(NsStatRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(EosServer).NsStat(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/eos.rpc.Eos/NsStat", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(EosServer).NsStat(ctx, req.(*NsStatRequest)) } return interceptor(ctx, in, info, handler) } func _Eos_ContainerInsert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ContainerInsertRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(EosServer).ContainerInsert(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/eos.rpc.Eos/ContainerInsert", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(EosServer).ContainerInsert(ctx, req.(*ContainerInsertRequest)) } return interceptor(ctx, in, info, handler) } func _Eos_FileInsert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FileInsertRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(EosServer).FileInsert(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/eos.rpc.Eos/FileInsert", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(EosServer).FileInsert(ctx, req.(*FileInsertRequest)) } return interceptor(ctx, in, info, handler) } func _Eos_Exec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(NSRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(EosServer).Exec(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/eos.rpc.Eos/Exec", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(EosServer).Exec(ctx, req.(*NSRequest)) } return interceptor(ctx, in, info, handler) } func _Eos_ManilaServerRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ManilaRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(EosServer).ManilaServerRequest(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/eos.rpc.Eos/ManilaServerRequest", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(EosServer).ManilaServerRequest(ctx, req.(*ManilaRequest)) } return interceptor(ctx, in, info, handler) } var _Eos_serviceDesc = grpc.ServiceDesc{ ServiceName: "eos.rpc.Eos", HandlerType: (*EosServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Ping", Handler: _Eos_Ping_Handler, }, { MethodName: "NsStat", Handler: _Eos_NsStat_Handler, }, { MethodName: "ContainerInsert", Handler: _Eos_ContainerInsert_Handler, }, { MethodName: "FileInsert", Handler: _Eos_FileInsert_Handler, }, { MethodName: "Exec", Handler: _Eos_Exec_Handler, }, { MethodName: "ManilaServerRequest", Handler: _Eos_ManilaServerRequest_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "MD", Handler: _Eos_MD_Handler, ServerStreams: true, }, { StreamName: "Find", Handler: _Eos_Find_Handler, ServerStreams: true, }, }, Metadata: "Rpc.proto", } // Wed Aug 19 13:55:37 UTC 2020