diff --git a/changelog/unreleased/eosgrpc.md b/changelog/unreleased/eosgrpc.md new file mode 100644 index 0000000000..567cf67f57 --- /dev/null +++ b/changelog/unreleased/eosgrpc.md @@ -0,0 +1,3 @@ +Enhancement: EOEGrpc progress. Logging discipline and error handling + +https://github.com/cs3org/reva/pull/1471 diff --git a/go.mod b/go.mod index 77630d6f96..47f2d2983b 100644 --- a/go.mod +++ b/go.mod @@ -49,7 +49,6 @@ require ( github.com/tus/tusd v1.1.1-0.20200416115059-9deabf9d80c2 go.opencensus.io v0.23.0 golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c - golang.org/x/net v0.0.0-20210428140749-89ef3d95e781 golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d golang.org/x/sys v0.0.0-20210423082822-04245dca01da golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 diff --git a/pkg/eosclient/eosclient.go b/pkg/eosclient/eosclient.go index e9726c91d2..1f4b03313c 100644 --- a/pkg/eosclient/eosclient.go +++ b/pkg/eosclient/eosclient.go @@ -113,6 +113,8 @@ type QuotaInfo struct { // create a quota space in EOS for a user type SetQuotaInfo struct { Username string + UID string + GID string QuotaNode string MaxBytes uint64 MaxFiles uint64 diff --git a/pkg/eosclient/eosgrpc/eos_grpc/Rpc.pb.go b/pkg/eosclient/eosgrpc/eos_grpc/Rpc.pb.go new file mode 100644 index 0000000000..b84ac54d92 --- /dev/null +++ b/pkg/eosclient/eosgrpc/eos_grpc/Rpc.pb.go @@ -0,0 +1,4675 @@ +// Copyright 2018-2021 CERN +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// In applying this license, CERN does not waive the privileges and immunities +// granted to it by virtue of its status as an Intergovernmental Organization +// or submit itself to any jurisdiction. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: Rpc.proto + +package eos_grpc + +import ( + context "context" + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type TYPE int32 + +const ( + TYPE_FILE TYPE = 0 + TYPE_CONTAINER TYPE = 1 + TYPE_LISTING TYPE = 2 + TYPE_STAT TYPE = 3 +) + +var TYPE_name = map[int32]string{ + 0: "FILE", + 1: "CONTAINER", + 2: "LISTING", + 3: "STAT", +} + +var TYPE_value = map[string]int32{ + "FILE": 0, + "CONTAINER": 1, + "LISTING": 2, + "STAT": 3, +} + +func (x TYPE) String() string { + return proto.EnumName(TYPE_name, int32(x)) +} + +func (TYPE) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{0} +} + +type QUOTATYPE int32 + +const ( + QUOTATYPE_USER QUOTATYPE = 0 + QUOTATYPE_GROUP QUOTATYPE = 2 + QUOTATYPE_PROJECT QUOTATYPE = 3 +) + +var QUOTATYPE_name = map[int32]string{ + 0: "USER", + 2: "GROUP", + 3: "PROJECT", +} + +var QUOTATYPE_value = map[string]int32{ + "USER": 0, + "GROUP": 2, + "PROJECT": 3, +} + +func (x QUOTATYPE) String() string { + return proto.EnumName(QUOTATYPE_name, int32(x)) +} + +func (QUOTATYPE) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{1} +} + +type QUOTAOP int32 + +const ( + QUOTAOP_GET QUOTAOP = 0 + QUOTAOP_SET QUOTAOP = 1 + QUOTAOP_RM QUOTAOP = 2 + QUOTAOP_RMNODE QUOTAOP = 3 +) + +var QUOTAOP_name = map[int32]string{ + 0: "GET", + 1: "SET", + 2: "RM", + 3: "RMNODE", +} + +var QUOTAOP_value = map[string]int32{ + "GET": 0, + "SET": 1, + "RM": 2, + "RMNODE": 3, +} + +func (x QUOTAOP) String() string { + return proto.EnumName(QUOTAOP_name, int32(x)) +} + +func (QUOTAOP) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{2} +} + +type QUOTAENTRY int32 + +const ( + QUOTAENTRY_NONE QUOTAENTRY = 0 + QUOTAENTRY_VOLUME QUOTAENTRY = 1 + QUOTAENTRY_INODE QUOTAENTRY = 2 +) + +var QUOTAENTRY_name = map[int32]string{ + 0: "NONE", + 1: "VOLUME", + 2: "INODE", +} + +var QUOTAENTRY_value = map[string]int32{ + "NONE": 0, + "VOLUME": 1, + "INODE": 2, +} + +func (x QUOTAENTRY) String() string { + return proto.EnumName(QUOTAENTRY_name, int32(x)) +} + +func (QUOTAENTRY) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{3} +} + +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 +) + +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", +} + +var 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) String() string { + return proto.EnumName(MANILA_REQUEST_TYPE_name, int32(x)) +} + +func (MANILA_REQUEST_TYPE) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{4} +} + +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 +) + +var NSRequest_VersionRequest_VERSION_CMD_name = map[int32]string{ + 0: "CREATE", + 1: "PURGE", + 2: "LIST", +} + +var NSRequest_VersionRequest_VERSION_CMD_value = map[string]int32{ + "CREATE": 0, + "PURGE": 1, + "LIST": 2, +} + +func (x NSRequest_VersionRequest_VERSION_CMD) String() string { + return proto.EnumName(NSRequest_VersionRequest_VERSION_CMD_name, int32(x)) +} + +func (NSRequest_VersionRequest_VERSION_CMD) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []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 +) + +var NSRequest_RecycleRequest_RECYCLE_CMD_name = map[int32]string{ + 0: "RESTORE", + 1: "PURGE", + 2: "LIST", +} + +var NSRequest_RecycleRequest_RECYCLE_CMD_value = map[string]int32{ + "RESTORE": 0, + "PURGE": 1, + "LIST": 2, +} + +func (x NSRequest_RecycleRequest_RECYCLE_CMD) String() string { + return proto.EnumName(NSRequest_RecycleRequest_RECYCLE_CMD_name, int32(x)) +} + +func (NSRequest_RecycleRequest_RECYCLE_CMD) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []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 +) + +var NSRequest_AclRequest_ACL_COMMAND_name = map[int32]string{ + 0: "NONE", + 1: "MODIFY", + 2: "LIST", +} + +var NSRequest_AclRequest_ACL_COMMAND_value = map[string]int32{ + "NONE": 0, + "MODIFY": 1, + "LIST": 2, +} + +func (x NSRequest_AclRequest_ACL_COMMAND) String() string { + return proto.EnumName(NSRequest_AclRequest_ACL_COMMAND_name, int32(x)) +} + +func (NSRequest_AclRequest_ACL_COMMAND) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []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 +) + +var NSRequest_AclRequest_ACL_TYPE_name = map[int32]string{ + 0: "USER_ACL", + 1: "SYS_ACL", +} + +var NSRequest_AclRequest_ACL_TYPE_value = map[string]int32{ + "USER_ACL": 0, + "SYS_ACL": 1, +} + +func (x NSRequest_AclRequest_ACL_TYPE) String() string { + return proto.EnumName(NSRequest_AclRequest_ACL_TYPE_name, int32(x)) +} + +func (NSRequest_AclRequest_ACL_TYPE) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []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 +) + +var NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_name = map[int32]string{ + 0: "FILE", + 1: "TREE", +} + +var NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_value = map[string]int32{ + "FILE": 0, + "TREE": 1, +} + +func (x NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) String() string { + return proto.EnumName(NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_name, int32(x)) +} + +func (NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{21, 2, 0, 0} +} + +type PingRequest struct { + Authkey string `protobuf:"bytes,1,opt,name=authkey,proto3" json:"authkey,omitempty"` + Message []byte `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PingRequest) Reset() { *m = PingRequest{} } +func (m *PingRequest) String() string { return proto.CompactTextString(m) } +func (*PingRequest) ProtoMessage() {} +func (*PingRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{0} +} + +func (m *PingRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PingRequest.Unmarshal(m, b) +} +func (m *PingRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PingRequest.Marshal(b, m, deterministic) +} +func (m *PingRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PingRequest.Merge(m, src) +} +func (m *PingRequest) XXX_Size() int { + return xxx_messageInfo_PingRequest.Size(m) +} +func (m *PingRequest) XXX_DiscardUnknown() { + xxx_messageInfo_PingRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_PingRequest proto.InternalMessageInfo + +func (m *PingRequest) GetAuthkey() string { + if m != nil { + return m.Authkey + } + return "" +} + +func (m *PingRequest) GetMessage() []byte { + if m != nil { + return m.Message + } + return nil +} + +type PingReply struct { + Message []byte `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PingReply) Reset() { *m = PingReply{} } +func (m *PingReply) String() string { return proto.CompactTextString(m) } +func (*PingReply) ProtoMessage() {} +func (*PingReply) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{1} +} + +func (m *PingReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PingReply.Unmarshal(m, b) +} +func (m *PingReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PingReply.Marshal(b, m, deterministic) +} +func (m *PingReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_PingReply.Merge(m, src) +} +func (m *PingReply) XXX_Size() int { + return xxx_messageInfo_PingReply.Size(m) +} +func (m *PingReply) XXX_DiscardUnknown() { + xxx_messageInfo_PingReply.DiscardUnknown(m) +} + +var xxx_messageInfo_PingReply proto.InternalMessageInfo + +func (m *PingReply) GetMessage() []byte { + if m != nil { + return m.Message + } + return nil +} + +type ContainerInsertRequest struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ContainerInsertRequest) Reset() { *m = ContainerInsertRequest{} } +func (m *ContainerInsertRequest) String() string { return proto.CompactTextString(m) } +func (*ContainerInsertRequest) ProtoMessage() {} +func (*ContainerInsertRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{2} +} + +func (m *ContainerInsertRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ContainerInsertRequest.Unmarshal(m, b) +} +func (m *ContainerInsertRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ContainerInsertRequest.Marshal(b, m, deterministic) +} +func (m *ContainerInsertRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainerInsertRequest.Merge(m, src) +} +func (m *ContainerInsertRequest) XXX_Size() int { + return xxx_messageInfo_ContainerInsertRequest.Size(m) +} +func (m *ContainerInsertRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ContainerInsertRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ContainerInsertRequest proto.InternalMessageInfo + +func (m *ContainerInsertRequest) GetContainer() []*ContainerMdProto { + if m != nil { + return m.Container + } + return nil +} + +func (m *ContainerInsertRequest) GetAuthkey() string { + if m != nil { + return m.Authkey + } + return "" +} + +func (m *ContainerInsertRequest) GetInheritMd() bool { + if m != nil { + return m.InheritMd + } + return false +} + +type FileInsertRequest struct { + Files []*FileMdProto `protobuf:"bytes,1,rep,name=files,proto3" json:"files,omitempty"` + Authkey string `protobuf:"bytes,2,opt,name=authkey,proto3" json:"authkey,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FileInsertRequest) Reset() { *m = FileInsertRequest{} } +func (m *FileInsertRequest) String() string { return proto.CompactTextString(m) } +func (*FileInsertRequest) ProtoMessage() {} +func (*FileInsertRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{3} +} + +func (m *FileInsertRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FileInsertRequest.Unmarshal(m, b) +} +func (m *FileInsertRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FileInsertRequest.Marshal(b, m, deterministic) +} +func (m *FileInsertRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileInsertRequest.Merge(m, src) +} +func (m *FileInsertRequest) XXX_Size() int { + return xxx_messageInfo_FileInsertRequest.Size(m) +} +func (m *FileInsertRequest) XXX_DiscardUnknown() { + xxx_messageInfo_FileInsertRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_FileInsertRequest proto.InternalMessageInfo + +func (m *FileInsertRequest) GetFiles() []*FileMdProto { + if m != nil { + return m.Files + } + return nil +} + +func (m *FileInsertRequest) GetAuthkey() string { + if m != nil { + return m.Authkey + } + return "" +} + +type InsertReply struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InsertReply) Reset() { *m = InsertReply{} } +func (m *InsertReply) String() string { return proto.CompactTextString(m) } +func (*InsertReply) ProtoMessage() {} +func (*InsertReply) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{4} +} + +func (m *InsertReply) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InsertReply.Unmarshal(m, b) +} +func (m *InsertReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InsertReply.Marshal(b, m, deterministic) +} +func (m *InsertReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_InsertReply.Merge(m, src) +} +func (m *InsertReply) XXX_Size() int { + return xxx_messageInfo_InsertReply.Size(m) +} +func (m *InsertReply) XXX_DiscardUnknown() { + xxx_messageInfo_InsertReply.DiscardUnknown(m) +} + +var xxx_messageInfo_InsertReply proto.InternalMessageInfo + +func (m *InsertReply) GetMessage() []string { + if m != nil { + return m.Message + } + return nil +} + +func (m *InsertReply) GetRetc() []uint32 { + if m != nil { + return m.Retc + } + return nil +} + +type Time struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Time) Reset() { *m = Time{} } +func (m *Time) String() string { return proto.CompactTextString(m) } +func (*Time) ProtoMessage() {} +func (*Time) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{5} +} + +func (m *Time) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Time.Unmarshal(m, b) +} +func (m *Time) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Time.Marshal(b, m, deterministic) +} +func (m *Time) XXX_Merge(src proto.Message) { + xxx_messageInfo_Time.Merge(m, src) +} +func (m *Time) XXX_Size() int { + return xxx_messageInfo_Time.Size(m) +} +func (m *Time) XXX_DiscardUnknown() { + xxx_messageInfo_Time.DiscardUnknown(m) +} + +var xxx_messageInfo_Time proto.InternalMessageInfo + +func (m *Time) GetSec() uint64 { + if m != nil { + return m.Sec + } + return 0 +} + +func (m *Time) GetNSec() uint64 { + if m != nil { + return m.NSec + } + return 0 +} + +type Checksum struct { + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Checksum) Reset() { *m = Checksum{} } +func (m *Checksum) String() string { return proto.CompactTextString(m) } +func (*Checksum) ProtoMessage() {} +func (*Checksum) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{6} +} + +func (m *Checksum) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Checksum.Unmarshal(m, b) +} +func (m *Checksum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Checksum.Marshal(b, m, deterministic) +} +func (m *Checksum) XXX_Merge(src proto.Message) { + xxx_messageInfo_Checksum.Merge(m, src) +} +func (m *Checksum) XXX_Size() int { + return xxx_messageInfo_Checksum.Size(m) +} +func (m *Checksum) XXX_DiscardUnknown() { + xxx_messageInfo_Checksum.DiscardUnknown(m) +} + +var xxx_messageInfo_Checksum proto.InternalMessageInfo + +func (m *Checksum) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *Checksum) GetType() string { + if m != nil { + return m.Type + } + return "" +} + +type FileMdProto struct { + 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"` + Mtime *Time `protobuf:"bytes,11,opt,name=mtime,proto3" json:"mtime,omitempty"` + 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"` + Etag string `protobuf:"bytes,17,opt,name=etag,proto3" json:"etag,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FileMdProto) Reset() { *m = FileMdProto{} } +func (m *FileMdProto) String() string { return proto.CompactTextString(m) } +func (*FileMdProto) ProtoMessage() {} +func (*FileMdProto) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{7} +} + +func (m *FileMdProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FileMdProto.Unmarshal(m, b) +} +func (m *FileMdProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FileMdProto.Marshal(b, m, deterministic) +} +func (m *FileMdProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileMdProto.Merge(m, src) +} +func (m *FileMdProto) XXX_Size() int { + return xxx_messageInfo_FileMdProto.Size(m) +} +func (m *FileMdProto) XXX_DiscardUnknown() { + xxx_messageInfo_FileMdProto.DiscardUnknown(m) +} + +var xxx_messageInfo_FileMdProto proto.InternalMessageInfo + +func (m *FileMdProto) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +func (m *FileMdProto) GetContId() uint64 { + if m != nil { + return m.ContId + } + return 0 +} + +func (m *FileMdProto) GetUid() uint64 { + if m != nil { + return m.Uid + } + return 0 +} + +func (m *FileMdProto) GetGid() uint64 { + if m != nil { + return m.Gid + } + return 0 +} + +func (m *FileMdProto) GetSize() uint64 { + if m != nil { + return m.Size + } + return 0 +} + +func (m *FileMdProto) GetLayoutId() uint32 { + if m != nil { + return m.LayoutId + } + return 0 +} + +func (m *FileMdProto) GetFlags() uint32 { + if m != nil { + return m.Flags + } + return 0 +} + +func (m *FileMdProto) GetName() []byte { + if m != nil { + return m.Name + } + return nil +} + +func (m *FileMdProto) GetLinkName() []byte { + if m != nil { + return m.LinkName + } + return nil +} + +func (m *FileMdProto) GetCtime() *Time { + if m != nil { + return m.Ctime + } + return nil +} + +func (m *FileMdProto) GetMtime() *Time { + if m != nil { + return m.Mtime + } + return nil +} + +func (m *FileMdProto) GetChecksum() *Checksum { + if m != nil { + return m.Checksum + } + return nil +} + +func (m *FileMdProto) GetLocations() []uint32 { + if m != nil { + return m.Locations + } + return nil +} + +func (m *FileMdProto) GetUnlinkLocations() []uint32 { + if m != nil { + return m.UnlinkLocations + } + return nil +} + +func (m *FileMdProto) GetXattrs() map[string][]byte { + if m != nil { + return m.Xattrs + } + return nil +} + +func (m *FileMdProto) GetPath() []byte { + if m != nil { + return m.Path + } + return nil +} + +func (m *FileMdProto) GetEtag() string { + if m != nil { + return m.Etag + } + return "" +} + +type ContainerMdProto struct { + 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"` + Mtime *Time `protobuf:"bytes,10,opt,name=mtime,proto3" json:"mtime,omitempty"` + Stime *Time `protobuf:"bytes,11,opt,name=stime,proto3" json:"stime,omitempty"` + 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"` + Etag string `protobuf:"bytes,14,opt,name=etag,proto3" json:"etag,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ContainerMdProto) Reset() { *m = ContainerMdProto{} } +func (m *ContainerMdProto) String() string { return proto.CompactTextString(m) } +func (*ContainerMdProto) ProtoMessage() {} +func (*ContainerMdProto) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{8} +} + +func (m *ContainerMdProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ContainerMdProto.Unmarshal(m, b) +} +func (m *ContainerMdProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ContainerMdProto.Marshal(b, m, deterministic) +} +func (m *ContainerMdProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainerMdProto.Merge(m, src) +} +func (m *ContainerMdProto) XXX_Size() int { + return xxx_messageInfo_ContainerMdProto.Size(m) +} +func (m *ContainerMdProto) XXX_DiscardUnknown() { + xxx_messageInfo_ContainerMdProto.DiscardUnknown(m) +} + +var xxx_messageInfo_ContainerMdProto proto.InternalMessageInfo + +func (m *ContainerMdProto) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +func (m *ContainerMdProto) GetParentId() uint64 { + if m != nil { + return m.ParentId + } + return 0 +} + +func (m *ContainerMdProto) GetUid() uint64 { + if m != nil { + return m.Uid + } + return 0 +} + +func (m *ContainerMdProto) GetGid() uint64 { + if m != nil { + return m.Gid + } + return 0 +} + +func (m *ContainerMdProto) GetTreeSize() int64 { + if m != nil { + return m.TreeSize + } + return 0 +} + +func (m *ContainerMdProto) GetMode() uint32 { + if m != nil { + return m.Mode + } + return 0 +} + +func (m *ContainerMdProto) GetFlags() uint32 { + if m != nil { + return m.Flags + } + return 0 +} + +func (m *ContainerMdProto) GetName() []byte { + if m != nil { + return m.Name + } + return nil +} + +func (m *ContainerMdProto) GetCtime() *Time { + if m != nil { + return m.Ctime + } + return nil +} + +func (m *ContainerMdProto) GetMtime() *Time { + if m != nil { + return m.Mtime + } + return nil +} + +func (m *ContainerMdProto) GetStime() *Time { + if m != nil { + return m.Stime + } + return nil +} + +func (m *ContainerMdProto) GetXattrs() map[string][]byte { + if m != nil { + return m.Xattrs + } + return nil +} + +func (m *ContainerMdProto) GetPath() []byte { + if m != nil { + return m.Path + } + return nil +} + +func (m *ContainerMdProto) GetEtag() string { + if m != nil { + return m.Etag + } + return "" +} + +type QuotaProto struct { + Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Type QUOTATYPE `protobuf:"varint,3,opt,name=type,proto3,enum=eos.rpc.QUOTATYPE" json:"type,omitempty"` + Usedbytes uint64 `protobuf:"varint,4,opt,name=usedbytes,proto3" json:"usedbytes,omitempty"` + Usedlogicalbytes uint64 `protobuf:"varint,5,opt,name=usedlogicalbytes,proto3" json:"usedlogicalbytes,omitempty"` + Usedfiles uint64 `protobuf:"varint,6,opt,name=usedfiles,proto3" json:"usedfiles,omitempty"` + Maxbytes uint64 `protobuf:"varint,7,opt,name=maxbytes,proto3" json:"maxbytes,omitempty"` + Maxlogicalbytes uint64 `protobuf:"varint,8,opt,name=maxlogicalbytes,proto3" json:"maxlogicalbytes,omitempty"` + Maxfiles uint64 `protobuf:"varint,9,opt,name=maxfiles,proto3" json:"maxfiles,omitempty"` + Percentageusedbytes float32 `protobuf:"fixed32,10,opt,name=percentageusedbytes,proto3" json:"percentageusedbytes,omitempty"` + Percentageusedfiles float32 `protobuf:"fixed32,11,opt,name=percentageusedfiles,proto3" json:"percentageusedfiles,omitempty"` + Statusbytes string `protobuf:"bytes,12,opt,name=statusbytes,proto3" json:"statusbytes,omitempty"` + Statusfiles string `protobuf:"bytes,13,opt,name=statusfiles,proto3" json:"statusfiles,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QuotaProto) Reset() { *m = QuotaProto{} } +func (m *QuotaProto) String() string { return proto.CompactTextString(m) } +func (*QuotaProto) ProtoMessage() {} +func (*QuotaProto) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{9} +} + +func (m *QuotaProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QuotaProto.Unmarshal(m, b) +} +func (m *QuotaProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QuotaProto.Marshal(b, m, deterministic) +} +func (m *QuotaProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_QuotaProto.Merge(m, src) +} +func (m *QuotaProto) XXX_Size() int { + return xxx_messageInfo_QuotaProto.Size(m) +} +func (m *QuotaProto) XXX_DiscardUnknown() { + xxx_messageInfo_QuotaProto.DiscardUnknown(m) +} + +var xxx_messageInfo_QuotaProto proto.InternalMessageInfo + +func (m *QuotaProto) GetPath() []byte { + if m != nil { + return m.Path + } + return nil +} + +func (m *QuotaProto) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *QuotaProto) GetType() QUOTATYPE { + if m != nil { + return m.Type + } + return QUOTATYPE_USER +} + +func (m *QuotaProto) GetUsedbytes() uint64 { + if m != nil { + return m.Usedbytes + } + return 0 +} + +func (m *QuotaProto) GetUsedlogicalbytes() uint64 { + if m != nil { + return m.Usedlogicalbytes + } + return 0 +} + +func (m *QuotaProto) GetUsedfiles() uint64 { + if m != nil { + return m.Usedfiles + } + return 0 +} + +func (m *QuotaProto) GetMaxbytes() uint64 { + if m != nil { + return m.Maxbytes + } + return 0 +} + +func (m *QuotaProto) GetMaxlogicalbytes() uint64 { + if m != nil { + return m.Maxlogicalbytes + } + return 0 +} + +func (m *QuotaProto) GetMaxfiles() uint64 { + if m != nil { + return m.Maxfiles + } + return 0 +} + +func (m *QuotaProto) GetPercentageusedbytes() float32 { + if m != nil { + return m.Percentageusedbytes + } + return 0 +} + +func (m *QuotaProto) GetPercentageusedfiles() float32 { + if m != nil { + return m.Percentageusedfiles + } + return 0 +} + +func (m *QuotaProto) GetStatusbytes() string { + if m != nil { + return m.Statusbytes + } + return "" +} + +func (m *QuotaProto) GetStatusfiles() string { + if m != nil { + return m.Statusfiles + } + return "" +} + +type RoleId struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RoleId) Reset() { *m = RoleId{} } +func (m *RoleId) String() string { return proto.CompactTextString(m) } +func (*RoleId) ProtoMessage() {} +func (*RoleId) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{10} +} + +func (m *RoleId) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RoleId.Unmarshal(m, b) +} +func (m *RoleId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RoleId.Marshal(b, m, deterministic) +} +func (m *RoleId) XXX_Merge(src proto.Message) { + xxx_messageInfo_RoleId.Merge(m, src) +} +func (m *RoleId) XXX_Size() int { + return xxx_messageInfo_RoleId.Size(m) +} +func (m *RoleId) XXX_DiscardUnknown() { + xxx_messageInfo_RoleId.DiscardUnknown(m) +} + +var xxx_messageInfo_RoleId proto.InternalMessageInfo + +func (m *RoleId) GetUid() uint64 { + if m != nil { + return m.Uid + } + return 0 +} + +func (m *RoleId) GetGid() uint64 { + if m != nil { + return m.Gid + } + return 0 +} + +func (m *RoleId) GetUsername() string { + if m != nil { + return m.Username + } + return "" +} + +func (m *RoleId) GetGroupname() string { + if m != nil { + return m.Groupname + } + return "" +} + +type MDId struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MDId) Reset() { *m = MDId{} } +func (m *MDId) String() string { return proto.CompactTextString(m) } +func (*MDId) ProtoMessage() {} +func (*MDId) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{11} +} + +func (m *MDId) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MDId.Unmarshal(m, b) +} +func (m *MDId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MDId.Marshal(b, m, deterministic) +} +func (m *MDId) XXX_Merge(src proto.Message) { + xxx_messageInfo_MDId.Merge(m, src) +} +func (m *MDId) XXX_Size() int { + return xxx_messageInfo_MDId.Size(m) +} +func (m *MDId) XXX_DiscardUnknown() { + xxx_messageInfo_MDId.DiscardUnknown(m) +} + +var xxx_messageInfo_MDId proto.InternalMessageInfo + +func (m *MDId) GetPath() []byte { + if m != nil { + return m.Path + } + return nil +} + +func (m *MDId) GetId() uint64 { + if m != nil { + return m.Id + } + return 0 +} + +func (m *MDId) GetIno() uint64 { + if m != nil { + return m.Ino + } + return 0 +} + +func (m *MDId) GetType() TYPE { + if m != nil { + return m.Type + } + return TYPE_FILE +} + +type Limit struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Limit) Reset() { *m = Limit{} } +func (m *Limit) String() string { return proto.CompactTextString(m) } +func (*Limit) ProtoMessage() {} +func (*Limit) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{12} +} + +func (m *Limit) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Limit.Unmarshal(m, b) +} +func (m *Limit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Limit.Marshal(b, m, deterministic) +} +func (m *Limit) XXX_Merge(src proto.Message) { + xxx_messageInfo_Limit.Merge(m, src) +} +func (m *Limit) XXX_Size() int { + return xxx_messageInfo_Limit.Size(m) +} +func (m *Limit) XXX_DiscardUnknown() { + xxx_messageInfo_Limit.DiscardUnknown(m) +} + +var xxx_messageInfo_Limit proto.InternalMessageInfo + +func (m *Limit) GetZero() bool { + if m != nil { + return m.Zero + } + return false +} + +func (m *Limit) GetMin() uint64 { + if m != nil { + return m.Min + } + return 0 +} + +func (m *Limit) GetMax() uint64 { + if m != nil { + return m.Max + } + return 0 +} + +type MDSelection struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MDSelection) Reset() { *m = MDSelection{} } +func (m *MDSelection) String() string { return proto.CompactTextString(m) } +func (*MDSelection) ProtoMessage() {} +func (*MDSelection) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{13} +} + +func (m *MDSelection) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MDSelection.Unmarshal(m, b) +} +func (m *MDSelection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MDSelection.Marshal(b, m, deterministic) +} +func (m *MDSelection) XXX_Merge(src proto.Message) { + xxx_messageInfo_MDSelection.Merge(m, src) +} +func (m *MDSelection) XXX_Size() int { + return xxx_messageInfo_MDSelection.Size(m) +} +func (m *MDSelection) XXX_DiscardUnknown() { + xxx_messageInfo_MDSelection.DiscardUnknown(m) +} + +var xxx_messageInfo_MDSelection proto.InternalMessageInfo + +func (m *MDSelection) GetSelect() bool { + if m != nil { + return m.Select + } + return false +} + +func (m *MDSelection) GetCtime() *Limit { + if m != nil { + return m.Ctime + } + return nil +} + +func (m *MDSelection) GetMtime() *Limit { + if m != nil { + return m.Mtime + } + return nil +} + +func (m *MDSelection) GetStime() *Limit { + if m != nil { + return m.Stime + } + return nil +} + +func (m *MDSelection) GetSize() *Limit { + if m != nil { + return m.Size + } + return nil +} + +func (m *MDSelection) GetTreesize() *Limit { + if m != nil { + return m.Treesize + } + return nil +} + +func (m *MDSelection) GetChildren() *Limit { + if m != nil { + return m.Children + } + return nil +} + +func (m *MDSelection) GetLocations() *Limit { + if m != nil { + return m.Locations + } + return nil +} + +func (m *MDSelection) GetUnlinkedLocations() *Limit { + if m != nil { + return m.UnlinkedLocations + } + return nil +} + +func (m *MDSelection) GetLayoutid() uint64 { + if m != nil { + return m.Layoutid + } + return 0 +} + +func (m *MDSelection) GetFlags() uint64 { + if m != nil { + return m.Flags + } + return 0 +} + +func (m *MDSelection) GetSymlink() bool { + if m != nil { + return m.Symlink + } + return false +} + +func (m *MDSelection) GetChecksum() *Checksum { + if m != nil { + return m.Checksum + } + return nil +} + +func (m *MDSelection) GetOwner() uint32 { + if m != nil { + return m.Owner + } + return 0 +} + +func (m *MDSelection) GetGroup() uint32 { + if m != nil { + return m.Group + } + return 0 +} + +func (m *MDSelection) GetOwnerRoot() bool { + if m != nil { + return m.OwnerRoot + } + return false +} + +func (m *MDSelection) GetGroupRoot() bool { + if m != nil { + return m.GroupRoot + } + return false +} + +func (m *MDSelection) GetRegexpFilename() []byte { + if m != nil { + return m.RegexpFilename + } + return nil +} + +func (m *MDSelection) GetRegexpDirname() []byte { + if m != nil { + return m.RegexpDirname + } + return nil +} + +func (m *MDSelection) GetXattr() map[string][]byte { + if m != nil { + return m.Xattr + } + return nil +} + +type MDRequest struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MDRequest) Reset() { *m = MDRequest{} } +func (m *MDRequest) String() string { return proto.CompactTextString(m) } +func (*MDRequest) ProtoMessage() {} +func (*MDRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{14} +} + +func (m *MDRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MDRequest.Unmarshal(m, b) +} +func (m *MDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MDRequest.Marshal(b, m, deterministic) +} +func (m *MDRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MDRequest.Merge(m, src) +} +func (m *MDRequest) XXX_Size() int { + return xxx_messageInfo_MDRequest.Size(m) +} +func (m *MDRequest) XXX_DiscardUnknown() { + xxx_messageInfo_MDRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_MDRequest proto.InternalMessageInfo + +func (m *MDRequest) GetType() TYPE { + if m != nil { + return m.Type + } + return TYPE_FILE +} + +func (m *MDRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *MDRequest) GetAuthkey() string { + if m != nil { + return m.Authkey + } + return "" +} + +func (m *MDRequest) GetRole() *RoleId { + if m != nil { + return m.Role + } + return nil +} + +func (m *MDRequest) GetSelection() *MDSelection { + if m != nil { + return m.Selection + } + return nil +} + +type MDResponse struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MDResponse) Reset() { *m = MDResponse{} } +func (m *MDResponse) String() string { return proto.CompactTextString(m) } +func (*MDResponse) ProtoMessage() {} +func (*MDResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{15} +} + +func (m *MDResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MDResponse.Unmarshal(m, b) +} +func (m *MDResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MDResponse.Marshal(b, m, deterministic) +} +func (m *MDResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MDResponse.Merge(m, src) +} +func (m *MDResponse) XXX_Size() int { + return xxx_messageInfo_MDResponse.Size(m) +} +func (m *MDResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MDResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MDResponse proto.InternalMessageInfo + +func (m *MDResponse) GetType() TYPE { + if m != nil { + return m.Type + } + return TYPE_FILE +} + +func (m *MDResponse) GetFmd() *FileMdProto { + if m != nil { + return m.Fmd + } + return nil +} + +func (m *MDResponse) GetCmd() *ContainerMdProto { + if m != nil { + return m.Cmd + } + return nil +} + +type FindRequest struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FindRequest) Reset() { *m = FindRequest{} } +func (m *FindRequest) String() string { return proto.CompactTextString(m) } +func (*FindRequest) ProtoMessage() {} +func (*FindRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{16} +} + +func (m *FindRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FindRequest.Unmarshal(m, b) +} +func (m *FindRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FindRequest.Marshal(b, m, deterministic) +} +func (m *FindRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_FindRequest.Merge(m, src) +} +func (m *FindRequest) XXX_Size() int { + return xxx_messageInfo_FindRequest.Size(m) +} +func (m *FindRequest) XXX_DiscardUnknown() { + xxx_messageInfo_FindRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_FindRequest proto.InternalMessageInfo + +func (m *FindRequest) GetType() TYPE { + if m != nil { + return m.Type + } + return TYPE_FILE +} + +func (m *FindRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *FindRequest) GetRole() *RoleId { + if m != nil { + return m.Role + } + return nil +} + +func (m *FindRequest) GetAuthkey() string { + if m != nil { + return m.Authkey + } + return "" +} + +func (m *FindRequest) GetMaxdepth() uint64 { + if m != nil { + return m.Maxdepth + } + return 0 +} + +func (m *FindRequest) GetSelection() *MDSelection { + if m != nil { + return m.Selection + } + return nil +} + +type ShareAuth struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ShareAuth) Reset() { *m = ShareAuth{} } +func (m *ShareAuth) String() string { return proto.CompactTextString(m) } +func (*ShareAuth) ProtoMessage() {} +func (*ShareAuth) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{17} +} + +func (m *ShareAuth) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ShareAuth.Unmarshal(m, b) +} +func (m *ShareAuth) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ShareAuth.Marshal(b, m, deterministic) +} +func (m *ShareAuth) XXX_Merge(src proto.Message) { + xxx_messageInfo_ShareAuth.Merge(m, src) +} +func (m *ShareAuth) XXX_Size() int { + return xxx_messageInfo_ShareAuth.Size(m) +} +func (m *ShareAuth) XXX_DiscardUnknown() { + xxx_messageInfo_ShareAuth.DiscardUnknown(m) +} + +var xxx_messageInfo_ShareAuth proto.InternalMessageInfo + +func (m *ShareAuth) GetProt() string { + if m != nil { + return m.Prot + } + return "" +} + +func (m *ShareAuth) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ShareAuth) GetHost() string { + if m != nil { + return m.Host + } + return "" +} + +type ShareProto struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ShareProto) Reset() { *m = ShareProto{} } +func (m *ShareProto) String() string { return proto.CompactTextString(m) } +func (*ShareProto) ProtoMessage() {} +func (*ShareProto) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{18} +} + +func (m *ShareProto) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ShareProto.Unmarshal(m, b) +} +func (m *ShareProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ShareProto.Marshal(b, m, deterministic) +} +func (m *ShareProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_ShareProto.Merge(m, src) +} +func (m *ShareProto) XXX_Size() int { + return xxx_messageInfo_ShareProto.Size(m) +} +func (m *ShareProto) XXX_DiscardUnknown() { + xxx_messageInfo_ShareProto.DiscardUnknown(m) +} + +var xxx_messageInfo_ShareProto proto.InternalMessageInfo + +func (m *ShareProto) GetPermission() string { + if m != nil { + return m.Permission + } + return "" +} + +func (m *ShareProto) GetExpires() uint64 { + if m != nil { + return m.Expires + } + return 0 +} + +func (m *ShareProto) GetOwner() string { + if m != nil { + return m.Owner + } + return "" +} + +func (m *ShareProto) GetGroup() string { + if m != nil { + return m.Group + } + return "" +} + +func (m *ShareProto) GetGeneration() uint64 { + if m != nil { + return m.Generation + } + return 0 +} + +func (m *ShareProto) GetPath() string { + if m != nil { + return m.Path + } + return "" +} + +func (m *ShareProto) GetAllowtree() bool { + if m != nil { + return m.Allowtree + } + return false +} + +func (m *ShareProto) GetVtoken() string { + if m != nil { + return m.Vtoken + } + return "" +} + +func (m *ShareProto) GetOrigins() []*ShareAuth { + if m != nil { + return m.Origins + } + return nil +} + +type ShareToken struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ShareToken) Reset() { *m = ShareToken{} } +func (m *ShareToken) String() string { return proto.CompactTextString(m) } +func (*ShareToken) ProtoMessage() {} +func (*ShareToken) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{19} +} + +func (m *ShareToken) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ShareToken.Unmarshal(m, b) +} +func (m *ShareToken) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ShareToken.Marshal(b, m, deterministic) +} +func (m *ShareToken) XXX_Merge(src proto.Message) { + xxx_messageInfo_ShareToken.Merge(m, src) +} +func (m *ShareToken) XXX_Size() int { + return xxx_messageInfo_ShareToken.Size(m) +} +func (m *ShareToken) XXX_DiscardUnknown() { + xxx_messageInfo_ShareToken.DiscardUnknown(m) +} + +var xxx_messageInfo_ShareToken proto.InternalMessageInfo + +func (m *ShareToken) GetToken() *ShareProto { + if m != nil { + return m.Token + } + return nil +} + +func (m *ShareToken) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +func (m *ShareToken) GetSerialized() []byte { + if m != nil { + return m.Serialized + } + return nil +} + +func (m *ShareToken) GetSeed() int32 { + if m != nil { + return m.Seed + } + return 0 +} + +type NSRequest struct { + 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 valid to be assigned 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest) Reset() { *m = NSRequest{} } +func (m *NSRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest) ProtoMessage() {} +func (*NSRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20} +} + +func (m *NSRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest.Unmarshal(m, b) +} +func (m *NSRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest.Merge(m, src) +} +func (m *NSRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest.Size(m) +} +func (m *NSRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest proto.InternalMessageInfo + +func (m *NSRequest) GetAuthkey() string { + if m != nil { + return m.Authkey + } + return "" +} + +func (m *NSRequest) GetRole() *RoleId { + if m != nil { + return m.Role + } + 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() {} + +func (m *NSRequest) GetCommand() isNSRequest_Command { + if m != nil { + return m.Command + } + return nil +} + +func (m *NSRequest) GetMkdir() *NSRequest_MkdirRequest { + if x, ok := m.GetCommand().(*NSRequest_Mkdir); ok { + return x.Mkdir + } + return nil +} + +func (m *NSRequest) GetRmdir() *NSRequest_RmdirRequest { + if x, ok := m.GetCommand().(*NSRequest_Rmdir); ok { + return x.Rmdir + } + return nil +} + +func (m *NSRequest) GetTouch() *NSRequest_TouchRequest { + if x, ok := m.GetCommand().(*NSRequest_Touch); ok { + return x.Touch + } + return nil +} + +func (m *NSRequest) GetUnlink() *NSRequest_UnlinkRequest { + if x, ok := m.GetCommand().(*NSRequest_Unlink); ok { + return x.Unlink + } + return nil +} + +func (m *NSRequest) GetRm() *NSRequest_RmRequest { + if x, ok := m.GetCommand().(*NSRequest_Rm); ok { + return x.Rm + } + return nil +} + +func (m *NSRequest) GetRename() *NSRequest_RenameRequest { + if x, ok := m.GetCommand().(*NSRequest_Rename); ok { + return x.Rename + } + return nil +} + +func (m *NSRequest) GetSymlink() *NSRequest_SymlinkRequest { + if x, ok := m.GetCommand().(*NSRequest_Symlink); ok { + return x.Symlink + } + return nil +} + +func (m *NSRequest) GetVersion() *NSRequest_VersionRequest { + if x, ok := m.GetCommand().(*NSRequest_Version); ok { + return x.Version + } + return nil +} + +func (m *NSRequest) GetRecycle() *NSRequest_RecycleRequest { + if x, ok := m.GetCommand().(*NSRequest_Recycle); ok { + return x.Recycle + } + return nil +} + +func (m *NSRequest) GetXattr() *NSRequest_SetXAttrRequest { + if x, ok := m.GetCommand().(*NSRequest_Xattr); ok { + return x.Xattr + } + return nil +} + +func (m *NSRequest) GetChown() *NSRequest_ChownRequest { + if x, ok := m.GetCommand().(*NSRequest_Chown); ok { + return x.Chown + } + return nil +} + +func (m *NSRequest) GetChmod() *NSRequest_ChmodRequest { + if x, ok := m.GetCommand().(*NSRequest_Chmod); ok { + return x.Chmod + } + return nil +} + +func (m *NSRequest) GetAcl() *NSRequest_AclRequest { + if x, ok := m.GetCommand().(*NSRequest_Acl); ok { + return x.Acl + } + return nil +} + +func (m *NSRequest) GetToken() *NSRequest_TokenRequest { + if x, ok := m.GetCommand().(*NSRequest_Token); ok { + return x.Token + } + return nil +} + +func (m *NSRequest) GetQuota() *NSRequest_QuotaRequest { + if x, ok := m.GetCommand().(*NSRequest_Quota); ok { + return x.Quota + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*NSRequest) XXX_OneofWrappers() []interface{} { + return []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 NSRequest_MkdirRequest struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_MkdirRequest) Reset() { *m = NSRequest_MkdirRequest{} } +func (m *NSRequest_MkdirRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_MkdirRequest) ProtoMessage() {} +func (*NSRequest_MkdirRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 0} +} + +func (m *NSRequest_MkdirRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_MkdirRequest.Unmarshal(m, b) +} +func (m *NSRequest_MkdirRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_MkdirRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_MkdirRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_MkdirRequest.Merge(m, src) +} +func (m *NSRequest_MkdirRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_MkdirRequest.Size(m) +} +func (m *NSRequest_MkdirRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_MkdirRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_MkdirRequest proto.InternalMessageInfo + +func (m *NSRequest_MkdirRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_MkdirRequest) GetRecursive() bool { + if m != nil { + return m.Recursive + } + return false +} + +func (m *NSRequest_MkdirRequest) GetMode() int64 { + if m != nil { + return m.Mode + } + return 0 +} + +type NSRequest_RmdirRequest struct { + Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_RmdirRequest) Reset() { *m = NSRequest_RmdirRequest{} } +func (m *NSRequest_RmdirRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_RmdirRequest) ProtoMessage() {} +func (*NSRequest_RmdirRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 1} +} + +func (m *NSRequest_RmdirRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_RmdirRequest.Unmarshal(m, b) +} +func (m *NSRequest_RmdirRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_RmdirRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_RmdirRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_RmdirRequest.Merge(m, src) +} +func (m *NSRequest_RmdirRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_RmdirRequest.Size(m) +} +func (m *NSRequest_RmdirRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_RmdirRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_RmdirRequest proto.InternalMessageInfo + +func (m *NSRequest_RmdirRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +type NSRequest_TouchRequest struct { + Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_TouchRequest) Reset() { *m = NSRequest_TouchRequest{} } +func (m *NSRequest_TouchRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_TouchRequest) ProtoMessage() {} +func (*NSRequest_TouchRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 2} +} + +func (m *NSRequest_TouchRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_TouchRequest.Unmarshal(m, b) +} +func (m *NSRequest_TouchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_TouchRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_TouchRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_TouchRequest.Merge(m, src) +} +func (m *NSRequest_TouchRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_TouchRequest.Size(m) +} +func (m *NSRequest_TouchRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_TouchRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_TouchRequest proto.InternalMessageInfo + +func (m *NSRequest_TouchRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +type NSRequest_UnlinkRequest struct { + Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Norecycle bool `protobuf:"varint,3,opt,name=norecycle,proto3" json:"norecycle,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_UnlinkRequest) Reset() { *m = NSRequest_UnlinkRequest{} } +func (m *NSRequest_UnlinkRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_UnlinkRequest) ProtoMessage() {} +func (*NSRequest_UnlinkRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 3} +} + +func (m *NSRequest_UnlinkRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_UnlinkRequest.Unmarshal(m, b) +} +func (m *NSRequest_UnlinkRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_UnlinkRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_UnlinkRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_UnlinkRequest.Merge(m, src) +} +func (m *NSRequest_UnlinkRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_UnlinkRequest.Size(m) +} +func (m *NSRequest_UnlinkRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_UnlinkRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_UnlinkRequest proto.InternalMessageInfo + +func (m *NSRequest_UnlinkRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_UnlinkRequest) GetNorecycle() bool { + if m != nil { + return m.Norecycle + } + return false +} + +type NSRequest_RmRequest struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_RmRequest) Reset() { *m = NSRequest_RmRequest{} } +func (m *NSRequest_RmRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_RmRequest) ProtoMessage() {} +func (*NSRequest_RmRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 4} +} + +func (m *NSRequest_RmRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_RmRequest.Unmarshal(m, b) +} +func (m *NSRequest_RmRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_RmRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_RmRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_RmRequest.Merge(m, src) +} +func (m *NSRequest_RmRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_RmRequest.Size(m) +} +func (m *NSRequest_RmRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_RmRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_RmRequest proto.InternalMessageInfo + +func (m *NSRequest_RmRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_RmRequest) GetRecursive() bool { + if m != nil { + return m.Recursive + } + return false +} + +func (m *NSRequest_RmRequest) GetNorecycle() bool { + if m != nil { + return m.Norecycle + } + return false +} + +type NSRequest_RenameRequest struct { + Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Target []byte `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_RenameRequest) Reset() { *m = NSRequest_RenameRequest{} } +func (m *NSRequest_RenameRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_RenameRequest) ProtoMessage() {} +func (*NSRequest_RenameRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 5} +} + +func (m *NSRequest_RenameRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_RenameRequest.Unmarshal(m, b) +} +func (m *NSRequest_RenameRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_RenameRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_RenameRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_RenameRequest.Merge(m, src) +} +func (m *NSRequest_RenameRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_RenameRequest.Size(m) +} +func (m *NSRequest_RenameRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_RenameRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_RenameRequest proto.InternalMessageInfo + +func (m *NSRequest_RenameRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_RenameRequest) GetTarget() []byte { + if m != nil { + return m.Target + } + return nil +} + +type NSRequest_SymlinkRequest struct { + Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Target []byte `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_SymlinkRequest) Reset() { *m = NSRequest_SymlinkRequest{} } +func (m *NSRequest_SymlinkRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_SymlinkRequest) ProtoMessage() {} +func (*NSRequest_SymlinkRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 6} +} + +func (m *NSRequest_SymlinkRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_SymlinkRequest.Unmarshal(m, b) +} +func (m *NSRequest_SymlinkRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_SymlinkRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_SymlinkRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_SymlinkRequest.Merge(m, src) +} +func (m *NSRequest_SymlinkRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_SymlinkRequest.Size(m) +} +func (m *NSRequest_SymlinkRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_SymlinkRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_SymlinkRequest proto.InternalMessageInfo + +func (m *NSRequest_SymlinkRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_SymlinkRequest) GetTarget() []byte { + if m != nil { + return m.Target + } + return nil +} + +type NSRequest_VersionRequest struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_VersionRequest) Reset() { *m = NSRequest_VersionRequest{} } +func (m *NSRequest_VersionRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_VersionRequest) ProtoMessage() {} +func (*NSRequest_VersionRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 7} +} + +func (m *NSRequest_VersionRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_VersionRequest.Unmarshal(m, b) +} +func (m *NSRequest_VersionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_VersionRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_VersionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_VersionRequest.Merge(m, src) +} +func (m *NSRequest_VersionRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_VersionRequest.Size(m) +} +func (m *NSRequest_VersionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_VersionRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_VersionRequest proto.InternalMessageInfo + +func (m *NSRequest_VersionRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_VersionRequest) GetCmd() NSRequest_VersionRequest_VERSION_CMD { + if m != nil { + return m.Cmd + } + return NSRequest_VersionRequest_CREATE +} + +func (m *NSRequest_VersionRequest) GetMaxversion() int32 { + if m != nil { + return m.Maxversion + } + return 0 +} + +type NSRequest_RecycleRequest struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_RecycleRequest) Reset() { *m = NSRequest_RecycleRequest{} } +func (m *NSRequest_RecycleRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_RecycleRequest) ProtoMessage() {} +func (*NSRequest_RecycleRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 8} +} + +func (m *NSRequest_RecycleRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_RecycleRequest.Unmarshal(m, b) +} +func (m *NSRequest_RecycleRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_RecycleRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_RecycleRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_RecycleRequest.Merge(m, src) +} +func (m *NSRequest_RecycleRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_RecycleRequest.Size(m) +} +func (m *NSRequest_RecycleRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_RecycleRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_RecycleRequest proto.InternalMessageInfo + +func (m *NSRequest_RecycleRequest) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *NSRequest_RecycleRequest) GetCmd() NSRequest_RecycleRequest_RECYCLE_CMD { + if m != nil { + return m.Cmd + } + return NSRequest_RecycleRequest_RESTORE +} + +func (m *NSRequest_RecycleRequest) GetRestoreflag() *NSRequest_RecycleRequest_RestoreFlags { + if m != nil { + return m.Restoreflag + } + return nil +} + +func (m *NSRequest_RecycleRequest) GetPurgedate() *NSRequest_RecycleRequest_PurgeDate { + if m != nil { + return m.Purgedate + } + return nil +} + +type NSRequest_RecycleRequest_RestoreFlags struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_RecycleRequest_RestoreFlags) Reset() { *m = NSRequest_RecycleRequest_RestoreFlags{} } +func (m *NSRequest_RecycleRequest_RestoreFlags) String() string { return proto.CompactTextString(m) } +func (*NSRequest_RecycleRequest_RestoreFlags) ProtoMessage() {} +func (*NSRequest_RecycleRequest_RestoreFlags) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 8, 0} +} + +func (m *NSRequest_RecycleRequest_RestoreFlags) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_RecycleRequest_RestoreFlags.Unmarshal(m, b) +} +func (m *NSRequest_RecycleRequest_RestoreFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_RecycleRequest_RestoreFlags.Marshal(b, m, deterministic) +} +func (m *NSRequest_RecycleRequest_RestoreFlags) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_RecycleRequest_RestoreFlags.Merge(m, src) +} +func (m *NSRequest_RecycleRequest_RestoreFlags) XXX_Size() int { + return xxx_messageInfo_NSRequest_RecycleRequest_RestoreFlags.Size(m) +} +func (m *NSRequest_RecycleRequest_RestoreFlags) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_RecycleRequest_RestoreFlags.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_RecycleRequest_RestoreFlags proto.InternalMessageInfo + +func (m *NSRequest_RecycleRequest_RestoreFlags) GetForce() bool { + if m != nil { + return m.Force + } + return false +} + +func (m *NSRequest_RecycleRequest_RestoreFlags) GetMkpath() bool { + if m != nil { + return m.Mkpath + } + return false +} + +func (m *NSRequest_RecycleRequest_RestoreFlags) GetVersions() bool { + if m != nil { + return m.Versions + } + return false +} + +type NSRequest_RecycleRequest_PurgeDate struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_RecycleRequest_PurgeDate) Reset() { *m = NSRequest_RecycleRequest_PurgeDate{} } +func (m *NSRequest_RecycleRequest_PurgeDate) String() string { return proto.CompactTextString(m) } +func (*NSRequest_RecycleRequest_PurgeDate) ProtoMessage() {} +func (*NSRequest_RecycleRequest_PurgeDate) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 8, 1} +} + +func (m *NSRequest_RecycleRequest_PurgeDate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_RecycleRequest_PurgeDate.Unmarshal(m, b) +} +func (m *NSRequest_RecycleRequest_PurgeDate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_RecycleRequest_PurgeDate.Marshal(b, m, deterministic) +} +func (m *NSRequest_RecycleRequest_PurgeDate) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_RecycleRequest_PurgeDate.Merge(m, src) +} +func (m *NSRequest_RecycleRequest_PurgeDate) XXX_Size() int { + return xxx_messageInfo_NSRequest_RecycleRequest_PurgeDate.Size(m) +} +func (m *NSRequest_RecycleRequest_PurgeDate) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_RecycleRequest_PurgeDate.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_RecycleRequest_PurgeDate proto.InternalMessageInfo + +func (m *NSRequest_RecycleRequest_PurgeDate) GetYear() int32 { + if m != nil { + return m.Year + } + return 0 +} + +func (m *NSRequest_RecycleRequest_PurgeDate) GetMonth() int32 { + if m != nil { + return m.Month + } + return 0 +} + +func (m *NSRequest_RecycleRequest_PurgeDate) GetDay() int32 { + if m != nil { + return m.Day + } + return 0 +} + +type NSRequest_SetXAttrRequest struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_SetXAttrRequest) Reset() { *m = NSRequest_SetXAttrRequest{} } +func (m *NSRequest_SetXAttrRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_SetXAttrRequest) ProtoMessage() {} +func (*NSRequest_SetXAttrRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 9} +} + +func (m *NSRequest_SetXAttrRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_SetXAttrRequest.Unmarshal(m, b) +} +func (m *NSRequest_SetXAttrRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_SetXAttrRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_SetXAttrRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_SetXAttrRequest.Merge(m, src) +} +func (m *NSRequest_SetXAttrRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_SetXAttrRequest.Size(m) +} +func (m *NSRequest_SetXAttrRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_SetXAttrRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_SetXAttrRequest proto.InternalMessageInfo + +func (m *NSRequest_SetXAttrRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_SetXAttrRequest) GetXattrs() map[string][]byte { + if m != nil { + return m.Xattrs + } + return nil +} + +func (m *NSRequest_SetXAttrRequest) GetRecursive() bool { + if m != nil { + return m.Recursive + } + return false +} + +func (m *NSRequest_SetXAttrRequest) GetKeystodelete() []string { + if m != nil { + return m.Keystodelete + } + return nil +} + +type NSRequest_ChownRequest struct { + Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Owner *RoleId `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_ChownRequest) Reset() { *m = NSRequest_ChownRequest{} } +func (m *NSRequest_ChownRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_ChownRequest) ProtoMessage() {} +func (*NSRequest_ChownRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 10} +} + +func (m *NSRequest_ChownRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_ChownRequest.Unmarshal(m, b) +} +func (m *NSRequest_ChownRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_ChownRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_ChownRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_ChownRequest.Merge(m, src) +} +func (m *NSRequest_ChownRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_ChownRequest.Size(m) +} +func (m *NSRequest_ChownRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_ChownRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_ChownRequest proto.InternalMessageInfo + +func (m *NSRequest_ChownRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_ChownRequest) GetOwner() *RoleId { + if m != nil { + return m.Owner + } + return nil +} + +type NSRequest_ChmodRequest struct { + Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Mode int64 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_ChmodRequest) Reset() { *m = NSRequest_ChmodRequest{} } +func (m *NSRequest_ChmodRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_ChmodRequest) ProtoMessage() {} +func (*NSRequest_ChmodRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 11} +} + +func (m *NSRequest_ChmodRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_ChmodRequest.Unmarshal(m, b) +} +func (m *NSRequest_ChmodRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_ChmodRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_ChmodRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_ChmodRequest.Merge(m, src) +} +func (m *NSRequest_ChmodRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_ChmodRequest.Size(m) +} +func (m *NSRequest_ChmodRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_ChmodRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_ChmodRequest proto.InternalMessageInfo + +func (m *NSRequest_ChmodRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_ChmodRequest) GetMode() int64 { + if m != nil { + return m.Mode + } + return 0 +} + +type NSRequest_AclRequest struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_AclRequest) Reset() { *m = NSRequest_AclRequest{} } +func (m *NSRequest_AclRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_AclRequest) ProtoMessage() {} +func (*NSRequest_AclRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 12} +} + +func (m *NSRequest_AclRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_AclRequest.Unmarshal(m, b) +} +func (m *NSRequest_AclRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_AclRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_AclRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_AclRequest.Merge(m, src) +} +func (m *NSRequest_AclRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_AclRequest.Size(m) +} +func (m *NSRequest_AclRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_AclRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_AclRequest proto.InternalMessageInfo + +func (m *NSRequest_AclRequest) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_AclRequest) GetCmd() NSRequest_AclRequest_ACL_COMMAND { + if m != nil { + return m.Cmd + } + return NSRequest_AclRequest_NONE +} + +func (m *NSRequest_AclRequest) GetRecursive() bool { + if m != nil { + return m.Recursive + } + return false +} + +func (m *NSRequest_AclRequest) GetType() NSRequest_AclRequest_ACL_TYPE { + if m != nil { + return m.Type + } + return NSRequest_AclRequest_USER_ACL +} + +func (m *NSRequest_AclRequest) GetRule() string { + if m != nil { + return m.Rule + } + return "" +} + +type NSRequest_TokenRequest struct { + Token *ShareToken `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_TokenRequest) Reset() { *m = NSRequest_TokenRequest{} } +func (m *NSRequest_TokenRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_TokenRequest) ProtoMessage() {} +func (*NSRequest_TokenRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 13} +} + +func (m *NSRequest_TokenRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_TokenRequest.Unmarshal(m, b) +} +func (m *NSRequest_TokenRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_TokenRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_TokenRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_TokenRequest.Merge(m, src) +} +func (m *NSRequest_TokenRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_TokenRequest.Size(m) +} +func (m *NSRequest_TokenRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_TokenRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_TokenRequest proto.InternalMessageInfo + +func (m *NSRequest_TokenRequest) GetToken() *ShareToken { + if m != nil { + return m.Token + } + return nil +} + +type NSRequest_QuotaRequest struct { + Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + Id *RoleId `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Op QUOTAOP `protobuf:"varint,3,opt,name=op,proto3,enum=eos.rpc.QUOTAOP" json:"op,omitempty"` + Maxfiles uint64 `protobuf:"varint,4,opt,name=maxfiles,proto3" json:"maxfiles,omitempty"` + Maxbytes uint64 `protobuf:"varint,5,opt,name=maxbytes,proto3" json:"maxbytes,omitempty"` + Entry QUOTAENTRY `protobuf:"varint,6,opt,name=entry,proto3,enum=eos.rpc.QUOTAENTRY" json:"entry,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSRequest_QuotaRequest) Reset() { *m = NSRequest_QuotaRequest{} } +func (m *NSRequest_QuotaRequest) String() string { return proto.CompactTextString(m) } +func (*NSRequest_QuotaRequest) ProtoMessage() {} +func (*NSRequest_QuotaRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{20, 14} +} + +func (m *NSRequest_QuotaRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSRequest_QuotaRequest.Unmarshal(m, b) +} +func (m *NSRequest_QuotaRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSRequest_QuotaRequest.Marshal(b, m, deterministic) +} +func (m *NSRequest_QuotaRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSRequest_QuotaRequest.Merge(m, src) +} +func (m *NSRequest_QuotaRequest) XXX_Size() int { + return xxx_messageInfo_NSRequest_QuotaRequest.Size(m) +} +func (m *NSRequest_QuotaRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NSRequest_QuotaRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NSRequest_QuotaRequest proto.InternalMessageInfo + +func (m *NSRequest_QuotaRequest) GetPath() []byte { + if m != nil { + return m.Path + } + return nil +} + +func (m *NSRequest_QuotaRequest) GetId() *RoleId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSRequest_QuotaRequest) GetOp() QUOTAOP { + if m != nil { + return m.Op + } + return QUOTAOP_GET +} + +func (m *NSRequest_QuotaRequest) GetMaxfiles() uint64 { + if m != nil { + return m.Maxfiles + } + return 0 +} + +func (m *NSRequest_QuotaRequest) GetMaxbytes() uint64 { + if m != nil { + return m.Maxbytes + } + return 0 +} + +func (m *NSRequest_QuotaRequest) GetEntry() QUOTAENTRY { + if m != nil { + return m.Entry + } + return QUOTAENTRY_NONE +} + +type NSResponse struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSResponse) Reset() { *m = NSResponse{} } +func (m *NSResponse) String() string { return proto.CompactTextString(m) } +func (*NSResponse) ProtoMessage() {} +func (*NSResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{21} +} + +func (m *NSResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSResponse.Unmarshal(m, b) +} +func (m *NSResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSResponse.Marshal(b, m, deterministic) +} +func (m *NSResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSResponse.Merge(m, src) +} +func (m *NSResponse) XXX_Size() int { + return xxx_messageInfo_NSResponse.Size(m) +} +func (m *NSResponse) XXX_DiscardUnknown() { + xxx_messageInfo_NSResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_NSResponse proto.InternalMessageInfo + +func (m *NSResponse) GetError() *NSResponse_ErrorResponse { + if m != nil { + return m.Error + } + return nil +} + +func (m *NSResponse) GetVersion() *NSResponse_VersionResponse { + if m != nil { + return m.Version + } + return nil +} + +func (m *NSResponse) GetRecycle() *NSResponse_RecycleResponse { + if m != nil { + return m.Recycle + } + return nil +} + +func (m *NSResponse) GetAcl() *NSResponse_AclResponse { + if m != nil { + return m.Acl + } + return nil +} + +func (m *NSResponse) GetQuota() *NSResponse_QuotaResponse { + if m != nil { + return m.Quota + } + return nil +} + +type NSResponse_ErrorResponse struct { + Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSResponse_ErrorResponse) Reset() { *m = NSResponse_ErrorResponse{} } +func (m *NSResponse_ErrorResponse) String() string { return proto.CompactTextString(m) } +func (*NSResponse_ErrorResponse) ProtoMessage() {} +func (*NSResponse_ErrorResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{21, 0} +} + +func (m *NSResponse_ErrorResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSResponse_ErrorResponse.Unmarshal(m, b) +} +func (m *NSResponse_ErrorResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSResponse_ErrorResponse.Marshal(b, m, deterministic) +} +func (m *NSResponse_ErrorResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSResponse_ErrorResponse.Merge(m, src) +} +func (m *NSResponse_ErrorResponse) XXX_Size() int { + return xxx_messageInfo_NSResponse_ErrorResponse.Size(m) +} +func (m *NSResponse_ErrorResponse) XXX_DiscardUnknown() { + xxx_messageInfo_NSResponse_ErrorResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_NSResponse_ErrorResponse proto.InternalMessageInfo + +func (m *NSResponse_ErrorResponse) GetCode() int64 { + if m != nil { + return m.Code + } + return 0 +} + +func (m *NSResponse_ErrorResponse) GetMsg() string { + if m != nil { + return m.Msg + } + return "" +} + +type NSResponse_VersionResponse struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSResponse_VersionResponse) Reset() { *m = NSResponse_VersionResponse{} } +func (m *NSResponse_VersionResponse) String() string { return proto.CompactTextString(m) } +func (*NSResponse_VersionResponse) ProtoMessage() {} +func (*NSResponse_VersionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{21, 1} +} + +func (m *NSResponse_VersionResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSResponse_VersionResponse.Unmarshal(m, b) +} +func (m *NSResponse_VersionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSResponse_VersionResponse.Marshal(b, m, deterministic) +} +func (m *NSResponse_VersionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSResponse_VersionResponse.Merge(m, src) +} +func (m *NSResponse_VersionResponse) XXX_Size() int { + return xxx_messageInfo_NSResponse_VersionResponse.Size(m) +} +func (m *NSResponse_VersionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_NSResponse_VersionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_NSResponse_VersionResponse proto.InternalMessageInfo + +func (m *NSResponse_VersionResponse) GetCode() int64 { + if m != nil { + return m.Code + } + return 0 +} + +func (m *NSResponse_VersionResponse) GetMsg() string { + if m != nil { + return m.Msg + } + return "" +} + +func (m *NSResponse_VersionResponse) GetVersions() []*NSResponse_VersionResponse_VersionInfo { + if m != nil { + return m.Versions + } + return nil +} + +type NSResponse_VersionResponse_VersionInfo struct { + Id *MDId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Mtime *Time `protobuf:"bytes,2,opt,name=mtime,proto3" json:"mtime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSResponse_VersionResponse_VersionInfo) Reset() { + *m = NSResponse_VersionResponse_VersionInfo{} +} +func (m *NSResponse_VersionResponse_VersionInfo) String() string { return proto.CompactTextString(m) } +func (*NSResponse_VersionResponse_VersionInfo) ProtoMessage() {} +func (*NSResponse_VersionResponse_VersionInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{21, 1, 0} +} + +func (m *NSResponse_VersionResponse_VersionInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSResponse_VersionResponse_VersionInfo.Unmarshal(m, b) +} +func (m *NSResponse_VersionResponse_VersionInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSResponse_VersionResponse_VersionInfo.Marshal(b, m, deterministic) +} +func (m *NSResponse_VersionResponse_VersionInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSResponse_VersionResponse_VersionInfo.Merge(m, src) +} +func (m *NSResponse_VersionResponse_VersionInfo) XXX_Size() int { + return xxx_messageInfo_NSResponse_VersionResponse_VersionInfo.Size(m) +} +func (m *NSResponse_VersionResponse_VersionInfo) XXX_DiscardUnknown() { + xxx_messageInfo_NSResponse_VersionResponse_VersionInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_NSResponse_VersionResponse_VersionInfo proto.InternalMessageInfo + +func (m *NSResponse_VersionResponse_VersionInfo) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSResponse_VersionResponse_VersionInfo) GetMtime() *Time { + if m != nil { + return m.Mtime + } + return nil +} + +type NSResponse_RecycleResponse struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSResponse_RecycleResponse) Reset() { *m = NSResponse_RecycleResponse{} } +func (m *NSResponse_RecycleResponse) String() string { return proto.CompactTextString(m) } +func (*NSResponse_RecycleResponse) ProtoMessage() {} +func (*NSResponse_RecycleResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{21, 2} +} + +func (m *NSResponse_RecycleResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSResponse_RecycleResponse.Unmarshal(m, b) +} +func (m *NSResponse_RecycleResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSResponse_RecycleResponse.Marshal(b, m, deterministic) +} +func (m *NSResponse_RecycleResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSResponse_RecycleResponse.Merge(m, src) +} +func (m *NSResponse_RecycleResponse) XXX_Size() int { + return xxx_messageInfo_NSResponse_RecycleResponse.Size(m) +} +func (m *NSResponse_RecycleResponse) XXX_DiscardUnknown() { + xxx_messageInfo_NSResponse_RecycleResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_NSResponse_RecycleResponse proto.InternalMessageInfo + +func (m *NSResponse_RecycleResponse) GetCode() int64 { + if m != nil { + return m.Code + } + return 0 +} + +func (m *NSResponse_RecycleResponse) GetMsg() string { + if m != nil { + return m.Msg + } + return "" +} + +func (m *NSResponse_RecycleResponse) GetRecycles() []*NSResponse_RecycleResponse_RecycleInfo { + if m != nil { + return m.Recycles + } + return nil +} + +type NSResponse_RecycleResponse_RecycleInfo struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSResponse_RecycleResponse_RecycleInfo) Reset() { + *m = NSResponse_RecycleResponse_RecycleInfo{} +} +func (m *NSResponse_RecycleResponse_RecycleInfo) String() string { return proto.CompactTextString(m) } +func (*NSResponse_RecycleResponse_RecycleInfo) ProtoMessage() {} +func (*NSResponse_RecycleResponse_RecycleInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{21, 2, 0} +} + +func (m *NSResponse_RecycleResponse_RecycleInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSResponse_RecycleResponse_RecycleInfo.Unmarshal(m, b) +} +func (m *NSResponse_RecycleResponse_RecycleInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSResponse_RecycleResponse_RecycleInfo.Marshal(b, m, deterministic) +} +func (m *NSResponse_RecycleResponse_RecycleInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSResponse_RecycleResponse_RecycleInfo.Merge(m, src) +} +func (m *NSResponse_RecycleResponse_RecycleInfo) XXX_Size() int { + return xxx_messageInfo_NSResponse_RecycleResponse_RecycleInfo.Size(m) +} +func (m *NSResponse_RecycleResponse_RecycleInfo) XXX_DiscardUnknown() { + xxx_messageInfo_NSResponse_RecycleResponse_RecycleInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_NSResponse_RecycleResponse_RecycleInfo proto.InternalMessageInfo + +func (m *NSResponse_RecycleResponse_RecycleInfo) GetId() *MDId { + if m != nil { + return m.Id + } + return nil +} + +func (m *NSResponse_RecycleResponse_RecycleInfo) GetOwner() *RoleId { + if m != nil { + return m.Owner + } + return nil +} + +func (m *NSResponse_RecycleResponse_RecycleInfo) GetDtime() *Time { + if m != nil { + return m.Dtime + } + return nil +} + +func (m *NSResponse_RecycleResponse_RecycleInfo) GetSize() uint64 { + if m != nil { + return m.Size + } + return 0 +} + +func (m *NSResponse_RecycleResponse_RecycleInfo) GetType() NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE { + if m != nil { + return m.Type + } + return NSResponse_RecycleResponse_RecycleInfo_FILE +} + +func (m *NSResponse_RecycleResponse_RecycleInfo) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +type NSResponse_AclResponse struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSResponse_AclResponse) Reset() { *m = NSResponse_AclResponse{} } +func (m *NSResponse_AclResponse) String() string { return proto.CompactTextString(m) } +func (*NSResponse_AclResponse) ProtoMessage() {} +func (*NSResponse_AclResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{21, 3} +} + +func (m *NSResponse_AclResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSResponse_AclResponse.Unmarshal(m, b) +} +func (m *NSResponse_AclResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSResponse_AclResponse.Marshal(b, m, deterministic) +} +func (m *NSResponse_AclResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSResponse_AclResponse.Merge(m, src) +} +func (m *NSResponse_AclResponse) XXX_Size() int { + return xxx_messageInfo_NSResponse_AclResponse.Size(m) +} +func (m *NSResponse_AclResponse) XXX_DiscardUnknown() { + xxx_messageInfo_NSResponse_AclResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_NSResponse_AclResponse proto.InternalMessageInfo + +func (m *NSResponse_AclResponse) GetCode() int64 { + if m != nil { + return m.Code + } + return 0 +} + +func (m *NSResponse_AclResponse) GetMsg() string { + if m != nil { + return m.Msg + } + return "" +} + +func (m *NSResponse_AclResponse) GetRule() string { + if m != nil { + return m.Rule + } + return "" +} + +type NSResponse_QuotaResponse struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NSResponse_QuotaResponse) Reset() { *m = NSResponse_QuotaResponse{} } +func (m *NSResponse_QuotaResponse) String() string { return proto.CompactTextString(m) } +func (*NSResponse_QuotaResponse) ProtoMessage() {} +func (*NSResponse_QuotaResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{21, 4} +} + +func (m *NSResponse_QuotaResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NSResponse_QuotaResponse.Unmarshal(m, b) +} +func (m *NSResponse_QuotaResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NSResponse_QuotaResponse.Marshal(b, m, deterministic) +} +func (m *NSResponse_QuotaResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_NSResponse_QuotaResponse.Merge(m, src) +} +func (m *NSResponse_QuotaResponse) XXX_Size() int { + return xxx_messageInfo_NSResponse_QuotaResponse.Size(m) +} +func (m *NSResponse_QuotaResponse) XXX_DiscardUnknown() { + xxx_messageInfo_NSResponse_QuotaResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_NSResponse_QuotaResponse proto.InternalMessageInfo + +func (m *NSResponse_QuotaResponse) GetCode() int64 { + if m != nil { + return m.Code + } + return 0 +} + +func (m *NSResponse_QuotaResponse) GetMsg() string { + if m != nil { + return m.Msg + } + return "" +} + +func (m *NSResponse_QuotaResponse) GetQuotanode() []*QuotaProto { + if m != nil { + return m.Quotanode + } + return nil +} + +type NsStatRequest struct { + Authkey string `protobuf:"bytes,1,opt,name=authkey,proto3" json:"authkey,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NsStatRequest) Reset() { *m = NsStatRequest{} } +func (m *NsStatRequest) String() string { return proto.CompactTextString(m) } +func (*NsStatRequest) ProtoMessage() {} +func (*NsStatRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{22} +} + +func (m *NsStatRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NsStatRequest.Unmarshal(m, b) +} +func (m *NsStatRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NsStatRequest.Marshal(b, m, deterministic) +} +func (m *NsStatRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NsStatRequest.Merge(m, src) +} +func (m *NsStatRequest) XXX_Size() int { + return xxx_messageInfo_NsStatRequest.Size(m) +} +func (m *NsStatRequest) XXX_DiscardUnknown() { + xxx_messageInfo_NsStatRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_NsStatRequest proto.InternalMessageInfo + +func (m *NsStatRequest) GetAuthkey() string { + if m != nil { + return m.Authkey + } + return "" +} + +type NsStatResponse struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NsStatResponse) Reset() { *m = NsStatResponse{} } +func (m *NsStatResponse) String() string { return proto.CompactTextString(m) } +func (*NsStatResponse) ProtoMessage() {} +func (*NsStatResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{23} +} + +func (m *NsStatResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NsStatResponse.Unmarshal(m, b) +} +func (m *NsStatResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NsStatResponse.Marshal(b, m, deterministic) +} +func (m *NsStatResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_NsStatResponse.Merge(m, src) +} +func (m *NsStatResponse) XXX_Size() int { + return xxx_messageInfo_NsStatResponse.Size(m) +} +func (m *NsStatResponse) XXX_DiscardUnknown() { + xxx_messageInfo_NsStatResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_NsStatResponse proto.InternalMessageInfo + +func (m *NsStatResponse) GetCode() int64 { + if m != nil { + return m.Code + } + return 0 +} + +func (m *NsStatResponse) GetEmsg() string { + if m != nil { + return m.Emsg + } + return "" +} + +func (m *NsStatResponse) GetState() string { + if m != nil { + return m.State + } + return "" +} + +func (m *NsStatResponse) GetNfiles() uint64 { + if m != nil { + return m.Nfiles + } + return 0 +} + +func (m *NsStatResponse) GetNcontainers() uint64 { + if m != nil { + return m.Ncontainers + } + return 0 +} + +func (m *NsStatResponse) GetBootTime() uint64 { + if m != nil { + return m.BootTime + } + return 0 +} + +func (m *NsStatResponse) GetCurrentFid() uint64 { + if m != nil { + return m.CurrentFid + } + return 0 +} + +func (m *NsStatResponse) GetCurrentCid() uint64 { + if m != nil { + return m.CurrentCid + } + return 0 +} + +func (m *NsStatResponse) GetMemVirtual() uint64 { + if m != nil { + return m.MemVirtual + } + return 0 +} + +func (m *NsStatResponse) GetMemResident() uint64 { + if m != nil { + return m.MemResident + } + return 0 +} + +func (m *NsStatResponse) GetMemShare() uint64 { + if m != nil { + return m.MemShare + } + return 0 +} + +func (m *NsStatResponse) GetMemGrowth() uint64 { + if m != nil { + return m.MemGrowth + } + return 0 +} + +func (m *NsStatResponse) GetThreads() uint64 { + if m != nil { + return m.Threads + } + return 0 +} + +func (m *NsStatResponse) GetFds() uint64 { + if m != nil { + return m.Fds + } + return 0 +} + +func (m *NsStatResponse) GetUptime() uint64 { + if m != nil { + return m.Uptime + } + return 0 +} + +type ManilaRequest struct { + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ManilaRequest) Reset() { *m = ManilaRequest{} } +func (m *ManilaRequest) String() string { return proto.CompactTextString(m) } +func (*ManilaRequest) ProtoMessage() {} +func (*ManilaRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{24} +} + +func (m *ManilaRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ManilaRequest.Unmarshal(m, b) +} +func (m *ManilaRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ManilaRequest.Marshal(b, m, deterministic) +} +func (m *ManilaRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ManilaRequest.Merge(m, src) +} +func (m *ManilaRequest) XXX_Size() int { + return xxx_messageInfo_ManilaRequest.Size(m) +} +func (m *ManilaRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ManilaRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ManilaRequest proto.InternalMessageInfo + +func (m *ManilaRequest) GetRequestType() MANILA_REQUEST_TYPE { + if m != nil { + return m.RequestType + } + return MANILA_REQUEST_TYPE_CREATE_SHARE +} + +func (m *ManilaRequest) GetAuthKey() string { + if m != nil { + return m.AuthKey + } + return "" +} + +func (m *ManilaRequest) GetProtocol() string { + if m != nil { + return m.Protocol + } + return "" +} + +func (m *ManilaRequest) GetShareName() string { + if m != nil { + return m.ShareName + } + return "" +} + +func (m *ManilaRequest) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *ManilaRequest) GetShareId() string { + if m != nil { + return m.ShareId + } + return "" +} + +func (m *ManilaRequest) GetShareGroupId() string { + if m != nil { + return m.ShareGroupId + } + return "" +} + +func (m *ManilaRequest) GetQuota() int32 { + if m != nil { + return m.Quota + } + return 0 +} + +func (m *ManilaRequest) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *ManilaRequest) GetEgroup() string { + if m != nil { + return m.Egroup + } + return "" +} + +func (m *ManilaRequest) GetAdminEgroup() string { + if m != nil { + return m.AdminEgroup + } + return "" +} + +func (m *ManilaRequest) GetShareHost() string { + if m != nil { + return m.ShareHost + } + return "" +} + +func (m *ManilaRequest) GetShareLocation() string { + if m != nil { + return m.ShareLocation + } + return "" +} + +type ManilaResponse struct { + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` + Code int32 `protobuf:"varint,2,opt,name=code,proto3" json:"code,omitempty"` + 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"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ManilaResponse) Reset() { *m = ManilaResponse{} } +func (m *ManilaResponse) String() string { return proto.CompactTextString(m) } +func (*ManilaResponse) ProtoMessage() {} +func (*ManilaResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_979aee4989bceb08, []int{25} +} + +func (m *ManilaResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ManilaResponse.Unmarshal(m, b) +} +func (m *ManilaResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ManilaResponse.Marshal(b, m, deterministic) +} +func (m *ManilaResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ManilaResponse.Merge(m, src) +} +func (m *ManilaResponse) XXX_Size() int { + return xxx_messageInfo_ManilaResponse.Size(m) +} +func (m *ManilaResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ManilaResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ManilaResponse proto.InternalMessageInfo + +func (m *ManilaResponse) GetMsg() string { + if m != nil { + return m.Msg + } + return "" +} + +func (m *ManilaResponse) GetCode() int32 { + if m != nil { + return m.Code + } + return 0 +} + +func (m *ManilaResponse) GetTotalUsed() int64 { + if m != nil { + return m.TotalUsed + } + return 0 +} + +func (m *ManilaResponse) GetTotalCapacity() int64 { + if m != nil { + return m.TotalCapacity + } + return 0 +} + +func (m *ManilaResponse) GetNewShareQuota() int64 { + if m != nil { + return m.NewShareQuota + } + return 0 +} + +func (m *ManilaResponse) GetNewSharePath() string { + if m != nil { + return m.NewSharePath + } + return "" +} + +func init() { + proto.RegisterEnum("eos.rpc.TYPE", TYPE_name, TYPE_value) + proto.RegisterEnum("eos.rpc.QUOTATYPE", QUOTATYPE_name, QUOTATYPE_value) + proto.RegisterEnum("eos.rpc.QUOTAOP", QUOTAOP_name, QUOTAOP_value) + proto.RegisterEnum("eos.rpc.QUOTAENTRY", QUOTAENTRY_name, QUOTAENTRY_value) + proto.RegisterEnum("eos.rpc.MANILA_REQUEST_TYPE", MANILA_REQUEST_TYPE_name, MANILA_REQUEST_TYPE_value) + proto.RegisterEnum("eos.rpc.NSRequest_VersionRequest_VERSION_CMD", NSRequest_VersionRequest_VERSION_CMD_name, NSRequest_VersionRequest_VERSION_CMD_value) + proto.RegisterEnum("eos.rpc.NSRequest_RecycleRequest_RECYCLE_CMD", NSRequest_RecycleRequest_RECYCLE_CMD_name, NSRequest_RecycleRequest_RECYCLE_CMD_value) + proto.RegisterEnum("eos.rpc.NSRequest_AclRequest_ACL_COMMAND", NSRequest_AclRequest_ACL_COMMAND_name, NSRequest_AclRequest_ACL_COMMAND_value) + proto.RegisterEnum("eos.rpc.NSRequest_AclRequest_ACL_TYPE", NSRequest_AclRequest_ACL_TYPE_name, NSRequest_AclRequest_ACL_TYPE_value) + proto.RegisterEnum("eos.rpc.NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE", NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_name, NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_value) + proto.RegisterType((*PingRequest)(nil), "eos.rpc.PingRequest") + proto.RegisterType((*PingReply)(nil), "eos.rpc.PingReply") + proto.RegisterType((*ContainerInsertRequest)(nil), "eos.rpc.ContainerInsertRequest") + proto.RegisterType((*FileInsertRequest)(nil), "eos.rpc.FileInsertRequest") + proto.RegisterType((*InsertReply)(nil), "eos.rpc.InsertReply") + proto.RegisterType((*Time)(nil), "eos.rpc.Time") + proto.RegisterType((*Checksum)(nil), "eos.rpc.Checksum") + proto.RegisterType((*FileMdProto)(nil), "eos.rpc.FileMdProto") + proto.RegisterMapType((map[string][]byte)(nil), "eos.rpc.FileMdProto.XattrsEntry") + proto.RegisterType((*ContainerMdProto)(nil), "eos.rpc.ContainerMdProto") + proto.RegisterMapType((map[string][]byte)(nil), "eos.rpc.ContainerMdProto.XattrsEntry") + proto.RegisterType((*QuotaProto)(nil), "eos.rpc.QuotaProto") + proto.RegisterType((*RoleId)(nil), "eos.rpc.RoleId") + proto.RegisterType((*MDId)(nil), "eos.rpc.MDId") + proto.RegisterType((*Limit)(nil), "eos.rpc.Limit") + proto.RegisterType((*MDSelection)(nil), "eos.rpc.MDSelection") + proto.RegisterMapType((map[string][]byte)(nil), "eos.rpc.MDSelection.XattrEntry") + proto.RegisterType((*MDRequest)(nil), "eos.rpc.MDRequest") + proto.RegisterType((*MDResponse)(nil), "eos.rpc.MDResponse") + proto.RegisterType((*FindRequest)(nil), "eos.rpc.FindRequest") + proto.RegisterType((*ShareAuth)(nil), "eos.rpc.ShareAuth") + proto.RegisterType((*ShareProto)(nil), "eos.rpc.ShareProto") + proto.RegisterType((*ShareToken)(nil), "eos.rpc.ShareToken") + proto.RegisterType((*NSRequest)(nil), "eos.rpc.NSRequest") + proto.RegisterType((*NSRequest_MkdirRequest)(nil), "eos.rpc.NSRequest.MkdirRequest") + proto.RegisterType((*NSRequest_RmdirRequest)(nil), "eos.rpc.NSRequest.RmdirRequest") + proto.RegisterType((*NSRequest_TouchRequest)(nil), "eos.rpc.NSRequest.TouchRequest") + proto.RegisterType((*NSRequest_UnlinkRequest)(nil), "eos.rpc.NSRequest.UnlinkRequest") + proto.RegisterType((*NSRequest_RmRequest)(nil), "eos.rpc.NSRequest.RmRequest") + proto.RegisterType((*NSRequest_RenameRequest)(nil), "eos.rpc.NSRequest.RenameRequest") + proto.RegisterType((*NSRequest_SymlinkRequest)(nil), "eos.rpc.NSRequest.SymlinkRequest") + proto.RegisterType((*NSRequest_VersionRequest)(nil), "eos.rpc.NSRequest.VersionRequest") + proto.RegisterType((*NSRequest_RecycleRequest)(nil), "eos.rpc.NSRequest.RecycleRequest") + proto.RegisterType((*NSRequest_RecycleRequest_RestoreFlags)(nil), "eos.rpc.NSRequest.RecycleRequest.RestoreFlags") + proto.RegisterType((*NSRequest_RecycleRequest_PurgeDate)(nil), "eos.rpc.NSRequest.RecycleRequest.PurgeDate") + proto.RegisterType((*NSRequest_SetXAttrRequest)(nil), "eos.rpc.NSRequest.SetXAttrRequest") + proto.RegisterMapType((map[string][]byte)(nil), "eos.rpc.NSRequest.SetXAttrRequest.XattrsEntry") + proto.RegisterType((*NSRequest_ChownRequest)(nil), "eos.rpc.NSRequest.ChownRequest") + proto.RegisterType((*NSRequest_ChmodRequest)(nil), "eos.rpc.NSRequest.ChmodRequest") + proto.RegisterType((*NSRequest_AclRequest)(nil), "eos.rpc.NSRequest.AclRequest") + proto.RegisterType((*NSRequest_TokenRequest)(nil), "eos.rpc.NSRequest.TokenRequest") + proto.RegisterType((*NSRequest_QuotaRequest)(nil), "eos.rpc.NSRequest.QuotaRequest") + proto.RegisterType((*NSResponse)(nil), "eos.rpc.NSResponse") + proto.RegisterType((*NSResponse_ErrorResponse)(nil), "eos.rpc.NSResponse.ErrorResponse") + proto.RegisterType((*NSResponse_VersionResponse)(nil), "eos.rpc.NSResponse.VersionResponse") + proto.RegisterType((*NSResponse_VersionResponse_VersionInfo)(nil), "eos.rpc.NSResponse.VersionResponse.VersionInfo") + proto.RegisterType((*NSResponse_RecycleResponse)(nil), "eos.rpc.NSResponse.RecycleResponse") + proto.RegisterType((*NSResponse_RecycleResponse_RecycleInfo)(nil), "eos.rpc.NSResponse.RecycleResponse.RecycleInfo") + proto.RegisterType((*NSResponse_AclResponse)(nil), "eos.rpc.NSResponse.AclResponse") + proto.RegisterType((*NSResponse_QuotaResponse)(nil), "eos.rpc.NSResponse.QuotaResponse") + proto.RegisterType((*NsStatRequest)(nil), "eos.rpc.NsStatRequest") + proto.RegisterType((*NsStatResponse)(nil), "eos.rpc.NsStatResponse") + proto.RegisterType((*ManilaRequest)(nil), "eos.rpc.ManilaRequest") + proto.RegisterType((*ManilaResponse)(nil), "eos.rpc.ManilaResponse") +} + +func init() { proto.RegisterFile("Rpc.proto", fileDescriptor_979aee4989bceb08) } + +var fileDescriptor_979aee4989bceb08 = []byte{ + // 3555 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x3a, 0x4d, 0x73, 0x1b, 0xc7, + 0x72, 0x5a, 0x2c, 0x00, 0x62, 0x1b, 0x00, 0x09, 0x8d, 0x14, 0x19, 0x86, 0x24, 0x8b, 0x5e, 0x59, + 0x8e, 0xa4, 0xf7, 0x44, 0x3f, 0x2b, 0x71, 0xec, 0x67, 0xc7, 0xe5, 0xc0, 0x24, 0x48, 0xe1, 0x99, + 0x04, 0xe9, 0x01, 0xe4, 0x92, 0x72, 0x41, 0xad, 0xb1, 0x23, 0x70, 0x4b, 0xd8, 0x5d, 0xbc, 0xdd, + 0x85, 0x44, 0xfa, 0x9c, 0x4b, 0xde, 0x2d, 0x55, 0xef, 0x96, 0xaa, 0x1c, 0x72, 0xc8, 0x25, 0xb9, + 0xe4, 0x9a, 0xd3, 0x3b, 0xa6, 0x72, 0x48, 0x2e, 0xa9, 0xca, 0x2d, 0x7f, 0x20, 0xe7, 0xdc, 0x53, + 0xdd, 0x33, 0xbb, 0x3b, 0x4b, 0x82, 0x04, 0x1d, 0xfb, 0x36, 0xdd, 0xd3, 0xdd, 0x33, 0xd3, 0xd3, + 0x5f, 0xf3, 0x01, 0x16, 0x9f, 0x4f, 0xb6, 0xe6, 0x51, 0x98, 0x84, 0x6c, 0x4d, 0x84, 0xf1, 0x56, + 0x34, 0x9f, 0xd8, 0x5d, 0xa8, 0x1f, 0x79, 0xc1, 0x94, 0x8b, 0xdf, 0x2e, 0x44, 0x9c, 0xb0, 0x36, + 0xac, 0x39, 0x8b, 0xe4, 0xf8, 0xb5, 0x38, 0x6d, 0x1b, 0x9b, 0xc6, 0x43, 0x8b, 0xa7, 0x20, 0xf6, + 0xf8, 0x22, 0x8e, 0x9d, 0xa9, 0x68, 0x97, 0x36, 0x8d, 0x87, 0x0d, 0x9e, 0x82, 0xf6, 0x03, 0xb0, + 0xa4, 0x88, 0xf9, 0xac, 0x40, 0x66, 0x14, 0xc9, 0x7e, 0x67, 0xc0, 0xad, 0xed, 0x30, 0x48, 0x1c, + 0x2f, 0x10, 0x51, 0x3f, 0x88, 0x45, 0x94, 0xa4, 0xa3, 0x7e, 0x0a, 0xd6, 0x24, 0xed, 0x69, 0x1b, + 0x9b, 0xe6, 0xc3, 0xfa, 0xd3, 0x77, 0xb7, 0xd4, 0x0c, 0xb7, 0x32, 0x9e, 0x03, 0xf7, 0x08, 0xe7, + 0xce, 0x73, 0x5a, 0x7d, 0xba, 0xa5, 0xe2, 0x74, 0xef, 0x02, 0x78, 0xc1, 0xb1, 0x88, 0xbc, 0x64, + 0xec, 0xbb, 0x6d, 0x73, 0xd3, 0x78, 0x58, 0xe3, 0x96, 0xc2, 0x1c, 0xb8, 0xf6, 0x4b, 0xb8, 0xbe, + 0xeb, 0xcd, 0x44, 0x71, 0x1a, 0x8f, 0xa1, 0xf2, 0xca, 0x9b, 0x89, 0x58, 0x4d, 0xe1, 0x66, 0x36, + 0x05, 0x24, 0x4d, 0x47, 0x97, 0x24, 0x17, 0x8f, 0x6c, 0x7f, 0x01, 0xf5, 0x54, 0xec, 0x39, 0x85, + 0x98, 0x48, 0xa8, 0x40, 0xc6, 0xa0, 0x1c, 0x89, 0x64, 0xd2, 0x2e, 0x6d, 0x9a, 0x0f, 0x9b, 0x9c, + 0xda, 0xf6, 0x13, 0x28, 0x8f, 0x3c, 0x5f, 0xb0, 0x16, 0x98, 0xb1, 0x98, 0x90, 0x0a, 0xcb, 0x1c, + 0x9b, 0xec, 0x06, 0x54, 0x82, 0x31, 0xe2, 0x4a, 0x84, 0x2b, 0x07, 0x43, 0x31, 0xb1, 0xff, 0x14, + 0x6a, 0xdb, 0xc7, 0x62, 0xf2, 0x3a, 0x5e, 0xf8, 0xec, 0x26, 0x54, 0xde, 0x38, 0xb3, 0x45, 0xaa, + 0x77, 0x09, 0xe0, 0x20, 0xc9, 0xe9, 0x5c, 0xa8, 0x49, 0x52, 0xdb, 0xfe, 0xe7, 0x32, 0xd4, 0xb5, + 0x25, 0xb1, 0x75, 0x28, 0x79, 0xae, 0x1a, 0xab, 0xe4, 0xb9, 0xec, 0x1d, 0x58, 0x43, 0x15, 0x8f, + 0x3d, 0x57, 0x0d, 0x56, 0x45, 0xb0, 0xef, 0xe2, 0xac, 0x16, 0x9e, 0xd4, 0x66, 0x99, 0x63, 0x13, + 0x31, 0x53, 0xcf, 0x6d, 0x97, 0x25, 0x66, 0xea, 0xb9, 0x38, 0x60, 0xec, 0xfd, 0x20, 0xda, 0x15, + 0x39, 0x4d, 0x6c, 0xb3, 0xdb, 0x60, 0xcd, 0x9c, 0xd3, 0x70, 0x41, 0x22, 0xab, 0x9b, 0xc6, 0xc3, + 0x26, 0xaf, 0x49, 0x44, 0xdf, 0xc5, 0x79, 0xbf, 0x9a, 0x39, 0xd3, 0xb8, 0xbd, 0x46, 0x1d, 0x12, + 0x40, 0x31, 0x81, 0xe3, 0x8b, 0x76, 0x8d, 0x16, 0x43, 0x6d, 0x12, 0xe3, 0x05, 0xaf, 0xc7, 0xd4, + 0x61, 0x51, 0x47, 0x0d, 0x11, 0x03, 0xec, 0xbc, 0x0f, 0x95, 0x49, 0xe2, 0xf9, 0xa2, 0x0d, 0x9b, + 0xc6, 0xc3, 0xfa, 0xd3, 0x66, 0xb6, 0x79, 0xa8, 0x4f, 0x2e, 0xfb, 0x90, 0xc8, 0x27, 0xa2, 0xfa, + 0x52, 0x22, 0xea, 0x63, 0x4f, 0xa0, 0x36, 0x51, 0x4a, 0x6d, 0x37, 0x88, 0xee, 0x7a, 0x6e, 0x8c, + 0xaa, 0x83, 0x67, 0x24, 0xec, 0x0e, 0x58, 0xb3, 0x70, 0xe2, 0x24, 0x5e, 0x18, 0xc4, 0xed, 0x26, + 0xed, 0x65, 0x8e, 0x60, 0x8f, 0xa0, 0xb5, 0x08, 0x68, 0xd6, 0x39, 0xd1, 0x3a, 0x11, 0x6d, 0x48, + 0xfc, 0x7e, 0x46, 0xfa, 0x19, 0x54, 0x4f, 0x9c, 0x24, 0x89, 0xe2, 0xf6, 0x06, 0xd9, 0xdf, 0xe6, + 0x32, 0xfb, 0xdb, 0x7a, 0x41, 0x24, 0xbd, 0x20, 0x89, 0x4e, 0xb9, 0xa2, 0x47, 0x65, 0xcd, 0x9d, + 0xe4, 0xb8, 0xdd, 0x92, 0xca, 0xc2, 0x36, 0xe2, 0x44, 0xe2, 0x4c, 0xdb, 0xd7, 0xe5, 0xc6, 0x63, + 0xbb, 0xf3, 0x6b, 0xa8, 0x6b, 0xec, 0xb8, 0x79, 0xb9, 0xa3, 0x63, 0x33, 0xb7, 0xa1, 0x92, 0x66, + 0x43, 0x9f, 0x97, 0x3e, 0x33, 0xec, 0xff, 0x30, 0xa1, 0x75, 0xd6, 0x13, 0xcf, 0x19, 0xce, 0x6d, + 0xb0, 0xe6, 0x4e, 0x24, 0x74, 0xd3, 0xa9, 0x49, 0xc4, 0x15, 0x8d, 0xe7, 0x36, 0x58, 0x49, 0x24, + 0xc4, 0x98, 0x2c, 0x08, 0x0d, 0xc5, 0xe4, 0x35, 0x44, 0x0c, 0xd1, 0x8a, 0x18, 0x94, 0xfd, 0xd0, + 0x95, 0x96, 0xd5, 0xe4, 0xd4, 0xfe, 0x11, 0xc6, 0x93, 0xd9, 0x87, 0x75, 0x15, 0xfb, 0x80, 0x4b, + 0xec, 0xe3, 0x3e, 0x54, 0xe2, 0x4b, 0x8c, 0x88, 0xfa, 0xd8, 0x97, 0xd9, 0x66, 0x36, 0x68, 0x33, + 0x1f, 0x5c, 0x18, 0xcf, 0x2e, 0xdd, 0xd1, 0xe6, 0x92, 0x1d, 0x5d, 0xff, 0x79, 0x76, 0xf4, 0xdf, + 0x4d, 0x80, 0x6f, 0x17, 0x61, 0xe2, 0xc8, 0xbd, 0x4c, 0x47, 0x34, 0x8a, 0x23, 0x92, 0x1e, 0x55, + 0xf0, 0x20, 0x3d, 0x7e, 0xa8, 0x02, 0x0a, 0xee, 0xe3, 0xfa, 0x53, 0x96, 0x2d, 0xeb, 0xdb, 0xe7, + 0x87, 0xa3, 0xee, 0xe8, 0xe5, 0x51, 0x4f, 0x06, 0x19, 0x74, 0x8b, 0x45, 0x2c, 0xdc, 0xef, 0x4f, + 0x13, 0x11, 0xab, 0x2d, 0xce, 0x11, 0xec, 0x31, 0xb4, 0x10, 0x98, 0x85, 0x53, 0x6f, 0xe2, 0xcc, + 0x24, 0x91, 0x8c, 0x18, 0xe7, 0xf0, 0xa9, 0x24, 0x19, 0x9a, 0xab, 0xb9, 0x24, 0x19, 0x88, 0x3b, + 0x50, 0xf3, 0x9d, 0x13, 0x29, 0x61, 0x4d, 0x9a, 0x5c, 0x0a, 0xb3, 0x87, 0xb0, 0xe1, 0x3b, 0x27, + 0x85, 0x41, 0x6a, 0x44, 0x72, 0x16, 0xad, 0xa4, 0xc8, 0x21, 0xac, 0x4c, 0x8a, 0x1c, 0xe1, 0x57, + 0x70, 0x63, 0x2e, 0xa2, 0x89, 0x08, 0x12, 0x67, 0x2a, 0xf2, 0x35, 0xa1, 0x89, 0x94, 0xf8, 0xb2, + 0xae, 0xf3, 0x1c, 0x52, 0x70, 0x7d, 0x19, 0x87, 0x1c, 0x63, 0x13, 0xea, 0x71, 0xe2, 0x24, 0x8b, + 0x58, 0xca, 0x6e, 0x90, 0xc2, 0x75, 0x54, 0x4e, 0x21, 0x65, 0x35, 0x75, 0x0a, 0x42, 0xd9, 0xaf, + 0xa0, 0xca, 0xc3, 0x99, 0xc8, 0x5d, 0xcd, 0x38, 0xe7, 0x6a, 0xa5, 0xdc, 0xd5, 0x3a, 0x50, 0x5b, + 0xc4, 0x22, 0xa2, 0xfd, 0x35, 0x49, 0x58, 0x06, 0xa3, 0xc6, 0xa7, 0x51, 0xb8, 0x98, 0x53, 0x67, + 0x99, 0x3a, 0x73, 0x84, 0x3d, 0x86, 0xf2, 0xc1, 0x4e, 0xdf, 0x5d, 0x6a, 0x31, 0x32, 0x22, 0xe0, + 0x30, 0x55, 0x8a, 0x08, 0x2d, 0x30, 0xbd, 0x20, 0xa4, 0x01, 0xaa, 0x1c, 0x9b, 0xec, 0x7d, 0x65, + 0x3f, 0x65, 0xb2, 0x1f, 0xcd, 0x79, 0x32, 0xd3, 0xb1, 0xbf, 0x82, 0xca, 0xbe, 0xe7, 0x7b, 0x09, + 0x8e, 0xf0, 0x83, 0x88, 0x42, 0x1a, 0xa1, 0xc6, 0xa9, 0x8d, 0x12, 0x7d, 0x2f, 0x48, 0x57, 0xe2, + 0x7b, 0x01, 0x61, 0x9c, 0x93, 0x34, 0xb0, 0xf8, 0xce, 0x89, 0xfd, 0x0f, 0x55, 0xa8, 0x1f, 0xec, + 0x0c, 0xc5, 0x4c, 0x4c, 0x30, 0xb4, 0xb2, 0x5b, 0x50, 0x8d, 0x09, 0x50, 0x92, 0x14, 0xc4, 0x3e, + 0x48, 0x63, 0x42, 0x89, 0x3c, 0x79, 0x3d, 0x9b, 0x0c, 0x0d, 0x9f, 0x06, 0x85, 0x0f, 0xd2, 0xa0, + 0x60, 0x2e, 0xa7, 0xf2, 0x53, 0x2a, 0x19, 0x15, 0xca, 0xcb, 0xa9, 0x64, 0x58, 0xb0, 0xb5, 0xec, + 0x78, 0x9e, 0x48, 0x66, 0xcb, 0xc7, 0x40, 0x31, 0x2f, 0x8b, 0x81, 0xe7, 0xe9, 0xb2, 0x7e, 0xa4, + 0x9d, 0x1c, 0x7b, 0x33, 0x37, 0x12, 0x01, 0x59, 0xff, 0x12, 0xda, 0xb4, 0x9f, 0xfd, 0x52, 0x4f, + 0x54, 0xb5, 0xa5, 0xc4, 0x5a, 0xe2, 0xfa, 0x12, 0x98, 0x4c, 0x50, 0xc2, 0xd5, 0x52, 0x97, 0xb5, + 0x94, 0xed, 0x7a, 0x4a, 0x99, 0x27, 0xb3, 0x0e, 0xa8, 0x0c, 0xef, 0xb9, 0xe4, 0x29, 0x65, 0x9e, + 0xc1, 0x79, 0xd0, 0xae, 0x53, 0x87, 0x0a, 0xda, 0x6d, 0x58, 0x8b, 0x4f, 0x7d, 0x94, 0x43, 0xe6, + 0x5f, 0xe3, 0x29, 0x58, 0x48, 0xc8, 0xcd, 0xd5, 0x09, 0xf9, 0x26, 0x54, 0xc2, 0xb7, 0x58, 0x49, + 0xae, 0xcb, 0x9c, 0x40, 0x00, 0x62, 0xc9, 0x84, 0xdb, 0x1b, 0x12, 0x4b, 0x00, 0x96, 0x89, 0xd4, + 0x3d, 0x8e, 0xc2, 0x30, 0xa1, 0xfc, 0x59, 0xe3, 0x16, 0x61, 0x78, 0x18, 0x26, 0xd8, 0x4d, 0x74, + 0xb2, 0xfb, 0xba, 0xec, 0x26, 0x0c, 0x75, 0xff, 0x31, 0x6c, 0x44, 0x62, 0x2a, 0x4e, 0xe6, 0x63, + 0xf4, 0x40, 0xf2, 0x16, 0x46, 0xce, 0xb0, 0x2e, 0xd1, 0xbb, 0x0a, 0xcb, 0x1e, 0x80, 0xc2, 0x8c, + 0x5d, 0x4f, 0xba, 0xdc, 0x0d, 0xa2, 0x6b, 0x4a, 0xec, 0x8e, 0x44, 0xb2, 0x4f, 0xa0, 0x42, 0xf1, + 0xbf, 0x7d, 0x93, 0x72, 0xc6, 0xbd, 0x6c, 0x95, 0x9a, 0x31, 0xcb, 0x74, 0x21, 0xb3, 0x85, 0xa4, + 0xee, 0x7c, 0x06, 0x90, 0x23, 0x7f, 0x54, 0x0e, 0xf8, 0x83, 0x01, 0xd6, 0xc1, 0x4e, 0x5a, 0xff, + 0xa6, 0xae, 0x69, 0x5c, 0xe8, 0x9a, 0xec, 0x6e, 0xe6, 0xdf, 0x7a, 0xe2, 0xc3, 0x70, 0x40, 0xee, + 0xae, 0x55, 0xc5, 0x66, 0xb1, 0x1e, 0xbf, 0x0f, 0xe5, 0x28, 0x9c, 0xa5, 0xde, 0xb1, 0x91, 0xb1, + 0xca, 0x88, 0xc5, 0xa9, 0x93, 0x3d, 0x05, 0x2b, 0x4e, 0xd7, 0xa9, 0x5c, 0xe4, 0xe6, 0x32, 0x1d, + 0xf0, 0x9c, 0xcc, 0xfe, 0x2b, 0x03, 0x00, 0x97, 0x10, 0xcf, 0xc3, 0x20, 0x16, 0x57, 0x59, 0xc3, + 0x87, 0x60, 0xbe, 0xf2, 0xd3, 0x45, 0x2c, 0x2f, 0xf2, 0x91, 0x80, 0xfd, 0x02, 0xcc, 0x89, 0x3a, + 0x3b, 0x5c, 0x7a, 0x1e, 0x41, 0x2a, 0xfb, 0xbf, 0x0d, 0xac, 0xa9, 0x03, 0xf7, 0xe7, 0xd3, 0x65, + 0xaa, 0x31, 0xf3, 0x32, 0x8d, 0x69, 0x0a, 0x2f, 0x17, 0x15, 0x2e, 0x33, 0x9a, 0x2b, 0xe6, 0xc9, + 0xb1, 0xca, 0xac, 0x19, 0x5c, 0xd4, 0x73, 0xf5, 0x6a, 0x7a, 0xde, 0x03, 0x6b, 0x78, 0xec, 0x44, + 0xa2, 0xbb, 0x90, 0x85, 0x01, 0x9e, 0x23, 0x95, 0x91, 0x51, 0x7b, 0x69, 0xb1, 0xc0, 0xa0, 0x7c, + 0x1c, 0xc6, 0x89, 0x32, 0x06, 0x6a, 0xdb, 0xbf, 0x2b, 0x01, 0x90, 0x24, 0x59, 0x77, 0xbc, 0x07, + 0x30, 0x17, 0x91, 0xef, 0xc5, 0x31, 0x4e, 0x46, 0x0a, 0xd4, 0x30, 0xb8, 0x42, 0x71, 0x32, 0xf7, + 0x22, 0x11, 0xab, 0x98, 0x9f, 0x82, 0xb9, 0x9f, 0x4b, 0xe9, 0x67, 0xfd, 0x5c, 0xea, 0x43, 0xf9, + 0xf9, 0x7b, 0x00, 0x53, 0x11, 0x88, 0xc8, 0xc9, 0x4c, 0xab, 0xcc, 0x35, 0x4c, 0x96, 0xcb, 0xaa, + 0x6a, 0x41, 0x98, 0xcb, 0xee, 0x80, 0xe5, 0xcc, 0x66, 0xe1, 0x5b, 0x0c, 0xb6, 0x14, 0x5c, 0x6b, + 0x3c, 0x47, 0x60, 0x4e, 0x79, 0x93, 0x84, 0xaf, 0x45, 0x40, 0xa1, 0xd4, 0xe2, 0x0a, 0x62, 0xbf, + 0x84, 0xb5, 0x30, 0xf2, 0xa6, 0x1e, 0x05, 0x4b, 0xf4, 0xe2, 0xbc, 0x44, 0xca, 0xf4, 0xc7, 0x53, + 0x12, 0xfb, 0xaf, 0x0d, 0xa5, 0x8c, 0x11, 0x31, 0x3f, 0x82, 0x8a, 0x94, 0x69, 0xd0, 0xa6, 0xdc, + 0x28, 0xb2, 0xaa, 0x03, 0xa8, 0x1c, 0xe7, 0x0e, 0x58, 0xb1, 0x37, 0x0d, 0x9c, 0x64, 0x11, 0xa5, + 0x8e, 0x9d, 0x23, 0x70, 0xbd, 0xb1, 0x88, 0x3c, 0x67, 0xe6, 0xfd, 0x20, 0xa4, 0x09, 0x37, 0xb8, + 0x86, 0xa1, 0x53, 0x9a, 0x10, 0xb2, 0xf6, 0xae, 0x70, 0x6a, 0xdb, 0x7f, 0xd7, 0x06, 0x6b, 0x30, + 0x5c, 0x7d, 0x13, 0x90, 0x1a, 0x66, 0xe9, 0x32, 0xc3, 0xfc, 0x14, 0x2a, 0xfe, 0x6b, 0xd7, 0x8b, + 0xda, 0x7f, 0x44, 0x54, 0x79, 0x28, 0xcb, 0x46, 0xd8, 0x3a, 0xc0, 0x7e, 0x05, 0x3c, 0xbb, 0xc6, + 0x25, 0x3d, 0x32, 0x46, 0x3e, 0x32, 0xde, 0xba, 0x90, 0x91, 0xfb, 0x45, 0x46, 0xa2, 0x47, 0xc6, + 0x24, 0x5c, 0x4c, 0x8e, 0xdb, 0xef, 0x5c, 0xc8, 0x38, 0xc2, 0x7e, 0x8d, 0x91, 0xe8, 0xd9, 0xe7, + 0x50, 0x95, 0xf9, 0xab, 0xdd, 0x26, 0xce, 0xcd, 0x25, 0x9c, 0xcf, 0x89, 0x20, 0x67, 0x55, 0x1c, + 0x6c, 0x0b, 0x4a, 0x91, 0xdf, 0x7e, 0x97, 0xf8, 0xee, 0x2c, 0x9d, 0x6a, 0xce, 0x53, 0x8a, 0x7c, + 0x1c, 0x2b, 0x92, 0x89, 0xa2, 0x73, 0xe1, 0x58, 0x9c, 0x08, 0xb4, 0xb1, 0x24, 0x07, 0xfb, 0x32, + 0x4f, 0x90, 0xb7, 0x89, 0xf9, 0xfd, 0x25, 0xcc, 0x43, 0x49, 0x91, 0x73, 0x67, 0x59, 0xf4, 0x4b, + 0x58, 0x7b, 0x23, 0x22, 0xf2, 0xb2, 0x3b, 0x17, 0xb2, 0x7f, 0x27, 0x29, 0x34, 0x76, 0xc5, 0x83, + 0xec, 0x91, 0x98, 0x9c, 0x4e, 0x66, 0xa2, 0x7d, 0xf7, 0x42, 0x76, 0x2e, 0x29, 0x34, 0x76, 0xc5, + 0xc3, 0x3e, 0x4f, 0x53, 0xdb, 0x7b, 0xc4, 0x6c, 0x2f, 0x9b, 0xba, 0x48, 0x5e, 0x74, 0x93, 0x44, + 0xdf, 0x59, 0x62, 0xc1, 0x9d, 0x9d, 0x1c, 0x87, 0x6f, 0x83, 0xf6, 0xbd, 0x0b, 0x77, 0x76, 0x1b, + 0xfb, 0x35, 0x46, 0xa2, 0x97, 0x8c, 0x7e, 0xe8, 0xb6, 0x37, 0x2f, 0x61, 0xf4, 0x43, 0xb7, 0xc0, + 0xe8, 0x87, 0x2e, 0xfb, 0x18, 0x4c, 0x67, 0x32, 0x6b, 0xbf, 0x4f, 0x6c, 0x77, 0x97, 0xb0, 0x75, + 0x27, 0xb3, 0x9c, 0x09, 0x69, 0xa5, 0xf9, 0xa1, 0xeb, 0xda, 0x97, 0x98, 0xdf, 0x6b, 0x11, 0x14, + 0xcc, 0x0f, 0x1d, 0xf9, 0x53, 0xa8, 0xfc, 0x16, 0x8f, 0x61, 0xed, 0xfb, 0x17, 0x32, 0xd2, 0x31, + 0x4d, 0x63, 0x24, 0xfa, 0xce, 0x18, 0x1a, 0xba, 0x0b, 0xa9, 0x7c, 0x62, 0x5c, 0x94, 0x4f, 0xee, + 0x80, 0x15, 0x89, 0xc9, 0x22, 0x8a, 0xbd, 0x37, 0xd2, 0x77, 0x6b, 0x3c, 0x47, 0x64, 0x87, 0x6b, + 0x93, 0x0e, 0xdd, 0xd4, 0xee, 0x3c, 0x81, 0x86, 0xee, 0x6a, 0x2b, 0x06, 0x40, 0x72, 0xdd, 0xc1, + 0x56, 0x91, 0xef, 0x43, 0xb3, 0xe0, 0x55, 0x57, 0x98, 0x7f, 0x10, 0xa6, 0x26, 0xa8, 0x2e, 0xf4, + 0x32, 0x44, 0xe7, 0x15, 0x58, 0x99, 0xaf, 0xfd, 0x34, 0x4d, 0x5c, 0x3e, 0xce, 0x2e, 0x34, 0x0b, + 0xfe, 0xb9, 0x6a, 0xac, 0x5b, 0x50, 0x4d, 0x9c, 0x68, 0x2a, 0x12, 0x15, 0xa3, 0x15, 0xd4, 0xd9, + 0x83, 0xf5, 0xa2, 0xab, 0xfe, 0x7f, 0x05, 0xfd, 0xc1, 0x80, 0xf5, 0xa2, 0xd7, 0xae, 0x92, 0xf4, + 0x95, 0xac, 0x6b, 0x4a, 0x54, 0x99, 0x3c, 0x59, 0x19, 0x04, 0xb6, 0xbe, 0xeb, 0xf1, 0x61, 0xff, + 0x70, 0x30, 0xde, 0x3e, 0xd8, 0xa1, 0x5a, 0x07, 0x93, 0x8b, 0xef, 0x9c, 0xa4, 0xc1, 0xc4, 0xa4, + 0x14, 0xa2, 0x61, 0xec, 0x2d, 0xa8, 0x6b, 0x3c, 0x0c, 0xa0, 0xba, 0xcd, 0x7b, 0xdd, 0x51, 0xaf, + 0x75, 0x8d, 0x59, 0x50, 0x39, 0x7a, 0xce, 0xf7, 0x7a, 0x2d, 0x83, 0xd5, 0xa0, 0xbc, 0xdf, 0x1f, + 0x8e, 0x5a, 0xa5, 0xce, 0x7f, 0x9a, 0xb0, 0x5e, 0x8c, 0x1c, 0x4b, 0x8a, 0xd8, 0x95, 0xb3, 0x2e, + 0x4a, 0xd8, 0xe2, 0xbd, 0xed, 0x97, 0xdb, 0xfb, 0xbd, 0x7c, 0xd6, 0x47, 0x50, 0x8f, 0x44, 0x9c, + 0x84, 0x91, 0xc0, 0xf3, 0x86, 0x2a, 0xab, 0xb6, 0xae, 0x20, 0x48, 0x32, 0xed, 0xe2, 0x21, 0x85, + 0xeb, 0x22, 0x58, 0x1f, 0xac, 0xf9, 0x22, 0x9a, 0x0a, 0xd7, 0x49, 0xd2, 0xc2, 0xf6, 0x17, 0xab, + 0xe5, 0x1d, 0x21, 0xcb, 0x8e, 0x93, 0x08, 0x9e, 0x73, 0x77, 0x5e, 0x40, 0x43, 0x1f, 0x87, 0x8e, + 0x48, 0x61, 0x34, 0x11, 0xea, 0xc0, 0x2a, 0x01, 0xb4, 0x01, 0xff, 0x35, 0xd5, 0x29, 0xd2, 0x6a, + 0x15, 0x84, 0xb5, 0x9e, 0xd2, 0x7d, 0xac, 0x2c, 0x36, 0x83, 0x3b, 0x7b, 0x60, 0x65, 0x23, 0xa2, + 0x97, 0x9f, 0x0a, 0x27, 0x22, 0xa9, 0x15, 0x4e, 0x6d, 0x1c, 0xca, 0x0f, 0x03, 0x25, 0xb3, 0xc2, + 0x25, 0x80, 0x1b, 0xe0, 0x3a, 0xa7, 0x6a, 0x73, 0xb1, 0x69, 0x7f, 0x04, 0x75, 0x4d, 0xa7, 0xac, + 0x0e, 0x6b, 0xbc, 0x37, 0x1c, 0x1d, 0xf2, 0x0b, 0xb7, 0xf5, 0x7f, 0x0d, 0xd8, 0x38, 0x13, 0xd3, + 0x57, 0x99, 0xe6, 0x6e, 0x76, 0x6b, 0x56, 0xa2, 0xda, 0x69, 0x6b, 0x75, 0x9a, 0x58, 0x7a, 0x7d, + 0x56, 0xf0, 0x70, 0xf3, 0xac, 0x87, 0xdb, 0xd0, 0x78, 0x2d, 0x4e, 0xe3, 0x24, 0x74, 0xc5, 0x4c, + 0xd0, 0xd6, 0x99, 0x0f, 0x2d, 0x5e, 0xc0, 0xfd, 0x84, 0x8b, 0xb5, 0xce, 0x08, 0x1a, 0x7a, 0x3a, + 0x5a, 0xb5, 0xe6, 0x07, 0x69, 0x19, 0x7b, 0x41, 0x3d, 0x25, 0x7b, 0x3b, 0x5d, 0x94, 0x9a, 0xe7, + 0xaa, 0x55, 0x52, 0xd3, 0x78, 0x5e, 0xd2, 0xe2, 0xf9, 0x3f, 0x95, 0x00, 0xf2, 0xc4, 0xb5, 0x4a, + 0xc2, 0x17, 0xba, 0xc3, 0x3d, 0xba, 0x34, 0x07, 0x6e, 0x75, 0xb7, 0xf7, 0xc7, 0xdb, 0x87, 0x07, + 0x07, 0xdd, 0x81, 0x72, 0xb6, 0xcb, 0x37, 0xe0, 0xf3, 0xc2, 0x1d, 0xd0, 0x87, 0xab, 0x65, 0x6b, + 0xa7, 0x26, 0x06, 0xe5, 0x68, 0x31, 0x93, 0x37, 0x28, 0x16, 0xa7, 0xb6, 0xfd, 0x04, 0xea, 0xda, + 0x0c, 0xd0, 0x04, 0x07, 0x87, 0x03, 0xb4, 0x4b, 0x80, 0xea, 0xc1, 0xe1, 0x4e, 0x7f, 0xf7, 0xa5, + 0x6e, 0x98, 0xf6, 0x03, 0xa8, 0xa5, 0x42, 0x59, 0x03, 0x6a, 0xcf, 0x87, 0x3d, 0x3e, 0xee, 0x6e, + 0xef, 0xb7, 0xae, 0xa1, 0x51, 0x0f, 0x5f, 0x0e, 0x09, 0x30, 0x3a, 0xbf, 0xc6, 0x7c, 0x96, 0x67, + 0xec, 0x15, 0xc5, 0xb9, 0x24, 0x95, 0x14, 0x9d, 0x7f, 0x35, 0xa0, 0xa1, 0x27, 0xed, 0xa5, 0x77, + 0x65, 0xf7, 0xb4, 0xf3, 0xdf, 0xb9, 0x5d, 0xc7, 0x1d, 0xd8, 0x84, 0x52, 0x38, 0x57, 0x17, 0xad, + 0xad, 0xe2, 0x45, 0xeb, 0xe1, 0x11, 0x2f, 0x85, 0xf3, 0xc2, 0xb5, 0x65, 0xf9, 0xcc, 0xb5, 0xa5, + 0x7e, 0x31, 0x5a, 0x39, 0x73, 0x31, 0xfa, 0x08, 0x2a, 0x02, 0xed, 0x9a, 0xce, 0x3b, 0xeb, 0xda, + 0x52, 0x48, 0x78, 0x6f, 0x30, 0xe2, 0x2f, 0xb9, 0xa4, 0xf8, 0xda, 0x82, 0xb5, 0x49, 0xe8, 0xfb, + 0x4e, 0xe0, 0xda, 0x7f, 0x63, 0x01, 0xe0, 0x16, 0xa9, 0xa3, 0xf6, 0xa7, 0x50, 0x11, 0x51, 0x14, + 0x46, 0x4a, 0x1f, 0xc5, 0x7a, 0x50, 0xd2, 0x6c, 0xf5, 0x90, 0x20, 0x85, 0xb8, 0xa4, 0xd7, 0x2b, + 0x51, 0xb9, 0xfa, 0xfb, 0xcb, 0x58, 0xb3, 0x2c, 0xa4, 0x98, 0x97, 0x55, 0xa2, 0xe6, 0xc5, 0xec, + 0x59, 0xd4, 0x4d, 0xd9, 0xd3, 0x4a, 0x54, 0xd5, 0x76, 0xe5, 0x25, 0xd5, 0x96, 0x62, 0x25, 0xe3, + 0x53, 0x6c, 0x69, 0x6d, 0x27, 0x4b, 0xb4, 0xca, 0xc5, 0x2b, 0x55, 0xdb, 0x9d, 0xae, 0x54, 0x96, + 0x68, 0x9f, 0x40, 0xb3, 0xa0, 0x01, 0xb4, 0x83, 0x09, 0xba, 0xa5, 0x21, 0xdd, 0x12, 0xdb, 0x74, + 0x7f, 0x19, 0x4f, 0xd5, 0xb9, 0x19, 0x9b, 0x9d, 0xff, 0x32, 0x60, 0xe3, 0xcc, 0xf2, 0xaf, 0xc6, + 0xc9, 0xbe, 0x29, 0x64, 0x02, 0x0c, 0xa1, 0x1f, 0x5d, 0x41, 0xb7, 0x29, 0xdc, 0x0f, 0x5e, 0x85, + 0x5a, 0xea, 0xf8, 0x16, 0xea, 0x5a, 0xc7, 0xaa, 0x78, 0x91, 0xbd, 0x9d, 0x94, 0x2e, 0x7e, 0x3b, + 0xe9, 0xfc, 0xad, 0x09, 0x1b, 0x67, 0x76, 0xe6, 0xea, 0x2b, 0x53, 0x3b, 0x78, 0xe9, 0xca, 0xce, + 0x08, 0x4f, 0x61, 0xb9, 0xb2, 0x54, 0x40, 0xe7, 0xf7, 0x25, 0xa8, 0x6b, 0x3d, 0x3f, 0x4f, 0x88, + 0x46, 0x0d, 0xb8, 0xda, 0x45, 0xf1, 0x59, 0x0d, 0x50, 0x5f, 0xf6, 0x3e, 0x5a, 0xd6, 0xde, 0x47, + 0x8f, 0x54, 0x3c, 0xac, 0x90, 0x37, 0xfe, 0xf9, 0x8f, 0x5c, 0xd7, 0xd6, 0x4e, 0x6f, 0xbf, 0x37, + 0xea, 0x1f, 0x0e, 0xb4, 0x28, 0xa9, 0xf2, 0x55, 0x35, 0xcb, 0x57, 0xb6, 0x0d, 0x0d, 0x9d, 0x0e, + 0xc3, 0xe1, 0x6e, 0x7f, 0x1f, 0x83, 0x64, 0x0d, 0xca, 0x23, 0xde, 0xeb, 0xb5, 0x8c, 0xce, 0x1e, + 0xd4, 0x35, 0xdb, 0xbf, 0xe2, 0xc6, 0xa4, 0x01, 0xd9, 0xcc, 0x03, 0x72, 0xe7, 0x18, 0x9a, 0x05, + 0x7f, 0xb8, 0xa2, 0xa8, 0x8f, 0xc1, 0x22, 0xbf, 0x09, 0xe4, 0x49, 0xc4, 0x2c, 0x44, 0xd9, 0xfc, + 0xad, 0x8a, 0xe7, 0x54, 0xf6, 0x23, 0x68, 0x0e, 0xe2, 0x61, 0xe2, 0x24, 0x2b, 0xef, 0x2d, 0xec, + 0x7f, 0x34, 0x61, 0x3d, 0xa5, 0xbd, 0x64, 0x5a, 0x0c, 0xca, 0x22, 0x9f, 0x17, 0xb5, 0x31, 0xd9, + 0xc7, 0x09, 0x56, 0x79, 0xea, 0xaa, 0x89, 0x00, 0x2c, 0xc7, 0x02, 0x3d, 0xf6, 0x2a, 0x88, 0x6d, + 0x42, 0x3d, 0xc8, 0xfe, 0x28, 0xa4, 0xc1, 0x57, 0x47, 0xb1, 0xdb, 0x60, 0x7d, 0x1f, 0x86, 0xc9, + 0x98, 0xac, 0x45, 0x3e, 0x69, 0xd5, 0x10, 0x41, 0x6f, 0xff, 0xf7, 0xa0, 0x3e, 0x59, 0x44, 0xf4, + 0x8c, 0xfa, 0xca, 0x73, 0xd5, 0xa3, 0x16, 0x28, 0xd4, 0xae, 0xe7, 0xea, 0x04, 0x13, 0xcf, 0x55, + 0x4f, 0x5a, 0x29, 0xc1, 0xb6, 0x24, 0xf0, 0x85, 0x3f, 0x7e, 0xe3, 0x45, 0xc9, 0xc2, 0x99, 0xa9, + 0x07, 0x2d, 0xf0, 0x85, 0xff, 0x9d, 0xc4, 0xb0, 0xf7, 0xa1, 0x81, 0x04, 0x91, 0x88, 0x3d, 0x57, + 0x04, 0x89, 0xba, 0xa1, 0x47, 0x26, 0xae, 0x50, 0x38, 0x45, 0x24, 0x89, 0x31, 0xb7, 0xa9, 0x8b, + 0xfa, 0x9a, 0x2f, 0x7c, 0xca, 0x75, 0xec, 0x2e, 0xa0, 0xb4, 0xf1, 0x34, 0x0a, 0xdf, 0x26, 0xc7, + 0x74, 0x5d, 0x5f, 0xe6, 0x48, 0xbe, 0x47, 0x08, 0xdc, 0x83, 0xe4, 0x38, 0x12, 0x8e, 0x2b, 0xdf, + 0xa9, 0xca, 0x3c, 0x05, 0x71, 0xcf, 0x5f, 0xb9, 0x31, 0xdd, 0xcc, 0x97, 0x39, 0x36, 0x51, 0x89, + 0x8b, 0x39, 0xe9, 0x61, 0x43, 0x2a, 0x51, 0x42, 0xf6, 0xbf, 0x98, 0xd0, 0x3c, 0x70, 0x02, 0x6f, + 0x96, 0xe5, 0xd0, 0xaf, 0xa0, 0x11, 0xc9, 0xe6, 0x58, 0xbb, 0x5a, 0xcd, 0x6f, 0x5d, 0x0e, 0xba, + 0x83, 0xfe, 0x7e, 0x77, 0xcc, 0x7b, 0xdf, 0x3e, 0xef, 0x0d, 0x47, 0xb2, 0x66, 0xa8, 0x2b, 0x8e, + 0x11, 0x3a, 0xc5, 0xbb, 0x50, 0x43, 0x5b, 0x18, 0x9f, 0xf9, 0xb4, 0xf1, 0x8d, 0xbc, 0x2d, 0xa5, + 0x8f, 0x31, 0x93, 0x70, 0x96, 0xbe, 0x86, 0xa5, 0x30, 0x2e, 0x96, 0xb4, 0x30, 0xd6, 0x9f, 0xc3, + 0x08, 0x43, 0x1f, 0x0f, 0x36, 0xa1, 0xee, 0x8a, 0x78, 0x12, 0x79, 0xf3, 0xec, 0x6e, 0xd1, 0xe2, + 0x3a, 0x0a, 0xc7, 0x95, 0x02, 0xd4, 0xef, 0x07, 0x8b, 0xaf, 0x11, 0xdc, 0x77, 0xd9, 0x07, 0xb0, + 0x2e, 0xbb, 0xe4, 0x33, 0x83, 0xda, 0x6e, 0x8b, 0x37, 0x08, 0xbb, 0x87, 0x48, 0xf9, 0x45, 0x42, + 0xe6, 0x9f, 0x9a, 0x2c, 0xd1, 0x09, 0x40, 0x2d, 0x4f, 0x22, 0xe1, 0x24, 0x61, 0x44, 0x3b, 0x6c, + 0xf1, 0x14, 0x44, 0x9d, 0x0a, 0x79, 0x09, 0x0a, 0xf2, 0x6e, 0x52, 0x42, 0xb8, 0xed, 0x8e, 0xeb, + 0x7b, 0xc1, 0x58, 0xf5, 0xd6, 0xe5, 0x5c, 0x09, 0xd7, 0xcb, 0x1e, 0x44, 0xe4, 0x84, 0xe8, 0xde, + 0xb6, 0xa1, 0x2d, 0xf6, 0x59, 0x18, 0x27, 0xec, 0x41, 0x3a, 0xdf, 0xf4, 0x49, 0x48, 0x3d, 0x44, + 0x36, 0x09, 0x9b, 0x3e, 0xff, 0xd8, 0xff, 0x66, 0xc0, 0x7a, 0xba, 0x79, 0xca, 0xd5, 0x94, 0xb7, + 0x1b, 0x85, 0xc0, 0x31, 0x49, 0x4b, 0xd4, 0x8a, 0x72, 0xbe, 0xbb, 0x00, 0x49, 0x98, 0x38, 0xb3, + 0xf1, 0x22, 0x56, 0xf7, 0x96, 0x26, 0xb7, 0x08, 0xf3, 0x3c, 0x16, 0x18, 0x88, 0xd7, 0x65, 0xf7, + 0xc4, 0x99, 0x3b, 0x13, 0x2f, 0x91, 0xb7, 0xde, 0x26, 0x6f, 0x12, 0x76, 0x5b, 0x21, 0xd9, 0x87, + 0xb0, 0x11, 0x88, 0xb7, 0xd2, 0x76, 0xc7, 0x79, 0xe6, 0x36, 0x79, 0x33, 0x10, 0x6f, 0xc9, 0x82, + 0x29, 0x98, 0xa0, 0xf6, 0x73, 0x3a, 0xed, 0xfe, 0xb7, 0x91, 0x92, 0x1d, 0x39, 0xc9, 0xf1, 0xe3, + 0x3f, 0x83, 0xf2, 0x99, 0x88, 0xd9, 0x04, 0x6b, 0xfb, 0x70, 0x30, 0xea, 0xf6, 0x07, 0x3d, 0xde, + 0x32, 0xb0, 0x6a, 0xc4, 0xca, 0xb2, 0x3f, 0xd8, 0x6b, 0x95, 0x90, 0x6a, 0x38, 0xea, 0x8e, 0x5a, + 0xe6, 0xe3, 0x27, 0x60, 0x65, 0x8f, 0xe2, 0x88, 0xc6, 0x3a, 0x53, 0x9e, 0x95, 0xf6, 0xf8, 0xe1, + 0xf3, 0xa3, 0x56, 0x09, 0x19, 0x8f, 0xf8, 0xe1, 0x6f, 0x7a, 0xdb, 0x48, 0xfe, 0x11, 0xac, 0xa9, + 0xd2, 0x8e, 0xad, 0x81, 0xb9, 0xd7, 0x1b, 0xb5, 0xae, 0x61, 0x63, 0xd8, 0x1b, 0xb5, 0x0c, 0x56, + 0x85, 0x12, 0x3f, 0x68, 0x95, 0xb0, 0xa0, 0xe5, 0x07, 0x83, 0xc3, 0x9d, 0x1e, 0xc9, 0x87, 0xbc, + 0x5c, 0x2b, 0x16, 0xbd, 0xdf, 0x1d, 0xee, 0x3f, 0x3f, 0xc0, 0xd3, 0x98, 0x05, 0x95, 0x3e, 0x91, + 0x97, 0x1e, 0xff, 0xde, 0x80, 0x1b, 0x4b, 0x5c, 0x84, 0xb5, 0xa0, 0x21, 0x8f, 0xe7, 0xe3, 0xe1, + 0xb3, 0x2e, 0x9d, 0xe6, 0x5a, 0x2a, 0x55, 0xa4, 0x18, 0x03, 0x31, 0xbd, 0x17, 0xa3, 0xde, 0x60, + 0x47, 0x61, 0x4a, 0x88, 0x19, 0x3e, 0xe3, 0xfd, 0xc1, 0x37, 0x0a, 0x63, 0xb2, 0x1b, 0xb0, 0x71, + 0xd0, 0x1d, 0x74, 0xf7, 0x7a, 0xe3, 0xde, 0x0b, 0xa5, 0x8d, 0x32, 0x95, 0xd7, 0x03, 0x89, 0x6e, + 0x55, 0x18, 0x83, 0xf5, 0xbd, 0xde, 0x68, 0xbc, 0xdd, 0x3d, 0xea, 0x6e, 0xf7, 0x47, 0xfd, 0xde, + 0xb0, 0x55, 0x7d, 0xfa, 0x3f, 0x26, 0x98, 0xbd, 0x30, 0x66, 0x4f, 0xa1, 0x7c, 0xe4, 0x05, 0x53, + 0x96, 0x3f, 0x44, 0x68, 0xff, 0xd2, 0x3a, 0xec, 0x0c, 0x76, 0x3e, 0x3b, 0xb5, 0xaf, 0xb1, 0x8f, + 0xa1, 0x74, 0xb0, 0xc3, 0x98, 0x96, 0xb0, 0x53, 0xfa, 0x1b, 0x05, 0x9c, 0x34, 0x41, 0xfb, 0xda, + 0xaf, 0x0c, 0xf6, 0x09, 0x94, 0x77, 0xbd, 0xc0, 0x65, 0xfa, 0xbb, 0x4f, 0xf6, 0x6a, 0x73, 0x31, + 0xdb, 0x17, 0x50, 0x95, 0xa9, 0x83, 0xdd, 0xca, 0xb3, 0xb3, 0x9e, 0x77, 0x3a, 0xef, 0x9c, 0xc3, + 0xa7, 0xec, 0xec, 0x37, 0xb0, 0x71, 0xe6, 0xe3, 0x1b, 0xbb, 0x77, 0xfe, 0x39, 0xa9, 0xf0, 0x17, + 0xad, 0x93, 0xcf, 0x4f, 0xfb, 0x4c, 0x66, 0x5f, 0x63, 0x7f, 0x01, 0x90, 0x7f, 0x5c, 0x63, 0x9d, + 0xc2, 0xeb, 0xd5, 0xd5, 0x24, 0x7c, 0x0c, 0xe5, 0xde, 0x89, 0x98, 0x68, 0x6a, 0xcb, 0x8e, 0x5d, + 0xda, 0xfa, 0xf3, 0xd2, 0xc3, 0xbe, 0xc6, 0x9e, 0xc1, 0x0d, 0xe9, 0xcd, 0x43, 0x11, 0xbd, 0x11, + 0xd9, 0x61, 0x3e, 0x57, 0x45, 0x21, 0x50, 0x6b, 0xaa, 0x28, 0xc6, 0x00, 0xfb, 0xda, 0xd7, 0x1f, + 0xc1, 0x86, 0x17, 0x6e, 0x4d, 0xb1, 0x4f, 0xd1, 0x7c, 0x5d, 0xeb, 0x85, 0x31, 0xa5, 0xf5, 0x23, + 0xe3, 0x2f, 0x61, 0xeb, 0x0b, 0x11, 0xc6, 0x63, 0xec, 0xff, 0xfb, 0x92, 0xd9, 0x3b, 0x1c, 0x7e, + 0x5f, 0xa5, 0x30, 0xfc, 0x27, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x4e, 0xb8, 0x3c, 0xd9, 0xbc, + 0x28, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// 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.ClientConn +} + +func NewEosClient(cc *grpc.ClientConn) 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(ctx context.Context, req *PingRequest) (*PingReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented") +} +func (*UnimplementedEosServer) MD(req *MDRequest, srv Eos_MDServer) error { + return status.Errorf(codes.Unimplemented, "method MD not implemented") +} +func (*UnimplementedEosServer) Find(req *FindRequest, srv Eos_FindServer) error { + return status.Errorf(codes.Unimplemented, "method Find not implemented") +} +func (*UnimplementedEosServer) NsStat(ctx context.Context, req *NsStatRequest) (*NsStatResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method NsStat not implemented") +} +func (*UnimplementedEosServer) ContainerInsert(ctx context.Context, req *ContainerInsertRequest) (*InsertReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method ContainerInsert not implemented") +} +func (*UnimplementedEosServer) FileInsert(ctx context.Context, req *FileInsertRequest) (*InsertReply, error) { + return nil, status.Errorf(codes.Unimplemented, "method FileInsert not implemented") +} +func (*UnimplementedEosServer) Exec(ctx context.Context, req *NSRequest) (*NSResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Exec not implemented") +} +func (*UnimplementedEosServer) ManilaServerRequest(ctx context.Context, req *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", +} + +// Fri Mar 12 13:49:00 UTC 2021 diff --git a/pkg/eosclient/eosgrpc/eos_grpc/eos_grpc.proto b/pkg/eosclient/eosgrpc/eos_grpc/Rpc.proto similarity index 85% rename from pkg/eosclient/eosgrpc/eos_grpc/eos_grpc.proto rename to pkg/eosclient/eosgrpc/eos_grpc/Rpc.proto index dc800cc490..15756cc4ae 100644 --- a/pkg/eosclient/eosgrpc/eos_grpc/eos_grpc.proto +++ b/pkg/eosclient/eosgrpc/eos_grpc/Rpc.proto @@ -14,9 +14,11 @@ // 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:. + syntax = "proto3"; package eos.rpc; @@ -25,17 +27,18 @@ option java_multiple_files = true; option java_package = "io.grpc.eos.rpc"; option java_outer_classname = "EosProto"; option objc_class_prefix = "EOS"; -option go_package = "eos_grpc"; +option go_package = ".;eos_grpc"; + service Eos { // Replies to a ping - rpc Ping (PingRequest) returns (PingReply) {} + rpc Ping (PingRequest) returns (PingReply) {} // --------------------------------------------------------------------- // NAMESPACE // --------------------------------------------------------------------- - // Replies to MD requests with a stream + // Replies to MD requests with a stream rpc MD (MDRequest) returns (stream MDResponse) {} // Replies to Find requests with a stream @@ -45,7 +48,7 @@ service Eos { rpc NsStat (NsStatRequest) returns (NsStatResponse) {} // Replies to an insert - rpc ContainerInsert (ContainerInsertRequest) returns (InsertReply) {} + rpc ContainerInsert (ContainerInsertRequest) returns (InsertReply) {} rpc FileInsert (FileInsertRequest) returns (InsertReply) {} // Replies to a NsRequest operation @@ -56,7 +59,7 @@ service Eos { // --------------------------------------------------------------------- // Manila Driver - rpc ManilaServerRequest (ManilaRequest) returns (ManilaResponse) {} + rpc ManilaServerRequest (ManilaRequest) returns (ManilaResponse) {} } message PingRequest { @@ -135,26 +138,30 @@ message ContainerMdProto { string etag = 14; } -enum TYPE { FILE = 0; CONTAINER = 1; LISTING = 2; STAT = 3;} +enum TYPE { FILE = 0; CONTAINER = 1; LISTING = 2; STAT = 3;} + +enum QUOTATYPE { USER = 0; GROUP = 2; PROJECT = 3;} -enum QUOTATYPE { USER = 0; GROUP = 2; PROJECT = 3; ALL = 4;} +enum QUOTAOP { GET = 0; SET = 1; RM = 2; RMNODE = 3;} -message QuotaProto { - bytes path = 1; // quota node path - string name = 2; // associated name for the given type - QUOTATYPE type = 3; // user,group,project or all quota - uint64 usedbytes = 4; // bytes used physical - uint64 usedlogicalbytes = 5; // bytes used logical - uint64 usedfiles = 6; // number of files used - uint64 maxbytes = 7; // maximum number of bytes (volume quota) - uint64 maxlogicalbytes = 8; // maximum number of logical bytes (logical volume quota) - uint64 maxfiles = 9; // maximum number of files (inode quota) +enum QUOTAENTRY { NONE = 0; VOLUME = 1; INODE = 2;} + +message QuotaProto { + bytes path = 1; // quota node path + string name = 2; // associated name for the given type + QUOTATYPE type = 3; // user,group,project or all quota + uint64 usedbytes = 4; // bytes used physical + uint64 usedlogicalbytes = 5; // bytes used logical + uint64 usedfiles = 6; // number of files used + uint64 maxbytes = 7; // maximum number of bytes (volume quota) + uint64 maxlogicalbytes = 8; // maximum number of logical bytes (logical volume quota) + uint64 maxfiles = 9; // maximum number of files (inode quota) float percentageusedbytes = 10; // percentage of volume quota used from 0 to 100 - float percentageusedfiles = 11; // percentage of inode quota used from 0 to 100 - string statusbytes = 12; // status string for volume quota ok,warning,exceeded - string statusfiles = 13; // status string for inode quota ok,warning,exceeded + float percentageusedfiles = 11; // percentag of inode quota used from 0 to 100 + string statusbytes = 12; // status string for volume quota ok,warning,exceeded + string statusfiles = 13; // status string for inode quota ok,warning,exceeded } - + message RoleId { uint64 uid = 1; uint64 gid = 2; @@ -215,7 +222,7 @@ message MDResponse { message FindRequest { TYPE type = 1; MDId id = 2; - RoleId role = 3; + RoleId role = 3; string authkey = 4; uint64 maxdepth = 5; MDSelection selection = 6; @@ -253,11 +260,11 @@ message NSRequest { bool recursive = 2; int64 mode = 3; } - + message RmdirRequest { MDId id = 1; } - + message TouchRequest { MDId id = 1; } @@ -295,7 +302,7 @@ message NSRequest { } message RecycleRequest { - string key = 1; + string key = 1; enum RECYCLE_CMD { RESTORE = 0; PURGE = 1; @@ -328,7 +335,7 @@ message NSRequest { message ChownRequest { MDId id = 1; - RoleId owner = 2; + RoleId owner = 2; } message ChmodRequest { @@ -362,6 +369,10 @@ message NSRequest { message QuotaRequest { bytes path = 1; RoleId id = 2; + QUOTAOP op = 3; // get or set, rm or rmnode + uint64 maxfiles = 4; // maximum number of bytes (volume quota) for setting + uint64 maxbytes = 5; // maximum number of bytes (volume quota) for setting + QUOTAENTRY entry = 6; // select volume or inode entry for deletion } string authkey = 1; @@ -391,7 +402,7 @@ message NSRequest { message NSResponse { message ErrorResponse { int64 code = 1; - string msg = 2; + string msg = 2; } message VersionResponse { @@ -400,14 +411,14 @@ message NSResponse { Time mtime = 2; } int64 code = 1; - string msg = 2; + string msg = 2; repeated VersionInfo versions = 3; } message RecycleResponse { int64 code = 1; - string msg = 2; - + string msg = 2; + message RecycleInfo { enum DELETIONTYPE { FILE = 0; TREE = 1; } MDId id = 1; @@ -416,20 +427,20 @@ message NSResponse { uint64 size = 4; DELETIONTYPE type = 5; string key = 6; - } - + } + repeated RecycleInfo recycles = 3; } message AclResponse { int64 code = 1; - string msg = 2; + string msg = 2; string rule = 3; } message QuotaResponse { - int64 code = 1; - string msg = 2; + int64 code = 1; + string msg = 2; repeated QuotaProto quotanode = 3; } @@ -511,7 +522,7 @@ message ManilaRequest { } message ManilaResponse { - string msg = 1; // for generic messages + string msg = 1; //for generic messages int32 code = 2; // < 1 is an error -- > 1 is OK int64 total_used = 3; int64 total_capacity = 4; @@ -519,3 +530,5 @@ message ManilaResponse { string new_share_path = 6; } + + diff --git a/pkg/eosclient/eosgrpc/eos_grpc/eos_grpc.pb.go b/pkg/eosclient/eosgrpc/eos_grpc/eos_grpc.pb.go deleted file mode 100644 index 73cb723725..0000000000 --- a/pkg/eosclient/eosgrpc/eos_grpc/eos_grpc.pb.go +++ /dev/null @@ -1,3685 +0,0 @@ -// Copyright 2018-2021 CERN -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// In applying this license, CERN does not waive the privileges and immunities -// granted to it by virtue of its status as an Intergovernmental Organization -// or submit itself to any jurisdiction. - -// Code generated by protoc-gen-go. DO NOT EDIT. -// source: eos_grpc.proto - -/* -Package eos_grpc is a generated protocol buffer package. - -It is generated from these files: - eos_grpc.proto - -It has these top-level messages: - PingRequest - PingReply - ContainerInsertRequest - FileInsertRequest - InsertReply - Time - Checksum - FileMdProto - ContainerMdProto - QuotaProto - RoleId - MDId - Limit - MDSelection - MDRequest - MDResponse - FindRequest - ShareAuth - ShareProto - ShareToken - NSRequest - NSResponse - NsStatRequest - NsStatResponse - ManilaRequest - ManilaResponse -*/ -package eos_grpc - -import ( - fmt "fmt" - - proto "github.com/golang/protobuf/proto" - - math "math" - - context "golang.org/x/net/context" - - grpc "google.golang.org/grpc" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package - -type TYPE int32 - -const ( - TYPE_FILE TYPE = 0 - TYPE_CONTAINER TYPE = 1 - TYPE_LISTING TYPE = 2 - TYPE_STAT TYPE = 3 -) - -var TYPE_name = map[int32]string{ - 0: "FILE", - 1: "CONTAINER", - 2: "LISTING", - 3: "STAT", -} -var TYPE_value = map[string]int32{ - "FILE": 0, - "CONTAINER": 1, - "LISTING": 2, - "STAT": 3, -} - -func (x TYPE) String() string { - return proto.EnumName(TYPE_name, int32(x)) -} -func (TYPE) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } - -type QUOTATYPE int32 - -const ( - QUOTATYPE_USER QUOTATYPE = 0 - QUOTATYPE_GROUP QUOTATYPE = 2 - QUOTATYPE_PROJECT QUOTATYPE = 3 - QUOTATYPE_ALL QUOTATYPE = 4 -) - -var QUOTATYPE_name = map[int32]string{ - 0: "USER", - 2: "GROUP", - 3: "PROJECT", - 4: "ALL", -} -var QUOTATYPE_value = map[string]int32{ - "USER": 0, - "GROUP": 2, - "PROJECT": 3, - "ALL": 4, -} - -func (x QUOTATYPE) String() string { - return proto.EnumName(QUOTATYPE_name, int32(x)) -} -func (QUOTATYPE) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []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 -) - -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", -} -var 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) String() string { - return proto.EnumName(MANILA_REQUEST_TYPE_name, int32(x)) -} -func (MANILA_REQUEST_TYPE) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []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 -) - -var NSRequest_VersionRequest_VERSION_CMD_name = map[int32]string{ - 0: "CREATE", - 1: "PURGE", - 2: "LIST", -} -var NSRequest_VersionRequest_VERSION_CMD_value = map[string]int32{ - "CREATE": 0, - "PURGE": 1, - "LIST": 2, -} - -func (x NSRequest_VersionRequest_VERSION_CMD) String() string { - return proto.EnumName(NSRequest_VersionRequest_VERSION_CMD_name, int32(x)) -} -func (NSRequest_VersionRequest_VERSION_CMD) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []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 -) - -var NSRequest_RecycleRequest_RECYCLE_CMD_name = map[int32]string{ - 0: "RESTORE", - 1: "PURGE", - 2: "LIST", -} -var NSRequest_RecycleRequest_RECYCLE_CMD_value = map[string]int32{ - "RESTORE": 0, - "PURGE": 1, - "LIST": 2, -} - -func (x NSRequest_RecycleRequest_RECYCLE_CMD) String() string { - return proto.EnumName(NSRequest_RecycleRequest_RECYCLE_CMD_name, int32(x)) -} -func (NSRequest_RecycleRequest_RECYCLE_CMD) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []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 -) - -var NSRequest_AclRequest_ACL_COMMAND_name = map[int32]string{ - 0: "NONE", - 1: "MODIFY", - 2: "LIST", -} -var NSRequest_AclRequest_ACL_COMMAND_value = map[string]int32{ - "NONE": 0, - "MODIFY": 1, - "LIST": 2, -} - -func (x NSRequest_AclRequest_ACL_COMMAND) String() string { - return proto.EnumName(NSRequest_AclRequest_ACL_COMMAND_name, int32(x)) -} -func (NSRequest_AclRequest_ACL_COMMAND) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []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 -) - -var NSRequest_AclRequest_ACL_TYPE_name = map[int32]string{ - 0: "USER_ACL", - 1: "SYS_ACL", -} -var NSRequest_AclRequest_ACL_TYPE_value = map[string]int32{ - "USER_ACL": 0, - "SYS_ACL": 1, -} - -func (x NSRequest_AclRequest_ACL_TYPE) String() string { - return proto.EnumName(NSRequest_AclRequest_ACL_TYPE_name, int32(x)) -} -func (NSRequest_AclRequest_ACL_TYPE) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []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 -) - -var NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_name = map[int32]string{ - 0: "FILE", - 1: "TREE", -} -var NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_value = map[string]int32{ - "FILE": 0, - "TREE": 1, -} - -func (x NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) String() string { - return proto.EnumName(NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_name, int32(x)) -} -func (NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []int{21, 2, 0, 0} -} - -type PingRequest struct { - Authkey string `protobuf:"bytes,1,opt,name=authkey" json:"authkey,omitempty"` - Message []byte `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` -} - -func (m *PingRequest) Reset() { *m = PingRequest{} } -func (m *PingRequest) String() string { return proto.CompactTextString(m) } -func (*PingRequest) ProtoMessage() {} -func (*PingRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } - -func (m *PingRequest) GetAuthkey() string { - if m != nil { - return m.Authkey - } - return "" -} - -func (m *PingRequest) GetMessage() []byte { - if m != nil { - return m.Message - } - return nil -} - -type PingReply struct { - Message []byte `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` -} - -func (m *PingReply) Reset() { *m = PingReply{} } -func (m *PingReply) String() string { return proto.CompactTextString(m) } -func (*PingReply) ProtoMessage() {} -func (*PingReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } - -func (m *PingReply) GetMessage() []byte { - if m != nil { - return m.Message - } - return nil -} - -type ContainerInsertRequest struct { - Container []*ContainerMdProto `protobuf:"bytes,1,rep,name=container" json:"container,omitempty"` - Authkey string `protobuf:"bytes,2,opt,name=authkey" json:"authkey,omitempty"` - InheritMd bool `protobuf:"varint,3,opt,name=inherit_md,json=inheritMd" json:"inherit_md,omitempty"` -} - -func (m *ContainerInsertRequest) Reset() { *m = ContainerInsertRequest{} } -func (m *ContainerInsertRequest) String() string { return proto.CompactTextString(m) } -func (*ContainerInsertRequest) ProtoMessage() {} -func (*ContainerInsertRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } - -func (m *ContainerInsertRequest) GetContainer() []*ContainerMdProto { - if m != nil { - return m.Container - } - return nil -} - -func (m *ContainerInsertRequest) GetAuthkey() string { - if m != nil { - return m.Authkey - } - return "" -} - -func (m *ContainerInsertRequest) GetInheritMd() bool { - if m != nil { - return m.InheritMd - } - return false -} - -type FileInsertRequest struct { - Files []*FileMdProto `protobuf:"bytes,1,rep,name=files" json:"files,omitempty"` - Authkey string `protobuf:"bytes,2,opt,name=authkey" json:"authkey,omitempty"` -} - -func (m *FileInsertRequest) Reset() { *m = FileInsertRequest{} } -func (m *FileInsertRequest) String() string { return proto.CompactTextString(m) } -func (*FileInsertRequest) ProtoMessage() {} -func (*FileInsertRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } - -func (m *FileInsertRequest) GetFiles() []*FileMdProto { - if m != nil { - return m.Files - } - return nil -} - -func (m *FileInsertRequest) GetAuthkey() string { - if m != nil { - return m.Authkey - } - return "" -} - -type InsertReply struct { - Message []string `protobuf:"bytes,1,rep,name=message" json:"message,omitempty"` - Retc []uint32 `protobuf:"varint,2,rep,packed,name=retc" json:"retc,omitempty"` -} - -func (m *InsertReply) Reset() { *m = InsertReply{} } -func (m *InsertReply) String() string { return proto.CompactTextString(m) } -func (*InsertReply) ProtoMessage() {} -func (*InsertReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } - -func (m *InsertReply) GetMessage() []string { - if m != nil { - return m.Message - } - return nil -} - -func (m *InsertReply) GetRetc() []uint32 { - if m != nil { - return m.Retc - } - return nil -} - -type Time struct { - Sec uint64 `protobuf:"varint,1,opt,name=sec" json:"sec,omitempty"` - NSec uint64 `protobuf:"varint,2,opt,name=n_sec,json=nSec" json:"n_sec,omitempty"` -} - -func (m *Time) Reset() { *m = Time{} } -func (m *Time) String() string { return proto.CompactTextString(m) } -func (*Time) ProtoMessage() {} -func (*Time) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } - -func (m *Time) GetSec() uint64 { - if m != nil { - return m.Sec - } - return 0 -} - -func (m *Time) GetNSec() uint64 { - if m != nil { - return m.NSec - } - return 0 -} - -type Checksum struct { - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` - Type string `protobuf:"bytes,2,opt,name=type" json:"type,omitempty"` -} - -func (m *Checksum) Reset() { *m = Checksum{} } -func (m *Checksum) String() string { return proto.CompactTextString(m) } -func (*Checksum) ProtoMessage() {} -func (*Checksum) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } - -func (m *Checksum) GetValue() []byte { - if m != nil { - return m.Value - } - return nil -} - -func (m *Checksum) GetType() string { - if m != nil { - return m.Type - } - return "" -} - -type FileMdProto struct { - Id uint64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"` - ContId uint64 `protobuf:"varint,2,opt,name=cont_id,json=contId" json:"cont_id,omitempty"` - Uid uint64 `protobuf:"varint,3,opt,name=uid" json:"uid,omitempty"` - Gid uint64 `protobuf:"varint,4,opt,name=gid" json:"gid,omitempty"` - Size uint64 `protobuf:"varint,5,opt,name=size" json:"size,omitempty"` - LayoutId uint32 `protobuf:"varint,6,opt,name=layout_id,json=layoutId" json:"layout_id,omitempty"` - Flags uint32 `protobuf:"varint,7,opt,name=flags" 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" json:"ctime,omitempty"` - Mtime *Time `protobuf:"bytes,11,opt,name=mtime" json:"mtime,omitempty"` - Checksum *Checksum `protobuf:"bytes,12,opt,name=checksum" json:"checksum,omitempty"` - Locations []uint32 `protobuf:"varint,13,rep,packed,name=locations" json:"locations,omitempty"` - UnlinkLocations []uint32 `protobuf:"varint,14,rep,packed,name=unlink_locations,json=unlinkLocations" json:"unlink_locations,omitempty"` - Xattrs map[string][]byte `protobuf:"bytes,15,rep,name=xattrs" json:"xattrs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value,proto3"` - Path []byte `protobuf:"bytes,16,opt,name=path,proto3" json:"path,omitempty"` - Etag string `protobuf:"bytes,17,opt,name=etag" json:"etag,omitempty"` -} - -func (m *FileMdProto) Reset() { *m = FileMdProto{} } -func (m *FileMdProto) String() string { return proto.CompactTextString(m) } -func (*FileMdProto) ProtoMessage() {} -func (*FileMdProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } - -func (m *FileMdProto) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -func (m *FileMdProto) GetContId() uint64 { - if m != nil { - return m.ContId - } - return 0 -} - -func (m *FileMdProto) GetUid() uint64 { - if m != nil { - return m.Uid - } - return 0 -} - -func (m *FileMdProto) GetGid() uint64 { - if m != nil { - return m.Gid - } - return 0 -} - -func (m *FileMdProto) GetSize() uint64 { - if m != nil { - return m.Size - } - return 0 -} - -func (m *FileMdProto) GetLayoutId() uint32 { - if m != nil { - return m.LayoutId - } - return 0 -} - -func (m *FileMdProto) GetFlags() uint32 { - if m != nil { - return m.Flags - } - return 0 -} - -func (m *FileMdProto) GetName() []byte { - if m != nil { - return m.Name - } - return nil -} - -func (m *FileMdProto) GetLinkName() []byte { - if m != nil { - return m.LinkName - } - return nil -} - -func (m *FileMdProto) GetCtime() *Time { - if m != nil { - return m.Ctime - } - return nil -} - -func (m *FileMdProto) GetMtime() *Time { - if m != nil { - return m.Mtime - } - return nil -} - -func (m *FileMdProto) GetChecksum() *Checksum { - if m != nil { - return m.Checksum - } - return nil -} - -func (m *FileMdProto) GetLocations() []uint32 { - if m != nil { - return m.Locations - } - return nil -} - -func (m *FileMdProto) GetUnlinkLocations() []uint32 { - if m != nil { - return m.UnlinkLocations - } - return nil -} - -func (m *FileMdProto) GetXattrs() map[string][]byte { - if m != nil { - return m.Xattrs - } - return nil -} - -func (m *FileMdProto) GetPath() []byte { - if m != nil { - return m.Path - } - return nil -} - -func (m *FileMdProto) GetEtag() string { - if m != nil { - return m.Etag - } - return "" -} - -type ContainerMdProto struct { - Id uint64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"` - ParentId uint64 `protobuf:"varint,2,opt,name=parent_id,json=parentId" json:"parent_id,omitempty"` - Uid uint64 `protobuf:"varint,3,opt,name=uid" json:"uid,omitempty"` - Gid uint64 `protobuf:"varint,4,opt,name=gid" json:"gid,omitempty"` - TreeSize int64 `protobuf:"varint,6,opt,name=tree_size,json=treeSize" json:"tree_size,omitempty"` - Mode uint32 `protobuf:"varint,5,opt,name=mode" json:"mode,omitempty"` - Flags uint32 `protobuf:"varint,7,opt,name=flags" json:"flags,omitempty"` - Name []byte `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"` - Ctime *Time `protobuf:"bytes,9,opt,name=ctime" json:"ctime,omitempty"` - Mtime *Time `protobuf:"bytes,10,opt,name=mtime" json:"mtime,omitempty"` - Stime *Time `protobuf:"bytes,11,opt,name=stime" json:"stime,omitempty"` - Xattrs map[string][]byte `protobuf:"bytes,12,rep,name=xattrs" json:"xattrs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value,proto3"` - Path []byte `protobuf:"bytes,13,opt,name=path,proto3" json:"path,omitempty"` - Etag string `protobuf:"bytes,14,opt,name=etag" json:"etag,omitempty"` -} - -func (m *ContainerMdProto) Reset() { *m = ContainerMdProto{} } -func (m *ContainerMdProto) String() string { return proto.CompactTextString(m) } -func (*ContainerMdProto) ProtoMessage() {} -func (*ContainerMdProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } - -func (m *ContainerMdProto) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -func (m *ContainerMdProto) GetParentId() uint64 { - if m != nil { - return m.ParentId - } - return 0 -} - -func (m *ContainerMdProto) GetUid() uint64 { - if m != nil { - return m.Uid - } - return 0 -} - -func (m *ContainerMdProto) GetGid() uint64 { - if m != nil { - return m.Gid - } - return 0 -} - -func (m *ContainerMdProto) GetTreeSize() int64 { - if m != nil { - return m.TreeSize - } - return 0 -} - -func (m *ContainerMdProto) GetMode() uint32 { - if m != nil { - return m.Mode - } - return 0 -} - -func (m *ContainerMdProto) GetFlags() uint32 { - if m != nil { - return m.Flags - } - return 0 -} - -func (m *ContainerMdProto) GetName() []byte { - if m != nil { - return m.Name - } - return nil -} - -func (m *ContainerMdProto) GetCtime() *Time { - if m != nil { - return m.Ctime - } - return nil -} - -func (m *ContainerMdProto) GetMtime() *Time { - if m != nil { - return m.Mtime - } - return nil -} - -func (m *ContainerMdProto) GetStime() *Time { - if m != nil { - return m.Stime - } - return nil -} - -func (m *ContainerMdProto) GetXattrs() map[string][]byte { - if m != nil { - return m.Xattrs - } - return nil -} - -func (m *ContainerMdProto) GetPath() []byte { - if m != nil { - return m.Path - } - return nil -} - -func (m *ContainerMdProto) GetEtag() string { - if m != nil { - return m.Etag - } - return "" -} - -type QuotaProto struct { - Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` - Type QUOTATYPE `protobuf:"varint,3,opt,name=type,enum=eos.rpc.QUOTATYPE" json:"type,omitempty"` - Usedbytes uint64 `protobuf:"varint,4,opt,name=usedbytes" json:"usedbytes,omitempty"` - Usedlogicalbytes uint64 `protobuf:"varint,5,opt,name=usedlogicalbytes" json:"usedlogicalbytes,omitempty"` - Usedfiles uint64 `protobuf:"varint,6,opt,name=usedfiles" json:"usedfiles,omitempty"` - Maxbytes uint64 `protobuf:"varint,7,opt,name=maxbytes" json:"maxbytes,omitempty"` - Maxlogicalbytes uint64 `protobuf:"varint,8,opt,name=maxlogicalbytes" json:"maxlogicalbytes,omitempty"` - Maxfiles uint64 `protobuf:"varint,9,opt,name=maxfiles" json:"maxfiles,omitempty"` - Percentageusedbytes float32 `protobuf:"fixed32,10,opt,name=percentageusedbytes" json:"percentageusedbytes,omitempty"` - Percentageusedfiles float32 `protobuf:"fixed32,11,opt,name=percentageusedfiles" json:"percentageusedfiles,omitempty"` - Statusbytes string `protobuf:"bytes,12,opt,name=statusbytes" json:"statusbytes,omitempty"` - Statusfiles string `protobuf:"bytes,13,opt,name=statusfiles" json:"statusfiles,omitempty"` -} - -func (m *QuotaProto) Reset() { *m = QuotaProto{} } -func (m *QuotaProto) String() string { return proto.CompactTextString(m) } -func (*QuotaProto) ProtoMessage() {} -func (*QuotaProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } - -func (m *QuotaProto) GetPath() []byte { - if m != nil { - return m.Path - } - return nil -} - -func (m *QuotaProto) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *QuotaProto) GetType() QUOTATYPE { - if m != nil { - return m.Type - } - return QUOTATYPE_USER -} - -func (m *QuotaProto) GetUsedbytes() uint64 { - if m != nil { - return m.Usedbytes - } - return 0 -} - -func (m *QuotaProto) GetUsedlogicalbytes() uint64 { - if m != nil { - return m.Usedlogicalbytes - } - return 0 -} - -func (m *QuotaProto) GetUsedfiles() uint64 { - if m != nil { - return m.Usedfiles - } - return 0 -} - -func (m *QuotaProto) GetMaxbytes() uint64 { - if m != nil { - return m.Maxbytes - } - return 0 -} - -func (m *QuotaProto) GetMaxlogicalbytes() uint64 { - if m != nil { - return m.Maxlogicalbytes - } - return 0 -} - -func (m *QuotaProto) GetMaxfiles() uint64 { - if m != nil { - return m.Maxfiles - } - return 0 -} - -func (m *QuotaProto) GetPercentageusedbytes() float32 { - if m != nil { - return m.Percentageusedbytes - } - return 0 -} - -func (m *QuotaProto) GetPercentageusedfiles() float32 { - if m != nil { - return m.Percentageusedfiles - } - return 0 -} - -func (m *QuotaProto) GetStatusbytes() string { - if m != nil { - return m.Statusbytes - } - return "" -} - -func (m *QuotaProto) GetStatusfiles() string { - if m != nil { - return m.Statusfiles - } - return "" -} - -type RoleId struct { - Uid uint64 `protobuf:"varint,1,opt,name=uid" json:"uid,omitempty"` - Gid uint64 `protobuf:"varint,2,opt,name=gid" json:"gid,omitempty"` - Username string `protobuf:"bytes,3,opt,name=username" json:"username,omitempty"` - Groupname string `protobuf:"bytes,4,opt,name=groupname" json:"groupname,omitempty"` -} - -func (m *RoleId) Reset() { *m = RoleId{} } -func (m *RoleId) String() string { return proto.CompactTextString(m) } -func (*RoleId) ProtoMessage() {} -func (*RoleId) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } - -func (m *RoleId) GetUid() uint64 { - if m != nil { - return m.Uid - } - return 0 -} - -func (m *RoleId) GetGid() uint64 { - if m != nil { - return m.Gid - } - return 0 -} - -func (m *RoleId) GetUsername() string { - if m != nil { - return m.Username - } - return "" -} - -func (m *RoleId) GetGroupname() string { - if m != nil { - return m.Groupname - } - return "" -} - -type MDId struct { - Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - Id uint64 `protobuf:"fixed64,2,opt,name=id" json:"id,omitempty"` - Ino uint64 `protobuf:"fixed64,3,opt,name=ino" json:"ino,omitempty"` - Type TYPE `protobuf:"varint,4,opt,name=type,enum=eos.rpc.TYPE" json:"type,omitempty"` -} - -func (m *MDId) Reset() { *m = MDId{} } -func (m *MDId) String() string { return proto.CompactTextString(m) } -func (*MDId) ProtoMessage() {} -func (*MDId) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } - -func (m *MDId) GetPath() []byte { - if m != nil { - return m.Path - } - return nil -} - -func (m *MDId) GetId() uint64 { - if m != nil { - return m.Id - } - return 0 -} - -func (m *MDId) GetIno() uint64 { - if m != nil { - return m.Ino - } - return 0 -} - -func (m *MDId) GetType() TYPE { - if m != nil { - return m.Type - } - return TYPE_FILE -} - -type Limit struct { - Zero bool `protobuf:"varint,1,opt,name=zero" json:"zero,omitempty"` - Min uint64 `protobuf:"varint,2,opt,name=min" json:"min,omitempty"` - Max uint64 `protobuf:"varint,3,opt,name=max" json:"max,omitempty"` -} - -func (m *Limit) Reset() { *m = Limit{} } -func (m *Limit) String() string { return proto.CompactTextString(m) } -func (*Limit) ProtoMessage() {} -func (*Limit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } - -func (m *Limit) GetZero() bool { - if m != nil { - return m.Zero - } - return false -} - -func (m *Limit) GetMin() uint64 { - if m != nil { - return m.Min - } - return 0 -} - -func (m *Limit) GetMax() uint64 { - if m != nil { - return m.Max - } - return 0 -} - -type MDSelection struct { - Select bool `protobuf:"varint,1,opt,name=select" json:"select,omitempty"` - Ctime *Limit `protobuf:"bytes,2,opt,name=ctime" json:"ctime,omitempty"` - Mtime *Limit `protobuf:"bytes,3,opt,name=mtime" json:"mtime,omitempty"` - Stime *Limit `protobuf:"bytes,4,opt,name=stime" json:"stime,omitempty"` - Size *Limit `protobuf:"bytes,5,opt,name=size" json:"size,omitempty"` - Treesize *Limit `protobuf:"bytes,6,opt,name=treesize" json:"treesize,omitempty"` - Children *Limit `protobuf:"bytes,7,opt,name=children" json:"children,omitempty"` - Locations *Limit `protobuf:"bytes,8,opt,name=locations" json:"locations,omitempty"` - UnlinkedLocations *Limit `protobuf:"bytes,9,opt,name=unlinked_locations,json=unlinkedLocations" json:"unlinked_locations,omitempty"` - Layoutid uint64 `protobuf:"varint,10,opt,name=layoutid" json:"layoutid,omitempty"` - Flags uint64 `protobuf:"varint,11,opt,name=flags" json:"flags,omitempty"` - Symlink bool `protobuf:"varint,12,opt,name=symlink" json:"symlink,omitempty"` - Checksum *Checksum `protobuf:"bytes,13,opt,name=checksum" json:"checksum,omitempty"` - Owner uint32 `protobuf:"varint,14,opt,name=owner" json:"owner,omitempty"` - Group uint32 `protobuf:"varint,15,opt,name=group" json:"group,omitempty"` - OwnerRoot bool `protobuf:"varint,16,opt,name=owner_root,json=ownerRoot" json:"owner_root,omitempty"` - GroupRoot bool `protobuf:"varint,17,opt,name=group_root,json=groupRoot" 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" json:"xattr,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (m *MDSelection) Reset() { *m = MDSelection{} } -func (m *MDSelection) String() string { return proto.CompactTextString(m) } -func (*MDSelection) ProtoMessage() {} -func (*MDSelection) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } - -func (m *MDSelection) GetSelect() bool { - if m != nil { - return m.Select - } - return false -} - -func (m *MDSelection) GetCtime() *Limit { - if m != nil { - return m.Ctime - } - return nil -} - -func (m *MDSelection) GetMtime() *Limit { - if m != nil { - return m.Mtime - } - return nil -} - -func (m *MDSelection) GetStime() *Limit { - if m != nil { - return m.Stime - } - return nil -} - -func (m *MDSelection) GetSize() *Limit { - if m != nil { - return m.Size - } - return nil -} - -func (m *MDSelection) GetTreesize() *Limit { - if m != nil { - return m.Treesize - } - return nil -} - -func (m *MDSelection) GetChildren() *Limit { - if m != nil { - return m.Children - } - return nil -} - -func (m *MDSelection) GetLocations() *Limit { - if m != nil { - return m.Locations - } - return nil -} - -func (m *MDSelection) GetUnlinkedLocations() *Limit { - if m != nil { - return m.UnlinkedLocations - } - return nil -} - -func (m *MDSelection) GetLayoutid() uint64 { - if m != nil { - return m.Layoutid - } - return 0 -} - -func (m *MDSelection) GetFlags() uint64 { - if m != nil { - return m.Flags - } - return 0 -} - -func (m *MDSelection) GetSymlink() bool { - if m != nil { - return m.Symlink - } - return false -} - -func (m *MDSelection) GetChecksum() *Checksum { - if m != nil { - return m.Checksum - } - return nil -} - -func (m *MDSelection) GetOwner() uint32 { - if m != nil { - return m.Owner - } - return 0 -} - -func (m *MDSelection) GetGroup() uint32 { - if m != nil { - return m.Group - } - return 0 -} - -func (m *MDSelection) GetOwnerRoot() bool { - if m != nil { - return m.OwnerRoot - } - return false -} - -func (m *MDSelection) GetGroupRoot() bool { - if m != nil { - return m.GroupRoot - } - return false -} - -func (m *MDSelection) GetRegexpFilename() []byte { - if m != nil { - return m.RegexpFilename - } - return nil -} - -func (m *MDSelection) GetRegexpDirname() []byte { - if m != nil { - return m.RegexpDirname - } - return nil -} - -func (m *MDSelection) GetXattr() map[string][]byte { - if m != nil { - return m.Xattr - } - return nil -} - -type MDRequest struct { - Type TYPE `protobuf:"varint,1,opt,name=type,enum=eos.rpc.TYPE" json:"type,omitempty"` - Id *MDId `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` - Authkey string `protobuf:"bytes,3,opt,name=authkey" json:"authkey,omitempty"` - Role *RoleId `protobuf:"bytes,4,opt,name=role" json:"role,omitempty"` - Selection *MDSelection `protobuf:"bytes,5,opt,name=selection" json:"selection,omitempty"` -} - -func (m *MDRequest) Reset() { *m = MDRequest{} } -func (m *MDRequest) String() string { return proto.CompactTextString(m) } -func (*MDRequest) ProtoMessage() {} -func (*MDRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } - -func (m *MDRequest) GetType() TYPE { - if m != nil { - return m.Type - } - return TYPE_FILE -} - -func (m *MDRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *MDRequest) GetAuthkey() string { - if m != nil { - return m.Authkey - } - return "" -} - -func (m *MDRequest) GetRole() *RoleId { - if m != nil { - return m.Role - } - return nil -} - -func (m *MDRequest) GetSelection() *MDSelection { - if m != nil { - return m.Selection - } - return nil -} - -type MDResponse struct { - Type TYPE `protobuf:"varint,1,opt,name=type,enum=eos.rpc.TYPE" json:"type,omitempty"` - Fmd *FileMdProto `protobuf:"bytes,2,opt,name=fmd" json:"fmd,omitempty"` - Cmd *ContainerMdProto `protobuf:"bytes,3,opt,name=cmd" json:"cmd,omitempty"` -} - -func (m *MDResponse) Reset() { *m = MDResponse{} } -func (m *MDResponse) String() string { return proto.CompactTextString(m) } -func (*MDResponse) ProtoMessage() {} -func (*MDResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } - -func (m *MDResponse) GetType() TYPE { - if m != nil { - return m.Type - } - return TYPE_FILE -} - -func (m *MDResponse) GetFmd() *FileMdProto { - if m != nil { - return m.Fmd - } - return nil -} - -func (m *MDResponse) GetCmd() *ContainerMdProto { - if m != nil { - return m.Cmd - } - return nil -} - -type FindRequest struct { - Type TYPE `protobuf:"varint,1,opt,name=type,enum=eos.rpc.TYPE" json:"type,omitempty"` - Id *MDId `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` - Role *RoleId `protobuf:"bytes,3,opt,name=role" json:"role,omitempty"` - Authkey string `protobuf:"bytes,4,opt,name=authkey" json:"authkey,omitempty"` - Maxdepth uint64 `protobuf:"varint,5,opt,name=maxdepth" json:"maxdepth,omitempty"` - Selection *MDSelection `protobuf:"bytes,6,opt,name=selection" json:"selection,omitempty"` -} - -func (m *FindRequest) Reset() { *m = FindRequest{} } -func (m *FindRequest) String() string { return proto.CompactTextString(m) } -func (*FindRequest) ProtoMessage() {} -func (*FindRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } - -func (m *FindRequest) GetType() TYPE { - if m != nil { - return m.Type - } - return TYPE_FILE -} - -func (m *FindRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *FindRequest) GetRole() *RoleId { - if m != nil { - return m.Role - } - return nil -} - -func (m *FindRequest) GetAuthkey() string { - if m != nil { - return m.Authkey - } - return "" -} - -func (m *FindRequest) GetMaxdepth() uint64 { - if m != nil { - return m.Maxdepth - } - return 0 -} - -func (m *FindRequest) GetSelection() *MDSelection { - if m != nil { - return m.Selection - } - return nil -} - -type ShareAuth struct { - Prot string `protobuf:"bytes,1,opt,name=prot" json:"prot,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` - Host string `protobuf:"bytes,3,opt,name=host" json:"host,omitempty"` -} - -func (m *ShareAuth) Reset() { *m = ShareAuth{} } -func (m *ShareAuth) String() string { return proto.CompactTextString(m) } -func (*ShareAuth) ProtoMessage() {} -func (*ShareAuth) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } - -func (m *ShareAuth) GetProt() string { - if m != nil { - return m.Prot - } - return "" -} - -func (m *ShareAuth) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *ShareAuth) GetHost() string { - if m != nil { - return m.Host - } - return "" -} - -type ShareProto struct { - Permission string `protobuf:"bytes,1,opt,name=permission" json:"permission,omitempty"` - Expires uint64 `protobuf:"varint,2,opt,name=expires" json:"expires,omitempty"` - Owner string `protobuf:"bytes,3,opt,name=owner" json:"owner,omitempty"` - Group string `protobuf:"bytes,4,opt,name=group" json:"group,omitempty"` - Generation uint64 `protobuf:"varint,5,opt,name=generation" json:"generation,omitempty"` - Path string `protobuf:"bytes,6,opt,name=path" json:"path,omitempty"` - Allowtree bool `protobuf:"varint,7,opt,name=allowtree" json:"allowtree,omitempty"` - Vtoken string `protobuf:"bytes,8,opt,name=vtoken" json:"vtoken,omitempty"` - Origins []*ShareAuth `protobuf:"bytes,9,rep,name=origins" json:"origins,omitempty"` -} - -func (m *ShareProto) Reset() { *m = ShareProto{} } -func (m *ShareProto) String() string { return proto.CompactTextString(m) } -func (*ShareProto) ProtoMessage() {} -func (*ShareProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } - -func (m *ShareProto) GetPermission() string { - if m != nil { - return m.Permission - } - return "" -} - -func (m *ShareProto) GetExpires() uint64 { - if m != nil { - return m.Expires - } - return 0 -} - -func (m *ShareProto) GetOwner() string { - if m != nil { - return m.Owner - } - return "" -} - -func (m *ShareProto) GetGroup() string { - if m != nil { - return m.Group - } - return "" -} - -func (m *ShareProto) GetGeneration() uint64 { - if m != nil { - return m.Generation - } - return 0 -} - -func (m *ShareProto) GetPath() string { - if m != nil { - return m.Path - } - return "" -} - -func (m *ShareProto) GetAllowtree() bool { - if m != nil { - return m.Allowtree - } - return false -} - -func (m *ShareProto) GetVtoken() string { - if m != nil { - return m.Vtoken - } - return "" -} - -func (m *ShareProto) GetOrigins() []*ShareAuth { - if m != nil { - return m.Origins - } - return nil -} - -type ShareToken struct { - Token *ShareProto `protobuf:"bytes,1,opt,name=token" 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" json:"seed,omitempty"` -} - -func (m *ShareToken) Reset() { *m = ShareToken{} } -func (m *ShareToken) String() string { return proto.CompactTextString(m) } -func (*ShareToken) ProtoMessage() {} -func (*ShareToken) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } - -func (m *ShareToken) GetToken() *ShareProto { - if m != nil { - return m.Token - } - return nil -} - -func (m *ShareToken) GetSignature() []byte { - if m != nil { - return m.Signature - } - return nil -} - -func (m *ShareToken) GetSerialized() []byte { - if m != nil { - return m.Serialized - } - return nil -} - -func (m *ShareToken) GetSeed() int32 { - if m != nil { - return m.Seed - } - return 0 -} - -type NSRequest struct { - Authkey string `protobuf:"bytes,1,opt,name=authkey" json:"authkey,omitempty"` - Role *RoleId `protobuf:"bytes,2,opt,name=role" json:"role,omitempty"` - // Actual request data object - // - // Types that are valid to be assigned 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 (m *NSRequest) Reset() { *m = NSRequest{} } -func (m *NSRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest) ProtoMessage() {} -func (*NSRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } - -type isNSRequest_Command interface{ isNSRequest_Command() } - -type NSRequest_Mkdir struct { - Mkdir *NSRequest_MkdirRequest `protobuf:"bytes,21,opt,name=mkdir,oneof"` -} -type NSRequest_Rmdir struct { - Rmdir *NSRequest_RmdirRequest `protobuf:"bytes,22,opt,name=rmdir,oneof"` -} -type NSRequest_Touch struct { - Touch *NSRequest_TouchRequest `protobuf:"bytes,23,opt,name=touch,oneof"` -} -type NSRequest_Unlink struct { - Unlink *NSRequest_UnlinkRequest `protobuf:"bytes,24,opt,name=unlink,oneof"` -} -type NSRequest_Rm struct { - Rm *NSRequest_RmRequest `protobuf:"bytes,25,opt,name=rm,oneof"` -} -type NSRequest_Rename struct { - Rename *NSRequest_RenameRequest `protobuf:"bytes,26,opt,name=rename,oneof"` -} -type NSRequest_Symlink struct { - Symlink *NSRequest_SymlinkRequest `protobuf:"bytes,27,opt,name=symlink,oneof"` -} -type NSRequest_Version struct { - Version *NSRequest_VersionRequest `protobuf:"bytes,28,opt,name=version,oneof"` -} -type NSRequest_Recycle struct { - Recycle *NSRequest_RecycleRequest `protobuf:"bytes,29,opt,name=recycle,oneof"` -} -type NSRequest_Xattr struct { - Xattr *NSRequest_SetXAttrRequest `protobuf:"bytes,30,opt,name=xattr,oneof"` -} -type NSRequest_Chown struct { - Chown *NSRequest_ChownRequest `protobuf:"bytes,31,opt,name=chown,oneof"` -} -type NSRequest_Chmod struct { - Chmod *NSRequest_ChmodRequest `protobuf:"bytes,32,opt,name=chmod,oneof"` -} -type NSRequest_Acl struct { - Acl *NSRequest_AclRequest `protobuf:"bytes,33,opt,name=acl,oneof"` -} -type NSRequest_Token struct { - Token *NSRequest_TokenRequest `protobuf:"bytes,34,opt,name=token,oneof"` -} -type NSRequest_Quota struct { - Quota *NSRequest_QuotaRequest `protobuf:"bytes,35,opt,name=quota,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() {} - -func (m *NSRequest) GetCommand() isNSRequest_Command { - if m != nil { - return m.Command - } - return nil -} - -func (m *NSRequest) GetAuthkey() string { - if m != nil { - return m.Authkey - } - return "" -} - -func (m *NSRequest) GetRole() *RoleId { - if m != nil { - return m.Role - } - return nil -} - -func (m *NSRequest) GetMkdir() *NSRequest_MkdirRequest { - if x, ok := m.GetCommand().(*NSRequest_Mkdir); ok { - return x.Mkdir - } - return nil -} - -func (m *NSRequest) GetRmdir() *NSRequest_RmdirRequest { - if x, ok := m.GetCommand().(*NSRequest_Rmdir); ok { - return x.Rmdir - } - return nil -} - -func (m *NSRequest) GetTouch() *NSRequest_TouchRequest { - if x, ok := m.GetCommand().(*NSRequest_Touch); ok { - return x.Touch - } - return nil -} - -func (m *NSRequest) GetUnlink() *NSRequest_UnlinkRequest { - if x, ok := m.GetCommand().(*NSRequest_Unlink); ok { - return x.Unlink - } - return nil -} - -func (m *NSRequest) GetRm() *NSRequest_RmRequest { - if x, ok := m.GetCommand().(*NSRequest_Rm); ok { - return x.Rm - } - return nil -} - -func (m *NSRequest) GetRename() *NSRequest_RenameRequest { - if x, ok := m.GetCommand().(*NSRequest_Rename); ok { - return x.Rename - } - return nil -} - -func (m *NSRequest) GetSymlink() *NSRequest_SymlinkRequest { - if x, ok := m.GetCommand().(*NSRequest_Symlink); ok { - return x.Symlink - } - return nil -} - -func (m *NSRequest) GetVersion() *NSRequest_VersionRequest { - if x, ok := m.GetCommand().(*NSRequest_Version); ok { - return x.Version - } - return nil -} - -func (m *NSRequest) GetRecycle() *NSRequest_RecycleRequest { - if x, ok := m.GetCommand().(*NSRequest_Recycle); ok { - return x.Recycle - } - return nil -} - -func (m *NSRequest) GetXattr() *NSRequest_SetXAttrRequest { - if x, ok := m.GetCommand().(*NSRequest_Xattr); ok { - return x.Xattr - } - return nil -} - -func (m *NSRequest) GetChown() *NSRequest_ChownRequest { - if x, ok := m.GetCommand().(*NSRequest_Chown); ok { - return x.Chown - } - return nil -} - -func (m *NSRequest) GetChmod() *NSRequest_ChmodRequest { - if x, ok := m.GetCommand().(*NSRequest_Chmod); ok { - return x.Chmod - } - return nil -} - -func (m *NSRequest) GetAcl() *NSRequest_AclRequest { - if x, ok := m.GetCommand().(*NSRequest_Acl); ok { - return x.Acl - } - return nil -} - -func (m *NSRequest) GetToken() *NSRequest_TokenRequest { - if x, ok := m.GetCommand().(*NSRequest_Token); ok { - return x.Token - } - return nil -} - -func (m *NSRequest) GetQuota() *NSRequest_QuotaRequest { - if x, ok := m.GetCommand().(*NSRequest_Quota); ok { - return x.Quota - } - return nil -} - -// XXX_OneofFuncs is for the internal use of the proto package. -func (*NSRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { - return _NSRequest_OneofMarshaler, _NSRequest_OneofUnmarshaler, _NSRequest_OneofSizer, []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), - } -} - -func _NSRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { - m := msg.(*NSRequest) - // command - switch x := m.Command.(type) { - case *NSRequest_Mkdir: - b.EncodeVarint(21<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Mkdir); err != nil { - return err - } - case *NSRequest_Rmdir: - b.EncodeVarint(22<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Rmdir); err != nil { - return err - } - case *NSRequest_Touch: - b.EncodeVarint(23<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Touch); err != nil { - return err - } - case *NSRequest_Unlink: - b.EncodeVarint(24<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Unlink); err != nil { - return err - } - case *NSRequest_Rm: - b.EncodeVarint(25<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Rm); err != nil { - return err - } - case *NSRequest_Rename: - b.EncodeVarint(26<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Rename); err != nil { - return err - } - case *NSRequest_Symlink: - b.EncodeVarint(27<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Symlink); err != nil { - return err - } - case *NSRequest_Version: - b.EncodeVarint(28<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Version); err != nil { - return err - } - case *NSRequest_Recycle: - b.EncodeVarint(29<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Recycle); err != nil { - return err - } - case *NSRequest_Xattr: - b.EncodeVarint(30<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Xattr); err != nil { - return err - } - case *NSRequest_Chown: - b.EncodeVarint(31<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Chown); err != nil { - return err - } - case *NSRequest_Chmod: - b.EncodeVarint(32<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Chmod); err != nil { - return err - } - case *NSRequest_Acl: - b.EncodeVarint(33<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Acl); err != nil { - return err - } - case *NSRequest_Token: - b.EncodeVarint(34<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Token); err != nil { - return err - } - case *NSRequest_Quota: - b.EncodeVarint(35<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Quota); err != nil { - return err - } - case nil: - default: - return fmt.Errorf("NSRequest.Command has unexpected type %T", x) - } - return nil -} - -func _NSRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { - m := msg.(*NSRequest) - switch tag { - case 21: // command.mkdir - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_MkdirRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Mkdir{msg} - return true, err - case 22: // command.rmdir - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_RmdirRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Rmdir{msg} - return true, err - case 23: // command.touch - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_TouchRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Touch{msg} - return true, err - case 24: // command.unlink - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_UnlinkRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Unlink{msg} - return true, err - case 25: // command.rm - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_RmRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Rm{msg} - return true, err - case 26: // command.rename - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_RenameRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Rename{msg} - return true, err - case 27: // command.symlink - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_SymlinkRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Symlink{msg} - return true, err - case 28: // command.version - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_VersionRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Version{msg} - return true, err - case 29: // command.recycle - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_RecycleRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Recycle{msg} - return true, err - case 30: // command.xattr - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_SetXAttrRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Xattr{msg} - return true, err - case 31: // command.chown - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_ChownRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Chown{msg} - return true, err - case 32: // command.chmod - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_ChmodRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Chmod{msg} - return true, err - case 33: // command.acl - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_AclRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Acl{msg} - return true, err - case 34: // command.token - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_TokenRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Token{msg} - return true, err - case 35: // command.quota - if wire != proto.WireBytes { - return true, proto.ErrInternalBadWireType - } - msg := new(NSRequest_QuotaRequest) - err := b.DecodeMessage(msg) - m.Command = &NSRequest_Quota{msg} - return true, err - default: - return false, nil - } -} - -func _NSRequest_OneofSizer(msg proto.Message) (n int) { - m := msg.(*NSRequest) - // command - switch x := m.Command.(type) { - case *NSRequest_Mkdir: - s := proto.Size(x.Mkdir) - n += proto.SizeVarint(21<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Rmdir: - s := proto.Size(x.Rmdir) - n += proto.SizeVarint(22<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Touch: - s := proto.Size(x.Touch) - n += proto.SizeVarint(23<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Unlink: - s := proto.Size(x.Unlink) - n += proto.SizeVarint(24<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Rm: - s := proto.Size(x.Rm) - n += proto.SizeVarint(25<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Rename: - s := proto.Size(x.Rename) - n += proto.SizeVarint(26<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Symlink: - s := proto.Size(x.Symlink) - n += proto.SizeVarint(27<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Version: - s := proto.Size(x.Version) - n += proto.SizeVarint(28<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Recycle: - s := proto.Size(x.Recycle) - n += proto.SizeVarint(29<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Xattr: - s := proto.Size(x.Xattr) - n += proto.SizeVarint(30<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Chown: - s := proto.Size(x.Chown) - n += proto.SizeVarint(31<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Chmod: - s := proto.Size(x.Chmod) - n += proto.SizeVarint(32<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Acl: - s := proto.Size(x.Acl) - n += proto.SizeVarint(33<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Token: - s := proto.Size(x.Token) - n += proto.SizeVarint(34<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *NSRequest_Quota: - s := proto.Size(x.Quota) - n += proto.SizeVarint(35<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case nil: - default: - panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) - } - return n -} - -type NSRequest_MkdirRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Recursive bool `protobuf:"varint,2,opt,name=recursive" json:"recursive,omitempty"` - Mode int64 `protobuf:"varint,3,opt,name=mode" json:"mode,omitempty"` -} - -func (m *NSRequest_MkdirRequest) Reset() { *m = NSRequest_MkdirRequest{} } -func (m *NSRequest_MkdirRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_MkdirRequest) ProtoMessage() {} -func (*NSRequest_MkdirRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 0} } - -func (m *NSRequest_MkdirRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSRequest_MkdirRequest) GetRecursive() bool { - if m != nil { - return m.Recursive - } - return false -} - -func (m *NSRequest_MkdirRequest) GetMode() int64 { - if m != nil { - return m.Mode - } - return 0 -} - -type NSRequest_RmdirRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` -} - -func (m *NSRequest_RmdirRequest) Reset() { *m = NSRequest_RmdirRequest{} } -func (m *NSRequest_RmdirRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_RmdirRequest) ProtoMessage() {} -func (*NSRequest_RmdirRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 1} } - -func (m *NSRequest_RmdirRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -type NSRequest_TouchRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` -} - -func (m *NSRequest_TouchRequest) Reset() { *m = NSRequest_TouchRequest{} } -func (m *NSRequest_TouchRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_TouchRequest) ProtoMessage() {} -func (*NSRequest_TouchRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 2} } - -func (m *NSRequest_TouchRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -type NSRequest_UnlinkRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Norecycle bool `protobuf:"varint,3,opt,name=norecycle" json:"norecycle,omitempty"` -} - -func (m *NSRequest_UnlinkRequest) Reset() { *m = NSRequest_UnlinkRequest{} } -func (m *NSRequest_UnlinkRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_UnlinkRequest) ProtoMessage() {} -func (*NSRequest_UnlinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 3} } - -func (m *NSRequest_UnlinkRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSRequest_UnlinkRequest) GetNorecycle() bool { - if m != nil { - return m.Norecycle - } - return false -} - -type NSRequest_RmRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Recursive bool `protobuf:"varint,2,opt,name=recursive" json:"recursive,omitempty"` - Norecycle bool `protobuf:"varint,3,opt,name=norecycle" json:"norecycle,omitempty"` -} - -func (m *NSRequest_RmRequest) Reset() { *m = NSRequest_RmRequest{} } -func (m *NSRequest_RmRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_RmRequest) ProtoMessage() {} -func (*NSRequest_RmRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 4} } - -func (m *NSRequest_RmRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSRequest_RmRequest) GetRecursive() bool { - if m != nil { - return m.Recursive - } - return false -} - -func (m *NSRequest_RmRequest) GetNorecycle() bool { - if m != nil { - return m.Norecycle - } - return false -} - -type NSRequest_RenameRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Target []byte `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` -} - -func (m *NSRequest_RenameRequest) Reset() { *m = NSRequest_RenameRequest{} } -func (m *NSRequest_RenameRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_RenameRequest) ProtoMessage() {} -func (*NSRequest_RenameRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 5} } - -func (m *NSRequest_RenameRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSRequest_RenameRequest) GetTarget() []byte { - if m != nil { - return m.Target - } - return nil -} - -type NSRequest_SymlinkRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Target []byte `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` -} - -func (m *NSRequest_SymlinkRequest) Reset() { *m = NSRequest_SymlinkRequest{} } -func (m *NSRequest_SymlinkRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_SymlinkRequest) ProtoMessage() {} -func (*NSRequest_SymlinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 6} } - -func (m *NSRequest_SymlinkRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSRequest_SymlinkRequest) GetTarget() []byte { - if m != nil { - return m.Target - } - return nil -} - -type NSRequest_VersionRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Cmd NSRequest_VersionRequest_VERSION_CMD `protobuf:"varint,2,opt,name=cmd,enum=eos.rpc.NSRequest_VersionRequest_VERSION_CMD" json:"cmd,omitempty"` - Maxversion int32 `protobuf:"varint,3,opt,name=maxversion" json:"maxversion,omitempty"` -} - -func (m *NSRequest_VersionRequest) Reset() { *m = NSRequest_VersionRequest{} } -func (m *NSRequest_VersionRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_VersionRequest) ProtoMessage() {} -func (*NSRequest_VersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 7} } - -func (m *NSRequest_VersionRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSRequest_VersionRequest) GetCmd() NSRequest_VersionRequest_VERSION_CMD { - if m != nil { - return m.Cmd - } - return NSRequest_VersionRequest_CREATE -} - -func (m *NSRequest_VersionRequest) GetMaxversion() int32 { - if m != nil { - return m.Maxversion - } - return 0 -} - -type NSRequest_RecycleRequest struct { - Key string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - Cmd NSRequest_RecycleRequest_RECYCLE_CMD `protobuf:"varint,2,opt,name=cmd,enum=eos.rpc.NSRequest_RecycleRequest_RECYCLE_CMD" json:"cmd,omitempty"` - Restoreflag *NSRequest_RecycleRequest_RestoreFlags `protobuf:"bytes,3,opt,name=restoreflag" json:"restoreflag,omitempty"` - Purgedate *NSRequest_RecycleRequest_PurgeDate `protobuf:"bytes,4,opt,name=purgedate" json:"purgedate,omitempty"` -} - -func (m *NSRequest_RecycleRequest) Reset() { *m = NSRequest_RecycleRequest{} } -func (m *NSRequest_RecycleRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_RecycleRequest) ProtoMessage() {} -func (*NSRequest_RecycleRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 8} } - -func (m *NSRequest_RecycleRequest) GetKey() string { - if m != nil { - return m.Key - } - return "" -} - -func (m *NSRequest_RecycleRequest) GetCmd() NSRequest_RecycleRequest_RECYCLE_CMD { - if m != nil { - return m.Cmd - } - return NSRequest_RecycleRequest_RESTORE -} - -func (m *NSRequest_RecycleRequest) GetRestoreflag() *NSRequest_RecycleRequest_RestoreFlags { - if m != nil { - return m.Restoreflag - } - return nil -} - -func (m *NSRequest_RecycleRequest) GetPurgedate() *NSRequest_RecycleRequest_PurgeDate { - if m != nil { - return m.Purgedate - } - return nil -} - -type NSRequest_RecycleRequest_RestoreFlags struct { - Force bool `protobuf:"varint,1,opt,name=force" json:"force,omitempty"` - Mkpath bool `protobuf:"varint,2,opt,name=mkpath" json:"mkpath,omitempty"` - Versions bool `protobuf:"varint,3,opt,name=versions" json:"versions,omitempty"` -} - -func (m *NSRequest_RecycleRequest_RestoreFlags) Reset() { *m = NSRequest_RecycleRequest_RestoreFlags{} } -func (m *NSRequest_RecycleRequest_RestoreFlags) String() string { return proto.CompactTextString(m) } -func (*NSRequest_RecycleRequest_RestoreFlags) ProtoMessage() {} -func (*NSRequest_RecycleRequest_RestoreFlags) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{20, 8, 0} -} - -func (m *NSRequest_RecycleRequest_RestoreFlags) GetForce() bool { - if m != nil { - return m.Force - } - return false -} - -func (m *NSRequest_RecycleRequest_RestoreFlags) GetMkpath() bool { - if m != nil { - return m.Mkpath - } - return false -} - -func (m *NSRequest_RecycleRequest_RestoreFlags) GetVersions() bool { - if m != nil { - return m.Versions - } - return false -} - -type NSRequest_RecycleRequest_PurgeDate struct { - Year int32 `protobuf:"varint,1,opt,name=year" json:"year,omitempty"` - Month int32 `protobuf:"varint,2,opt,name=month" json:"month,omitempty"` - Day int32 `protobuf:"varint,3,opt,name=day" json:"day,omitempty"` -} - -func (m *NSRequest_RecycleRequest_PurgeDate) Reset() { *m = NSRequest_RecycleRequest_PurgeDate{} } -func (m *NSRequest_RecycleRequest_PurgeDate) String() string { return proto.CompactTextString(m) } -func (*NSRequest_RecycleRequest_PurgeDate) ProtoMessage() {} -func (*NSRequest_RecycleRequest_PurgeDate) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{20, 8, 1} -} - -func (m *NSRequest_RecycleRequest_PurgeDate) GetYear() int32 { - if m != nil { - return m.Year - } - return 0 -} - -func (m *NSRequest_RecycleRequest_PurgeDate) GetMonth() int32 { - if m != nil { - return m.Month - } - return 0 -} - -func (m *NSRequest_RecycleRequest_PurgeDate) GetDay() int32 { - if m != nil { - return m.Day - } - return 0 -} - -type NSRequest_SetXAttrRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Xattrs map[string][]byte `protobuf:"bytes,2,rep,name=xattrs" json:"xattrs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value,proto3"` - Recursive bool `protobuf:"varint,3,opt,name=recursive" json:"recursive,omitempty"` - Keystodelete []string `protobuf:"bytes,4,rep,name=keystodelete" json:"keystodelete,omitempty"` -} - -func (m *NSRequest_SetXAttrRequest) Reset() { *m = NSRequest_SetXAttrRequest{} } -func (m *NSRequest_SetXAttrRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_SetXAttrRequest) ProtoMessage() {} -func (*NSRequest_SetXAttrRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 9} } - -func (m *NSRequest_SetXAttrRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSRequest_SetXAttrRequest) GetXattrs() map[string][]byte { - if m != nil { - return m.Xattrs - } - return nil -} - -func (m *NSRequest_SetXAttrRequest) GetRecursive() bool { - if m != nil { - return m.Recursive - } - return false -} - -func (m *NSRequest_SetXAttrRequest) GetKeystodelete() []string { - if m != nil { - return m.Keystodelete - } - return nil -} - -type NSRequest_ChownRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Owner *RoleId `protobuf:"bytes,2,opt,name=owner" json:"owner,omitempty"` -} - -func (m *NSRequest_ChownRequest) Reset() { *m = NSRequest_ChownRequest{} } -func (m *NSRequest_ChownRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_ChownRequest) ProtoMessage() {} -func (*NSRequest_ChownRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 10} } - -func (m *NSRequest_ChownRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSRequest_ChownRequest) GetOwner() *RoleId { - if m != nil { - return m.Owner - } - return nil -} - -type NSRequest_ChmodRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Mode int64 `protobuf:"varint,2,opt,name=mode" json:"mode,omitempty"` -} - -func (m *NSRequest_ChmodRequest) Reset() { *m = NSRequest_ChmodRequest{} } -func (m *NSRequest_ChmodRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_ChmodRequest) ProtoMessage() {} -func (*NSRequest_ChmodRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 11} } - -func (m *NSRequest_ChmodRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSRequest_ChmodRequest) GetMode() int64 { - if m != nil { - return m.Mode - } - return 0 -} - -type NSRequest_AclRequest struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Cmd NSRequest_AclRequest_ACL_COMMAND `protobuf:"varint,2,opt,name=cmd,enum=eos.rpc.NSRequest_AclRequest_ACL_COMMAND" json:"cmd,omitempty"` - Recursive bool `protobuf:"varint,3,opt,name=recursive" json:"recursive,omitempty"` - Type NSRequest_AclRequest_ACL_TYPE `protobuf:"varint,4,opt,name=type,enum=eos.rpc.NSRequest_AclRequest_ACL_TYPE" json:"type,omitempty"` - Rule string `protobuf:"bytes,5,opt,name=rule" json:"rule,omitempty"` -} - -func (m *NSRequest_AclRequest) Reset() { *m = NSRequest_AclRequest{} } -func (m *NSRequest_AclRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_AclRequest) ProtoMessage() {} -func (*NSRequest_AclRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 12} } - -func (m *NSRequest_AclRequest) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSRequest_AclRequest) GetCmd() NSRequest_AclRequest_ACL_COMMAND { - if m != nil { - return m.Cmd - } - return NSRequest_AclRequest_NONE -} - -func (m *NSRequest_AclRequest) GetRecursive() bool { - if m != nil { - return m.Recursive - } - return false -} - -func (m *NSRequest_AclRequest) GetType() NSRequest_AclRequest_ACL_TYPE { - if m != nil { - return m.Type - } - return NSRequest_AclRequest_USER_ACL -} - -func (m *NSRequest_AclRequest) GetRule() string { - if m != nil { - return m.Rule - } - return "" -} - -type NSRequest_TokenRequest struct { - Token *ShareToken `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` -} - -func (m *NSRequest_TokenRequest) Reset() { *m = NSRequest_TokenRequest{} } -func (m *NSRequest_TokenRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_TokenRequest) ProtoMessage() {} -func (*NSRequest_TokenRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 13} } - -func (m *NSRequest_TokenRequest) GetToken() *ShareToken { - if m != nil { - return m.Token - } - return nil -} - -type NSRequest_QuotaRequest struct { - Path []byte `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - Id *RoleId `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` -} - -func (m *NSRequest_QuotaRequest) Reset() { *m = NSRequest_QuotaRequest{} } -func (m *NSRequest_QuotaRequest) String() string { return proto.CompactTextString(m) } -func (*NSRequest_QuotaRequest) ProtoMessage() {} -func (*NSRequest_QuotaRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20, 14} } - -func (m *NSRequest_QuotaRequest) GetPath() []byte { - if m != nil { - return m.Path - } - return nil -} - -func (m *NSRequest_QuotaRequest) GetId() *RoleId { - if m != nil { - return m.Id - } - return nil -} - -type NSResponse struct { - Error *NSResponse_ErrorResponse `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"` - Version *NSResponse_VersionResponse `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"` - Recycle *NSResponse_RecycleResponse `protobuf:"bytes,3,opt,name=recycle" json:"recycle,omitempty"` - Acl *NSResponse_AclResponse `protobuf:"bytes,4,opt,name=acl" json:"acl,omitempty"` - Quota *NSResponse_QuotaResponse `protobuf:"bytes,5,opt,name=quota" json:"quota,omitempty"` -} - -func (m *NSResponse) Reset() { *m = NSResponse{} } -func (m *NSResponse) String() string { return proto.CompactTextString(m) } -func (*NSResponse) ProtoMessage() {} -func (*NSResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } - -func (m *NSResponse) GetError() *NSResponse_ErrorResponse { - if m != nil { - return m.Error - } - return nil -} - -func (m *NSResponse) GetVersion() *NSResponse_VersionResponse { - if m != nil { - return m.Version - } - return nil -} - -func (m *NSResponse) GetRecycle() *NSResponse_RecycleResponse { - if m != nil { - return m.Recycle - } - return nil -} - -func (m *NSResponse) GetAcl() *NSResponse_AclResponse { - if m != nil { - return m.Acl - } - return nil -} - -func (m *NSResponse) GetQuota() *NSResponse_QuotaResponse { - if m != nil { - return m.Quota - } - return nil -} - -type NSResponse_ErrorResponse struct { - Code int64 `protobuf:"varint,1,opt,name=code" json:"code,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg" json:"msg,omitempty"` -} - -func (m *NSResponse_ErrorResponse) Reset() { *m = NSResponse_ErrorResponse{} } -func (m *NSResponse_ErrorResponse) String() string { return proto.CompactTextString(m) } -func (*NSResponse_ErrorResponse) ProtoMessage() {} -func (*NSResponse_ErrorResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21, 0} } - -func (m *NSResponse_ErrorResponse) GetCode() int64 { - if m != nil { - return m.Code - } - return 0 -} - -func (m *NSResponse_ErrorResponse) GetMsg() string { - if m != nil { - return m.Msg - } - return "" -} - -type NSResponse_VersionResponse struct { - Code int64 `protobuf:"varint,1,opt,name=code" json:"code,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg" json:"msg,omitempty"` - Versions []*NSResponse_VersionResponse_VersionInfo `protobuf:"bytes,3,rep,name=versions" json:"versions,omitempty"` -} - -func (m *NSResponse_VersionResponse) Reset() { *m = NSResponse_VersionResponse{} } -func (m *NSResponse_VersionResponse) String() string { return proto.CompactTextString(m) } -func (*NSResponse_VersionResponse) ProtoMessage() {} -func (*NSResponse_VersionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21, 1} } - -func (m *NSResponse_VersionResponse) GetCode() int64 { - if m != nil { - return m.Code - } - return 0 -} - -func (m *NSResponse_VersionResponse) GetMsg() string { - if m != nil { - return m.Msg - } - return "" -} - -func (m *NSResponse_VersionResponse) GetVersions() []*NSResponse_VersionResponse_VersionInfo { - if m != nil { - return m.Versions - } - return nil -} - -type NSResponse_VersionResponse_VersionInfo struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Mtime *Time `protobuf:"bytes,2,opt,name=mtime" json:"mtime,omitempty"` -} - -func (m *NSResponse_VersionResponse_VersionInfo) Reset() { - *m = NSResponse_VersionResponse_VersionInfo{} -} -func (m *NSResponse_VersionResponse_VersionInfo) String() string { return proto.CompactTextString(m) } -func (*NSResponse_VersionResponse_VersionInfo) ProtoMessage() {} -func (*NSResponse_VersionResponse_VersionInfo) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{21, 1, 0} -} - -func (m *NSResponse_VersionResponse_VersionInfo) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSResponse_VersionResponse_VersionInfo) GetMtime() *Time { - if m != nil { - return m.Mtime - } - return nil -} - -type NSResponse_RecycleResponse struct { - Code int64 `protobuf:"varint,1,opt,name=code" json:"code,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg" json:"msg,omitempty"` - Recycles []*NSResponse_RecycleResponse_RecycleInfo `protobuf:"bytes,3,rep,name=recycles" json:"recycles,omitempty"` -} - -func (m *NSResponse_RecycleResponse) Reset() { *m = NSResponse_RecycleResponse{} } -func (m *NSResponse_RecycleResponse) String() string { return proto.CompactTextString(m) } -func (*NSResponse_RecycleResponse) ProtoMessage() {} -func (*NSResponse_RecycleResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21, 2} } - -func (m *NSResponse_RecycleResponse) GetCode() int64 { - if m != nil { - return m.Code - } - return 0 -} - -func (m *NSResponse_RecycleResponse) GetMsg() string { - if m != nil { - return m.Msg - } - return "" -} - -func (m *NSResponse_RecycleResponse) GetRecycles() []*NSResponse_RecycleResponse_RecycleInfo { - if m != nil { - return m.Recycles - } - return nil -} - -type NSResponse_RecycleResponse_RecycleInfo struct { - Id *MDId `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Owner *RoleId `protobuf:"bytes,2,opt,name=owner" json:"owner,omitempty"` - Dtime *Time `protobuf:"bytes,3,opt,name=dtime" json:"dtime,omitempty"` - Size uint64 `protobuf:"varint,4,opt,name=size" json:"size,omitempty"` - Type NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE `protobuf:"varint,5,opt,name=type,enum=eos.rpc.NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE" json:"type,omitempty"` - Key string `protobuf:"bytes,6,opt,name=key" json:"key,omitempty"` -} - -func (m *NSResponse_RecycleResponse_RecycleInfo) Reset() { - *m = NSResponse_RecycleResponse_RecycleInfo{} -} -func (m *NSResponse_RecycleResponse_RecycleInfo) String() string { return proto.CompactTextString(m) } -func (*NSResponse_RecycleResponse_RecycleInfo) ProtoMessage() {} -func (*NSResponse_RecycleResponse_RecycleInfo) Descriptor() ([]byte, []int) { - return fileDescriptor0, []int{21, 2, 0} -} - -func (m *NSResponse_RecycleResponse_RecycleInfo) GetId() *MDId { - if m != nil { - return m.Id - } - return nil -} - -func (m *NSResponse_RecycleResponse_RecycleInfo) GetOwner() *RoleId { - if m != nil { - return m.Owner - } - return nil -} - -func (m *NSResponse_RecycleResponse_RecycleInfo) GetDtime() *Time { - if m != nil { - return m.Dtime - } - return nil -} - -func (m *NSResponse_RecycleResponse_RecycleInfo) GetSize() uint64 { - if m != nil { - return m.Size - } - return 0 -} - -func (m *NSResponse_RecycleResponse_RecycleInfo) GetType() NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE { - if m != nil { - return m.Type - } - return NSResponse_RecycleResponse_RecycleInfo_FILE -} - -func (m *NSResponse_RecycleResponse_RecycleInfo) GetKey() string { - if m != nil { - return m.Key - } - return "" -} - -type NSResponse_AclResponse struct { - Code int64 `protobuf:"varint,1,opt,name=code" json:"code,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg" json:"msg,omitempty"` - Rule string `protobuf:"bytes,3,opt,name=rule" json:"rule,omitempty"` -} - -func (m *NSResponse_AclResponse) Reset() { *m = NSResponse_AclResponse{} } -func (m *NSResponse_AclResponse) String() string { return proto.CompactTextString(m) } -func (*NSResponse_AclResponse) ProtoMessage() {} -func (*NSResponse_AclResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21, 3} } - -func (m *NSResponse_AclResponse) GetCode() int64 { - if m != nil { - return m.Code - } - return 0 -} - -func (m *NSResponse_AclResponse) GetMsg() string { - if m != nil { - return m.Msg - } - return "" -} - -func (m *NSResponse_AclResponse) GetRule() string { - if m != nil { - return m.Rule - } - return "" -} - -type NSResponse_QuotaResponse struct { - Code int64 `protobuf:"varint,1,opt,name=code" json:"code,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg" json:"msg,omitempty"` - Quotanode []*QuotaProto `protobuf:"bytes,3,rep,name=quotanode" json:"quotanode,omitempty"` -} - -func (m *NSResponse_QuotaResponse) Reset() { *m = NSResponse_QuotaResponse{} } -func (m *NSResponse_QuotaResponse) String() string { return proto.CompactTextString(m) } -func (*NSResponse_QuotaResponse) ProtoMessage() {} -func (*NSResponse_QuotaResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21, 4} } - -func (m *NSResponse_QuotaResponse) GetCode() int64 { - if m != nil { - return m.Code - } - return 0 -} - -func (m *NSResponse_QuotaResponse) GetMsg() string { - if m != nil { - return m.Msg - } - return "" -} - -func (m *NSResponse_QuotaResponse) GetQuotanode() []*QuotaProto { - if m != nil { - return m.Quotanode - } - return nil -} - -type NsStatRequest struct { - Authkey string `protobuf:"bytes,1,opt,name=authkey" json:"authkey,omitempty"` -} - -func (m *NsStatRequest) Reset() { *m = NsStatRequest{} } -func (m *NsStatRequest) String() string { return proto.CompactTextString(m) } -func (*NsStatRequest) ProtoMessage() {} -func (*NsStatRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } - -func (m *NsStatRequest) GetAuthkey() string { - if m != nil { - return m.Authkey - } - return "" -} - -type NsStatResponse struct { - Code int64 `protobuf:"varint,1,opt,name=code" json:"code,omitempty"` - Emsg string `protobuf:"bytes,2,opt,name=emsg" json:"emsg,omitempty"` - State string `protobuf:"bytes,3,opt,name=state" json:"state,omitempty"` - Nfiles uint64 `protobuf:"varint,4,opt,name=nfiles" json:"nfiles,omitempty"` - Ncontainers uint64 `protobuf:"varint,5,opt,name=ncontainers" json:"ncontainers,omitempty"` - BootTime uint64 `protobuf:"varint,6,opt,name=boot_time,json=bootTime" json:"boot_time,omitempty"` - CurrentFid uint64 `protobuf:"varint,7,opt,name=current_fid,json=currentFid" json:"current_fid,omitempty"` - CurrentCid uint64 `protobuf:"varint,8,opt,name=current_cid,json=currentCid" json:"current_cid,omitempty"` - MemVirtual uint64 `protobuf:"varint,9,opt,name=mem_virtual,json=memVirtual" json:"mem_virtual,omitempty"` - MemResident uint64 `protobuf:"varint,10,opt,name=mem_resident,json=memResident" json:"mem_resident,omitempty"` - MemShare uint64 `protobuf:"varint,11,opt,name=mem_share,json=memShare" json:"mem_share,omitempty"` - MemGrowth uint64 `protobuf:"varint,12,opt,name=mem_growth,json=memGrowth" json:"mem_growth,omitempty"` - Threads uint64 `protobuf:"varint,13,opt,name=threads" json:"threads,omitempty"` - Fds uint64 `protobuf:"varint,14,opt,name=fds" json:"fds,omitempty"` - Uptime uint64 `protobuf:"varint,15,opt,name=uptime" json:"uptime,omitempty"` -} - -func (m *NsStatResponse) Reset() { *m = NsStatResponse{} } -func (m *NsStatResponse) String() string { return proto.CompactTextString(m) } -func (*NsStatResponse) ProtoMessage() {} -func (*NsStatResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } - -func (m *NsStatResponse) GetCode() int64 { - if m != nil { - return m.Code - } - return 0 -} - -func (m *NsStatResponse) GetEmsg() string { - if m != nil { - return m.Emsg - } - return "" -} - -func (m *NsStatResponse) GetState() string { - if m != nil { - return m.State - } - return "" -} - -func (m *NsStatResponse) GetNfiles() uint64 { - if m != nil { - return m.Nfiles - } - return 0 -} - -func (m *NsStatResponse) GetNcontainers() uint64 { - if m != nil { - return m.Ncontainers - } - return 0 -} - -func (m *NsStatResponse) GetBootTime() uint64 { - if m != nil { - return m.BootTime - } - return 0 -} - -func (m *NsStatResponse) GetCurrentFid() uint64 { - if m != nil { - return m.CurrentFid - } - return 0 -} - -func (m *NsStatResponse) GetCurrentCid() uint64 { - if m != nil { - return m.CurrentCid - } - return 0 -} - -func (m *NsStatResponse) GetMemVirtual() uint64 { - if m != nil { - return m.MemVirtual - } - return 0 -} - -func (m *NsStatResponse) GetMemResident() uint64 { - if m != nil { - return m.MemResident - } - return 0 -} - -func (m *NsStatResponse) GetMemShare() uint64 { - if m != nil { - return m.MemShare - } - return 0 -} - -func (m *NsStatResponse) GetMemGrowth() uint64 { - if m != nil { - return m.MemGrowth - } - return 0 -} - -func (m *NsStatResponse) GetThreads() uint64 { - if m != nil { - return m.Threads - } - return 0 -} - -func (m *NsStatResponse) GetFds() uint64 { - if m != nil { - return m.Fds - } - return 0 -} - -func (m *NsStatResponse) GetUptime() uint64 { - if m != nil { - return m.Uptime - } - return 0 -} - -type ManilaRequest struct { - RequestType MANILA_REQUEST_TYPE `protobuf:"varint,1,opt,name=request_type,json=requestType,enum=eos.rpc.MANILA_REQUEST_TYPE" json:"request_type,omitempty"` - AuthKey string `protobuf:"bytes,2,opt,name=auth_key,json=authKey" json:"auth_key,omitempty"` - Protocol string `protobuf:"bytes,3,opt,name=protocol" json:"protocol,omitempty"` - ShareName string `protobuf:"bytes,4,opt,name=share_name,json=shareName" json:"share_name,omitempty"` - Description string `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"` - ShareId string `protobuf:"bytes,6,opt,name=share_id,json=shareId" json:"share_id,omitempty"` - ShareGroupId string `protobuf:"bytes,7,opt,name=share_group_id,json=shareGroupId" json:"share_group_id,omitempty"` - Quota int32 `protobuf:"varint,8,opt,name=quota" json:"quota,omitempty"` - Creator string `protobuf:"bytes,9,opt,name=creator" json:"creator,omitempty"` - Egroup string `protobuf:"bytes,10,opt,name=egroup" json:"egroup,omitempty"` - AdminEgroup string `protobuf:"bytes,11,opt,name=admin_egroup,json=adminEgroup" json:"admin_egroup,omitempty"` - ShareHost string `protobuf:"bytes,12,opt,name=share_host,json=shareHost" json:"share_host,omitempty"` - ShareLocation string `protobuf:"bytes,13,opt,name=share_location,json=shareLocation" json:"share_location,omitempty"` -} - -func (m *ManilaRequest) Reset() { *m = ManilaRequest{} } -func (m *ManilaRequest) String() string { return proto.CompactTextString(m) } -func (*ManilaRequest) ProtoMessage() {} -func (*ManilaRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } - -func (m *ManilaRequest) GetRequestType() MANILA_REQUEST_TYPE { - if m != nil { - return m.RequestType - } - return MANILA_REQUEST_TYPE_CREATE_SHARE -} - -func (m *ManilaRequest) GetAuthKey() string { - if m != nil { - return m.AuthKey - } - return "" -} - -func (m *ManilaRequest) GetProtocol() string { - if m != nil { - return m.Protocol - } - return "" -} - -func (m *ManilaRequest) GetShareName() string { - if m != nil { - return m.ShareName - } - return "" -} - -func (m *ManilaRequest) GetDescription() string { - if m != nil { - return m.Description - } - return "" -} - -func (m *ManilaRequest) GetShareId() string { - if m != nil { - return m.ShareId - } - return "" -} - -func (m *ManilaRequest) GetShareGroupId() string { - if m != nil { - return m.ShareGroupId - } - return "" -} - -func (m *ManilaRequest) GetQuota() int32 { - if m != nil { - return m.Quota - } - return 0 -} - -func (m *ManilaRequest) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *ManilaRequest) GetEgroup() string { - if m != nil { - return m.Egroup - } - return "" -} - -func (m *ManilaRequest) GetAdminEgroup() string { - if m != nil { - return m.AdminEgroup - } - return "" -} - -func (m *ManilaRequest) GetShareHost() string { - if m != nil { - return m.ShareHost - } - return "" -} - -func (m *ManilaRequest) GetShareLocation() string { - if m != nil { - return m.ShareLocation - } - return "" -} - -type ManilaResponse struct { - Msg string `protobuf:"bytes,1,opt,name=msg" json:"msg,omitempty"` - Code int32 `protobuf:"varint,2,opt,name=code" json:"code,omitempty"` - TotalUsed int64 `protobuf:"varint,3,opt,name=total_used,json=totalUsed" json:"total_used,omitempty"` - TotalCapacity int64 `protobuf:"varint,4,opt,name=total_capacity,json=totalCapacity" json:"total_capacity,omitempty"` - NewShareQuota int64 `protobuf:"varint,5,opt,name=new_share_quota,json=newShareQuota" json:"new_share_quota,omitempty"` - NewSharePath string `protobuf:"bytes,6,opt,name=new_share_path,json=newSharePath" json:"new_share_path,omitempty"` -} - -func (m *ManilaResponse) Reset() { *m = ManilaResponse{} } -func (m *ManilaResponse) String() string { return proto.CompactTextString(m) } -func (*ManilaResponse) ProtoMessage() {} -func (*ManilaResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } - -func (m *ManilaResponse) GetMsg() string { - if m != nil { - return m.Msg - } - return "" -} - -func (m *ManilaResponse) GetCode() int32 { - if m != nil { - return m.Code - } - return 0 -} - -func (m *ManilaResponse) GetTotalUsed() int64 { - if m != nil { - return m.TotalUsed - } - return 0 -} - -func (m *ManilaResponse) GetTotalCapacity() int64 { - if m != nil { - return m.TotalCapacity - } - return 0 -} - -func (m *ManilaResponse) GetNewShareQuota() int64 { - if m != nil { - return m.NewShareQuota - } - return 0 -} - -func (m *ManilaResponse) GetNewSharePath() string { - if m != nil { - return m.NewSharePath - } - return "" -} - -func init() { - proto.RegisterType((*PingRequest)(nil), "eos.rpc.PingRequest") - proto.RegisterType((*PingReply)(nil), "eos.rpc.PingReply") - proto.RegisterType((*ContainerInsertRequest)(nil), "eos.rpc.ContainerInsertRequest") - proto.RegisterType((*FileInsertRequest)(nil), "eos.rpc.FileInsertRequest") - proto.RegisterType((*InsertReply)(nil), "eos.rpc.InsertReply") - proto.RegisterType((*Time)(nil), "eos.rpc.Time") - proto.RegisterType((*Checksum)(nil), "eos.rpc.Checksum") - proto.RegisterType((*FileMdProto)(nil), "eos.rpc.FileMdProto") - proto.RegisterType((*ContainerMdProto)(nil), "eos.rpc.ContainerMdProto") - proto.RegisterType((*QuotaProto)(nil), "eos.rpc.QuotaProto") - proto.RegisterType((*RoleId)(nil), "eos.rpc.RoleId") - proto.RegisterType((*MDId)(nil), "eos.rpc.MDId") - proto.RegisterType((*Limit)(nil), "eos.rpc.Limit") - proto.RegisterType((*MDSelection)(nil), "eos.rpc.MDSelection") - proto.RegisterType((*MDRequest)(nil), "eos.rpc.MDRequest") - proto.RegisterType((*MDResponse)(nil), "eos.rpc.MDResponse") - proto.RegisterType((*FindRequest)(nil), "eos.rpc.FindRequest") - proto.RegisterType((*ShareAuth)(nil), "eos.rpc.ShareAuth") - proto.RegisterType((*ShareProto)(nil), "eos.rpc.ShareProto") - proto.RegisterType((*ShareToken)(nil), "eos.rpc.ShareToken") - proto.RegisterType((*NSRequest)(nil), "eos.rpc.NSRequest") - proto.RegisterType((*NSRequest_MkdirRequest)(nil), "eos.rpc.NSRequest.MkdirRequest") - proto.RegisterType((*NSRequest_RmdirRequest)(nil), "eos.rpc.NSRequest.RmdirRequest") - proto.RegisterType((*NSRequest_TouchRequest)(nil), "eos.rpc.NSRequest.TouchRequest") - proto.RegisterType((*NSRequest_UnlinkRequest)(nil), "eos.rpc.NSRequest.UnlinkRequest") - proto.RegisterType((*NSRequest_RmRequest)(nil), "eos.rpc.NSRequest.RmRequest") - proto.RegisterType((*NSRequest_RenameRequest)(nil), "eos.rpc.NSRequest.RenameRequest") - proto.RegisterType((*NSRequest_SymlinkRequest)(nil), "eos.rpc.NSRequest.SymlinkRequest") - proto.RegisterType((*NSRequest_VersionRequest)(nil), "eos.rpc.NSRequest.VersionRequest") - proto.RegisterType((*NSRequest_RecycleRequest)(nil), "eos.rpc.NSRequest.RecycleRequest") - proto.RegisterType((*NSRequest_RecycleRequest_RestoreFlags)(nil), "eos.rpc.NSRequest.RecycleRequest.RestoreFlags") - proto.RegisterType((*NSRequest_RecycleRequest_PurgeDate)(nil), "eos.rpc.NSRequest.RecycleRequest.PurgeDate") - proto.RegisterType((*NSRequest_SetXAttrRequest)(nil), "eos.rpc.NSRequest.SetXAttrRequest") - proto.RegisterType((*NSRequest_ChownRequest)(nil), "eos.rpc.NSRequest.ChownRequest") - proto.RegisterType((*NSRequest_ChmodRequest)(nil), "eos.rpc.NSRequest.ChmodRequest") - proto.RegisterType((*NSRequest_AclRequest)(nil), "eos.rpc.NSRequest.AclRequest") - proto.RegisterType((*NSRequest_TokenRequest)(nil), "eos.rpc.NSRequest.TokenRequest") - proto.RegisterType((*NSRequest_QuotaRequest)(nil), "eos.rpc.NSRequest.QuotaRequest") - proto.RegisterType((*NSResponse)(nil), "eos.rpc.NSResponse") - proto.RegisterType((*NSResponse_ErrorResponse)(nil), "eos.rpc.NSResponse.ErrorResponse") - proto.RegisterType((*NSResponse_VersionResponse)(nil), "eos.rpc.NSResponse.VersionResponse") - proto.RegisterType((*NSResponse_VersionResponse_VersionInfo)(nil), "eos.rpc.NSResponse.VersionResponse.VersionInfo") - proto.RegisterType((*NSResponse_RecycleResponse)(nil), "eos.rpc.NSResponse.RecycleResponse") - proto.RegisterType((*NSResponse_RecycleResponse_RecycleInfo)(nil), "eos.rpc.NSResponse.RecycleResponse.RecycleInfo") - proto.RegisterType((*NSResponse_AclResponse)(nil), "eos.rpc.NSResponse.AclResponse") - proto.RegisterType((*NSResponse_QuotaResponse)(nil), "eos.rpc.NSResponse.QuotaResponse") - proto.RegisterType((*NsStatRequest)(nil), "eos.rpc.NsStatRequest") - proto.RegisterType((*NsStatResponse)(nil), "eos.rpc.NsStatResponse") - proto.RegisterType((*ManilaRequest)(nil), "eos.rpc.ManilaRequest") - proto.RegisterType((*ManilaResponse)(nil), "eos.rpc.ManilaResponse") - proto.RegisterEnum("eos.rpc.TYPE", TYPE_name, TYPE_value) - proto.RegisterEnum("eos.rpc.QUOTATYPE", QUOTATYPE_name, QUOTATYPE_value) - proto.RegisterEnum("eos.rpc.MANILA_REQUEST_TYPE", MANILA_REQUEST_TYPE_name, MANILA_REQUEST_TYPE_value) - proto.RegisterEnum("eos.rpc.NSRequest_VersionRequest_VERSION_CMD", NSRequest_VersionRequest_VERSION_CMD_name, NSRequest_VersionRequest_VERSION_CMD_value) - proto.RegisterEnum("eos.rpc.NSRequest_RecycleRequest_RECYCLE_CMD", NSRequest_RecycleRequest_RECYCLE_CMD_name, NSRequest_RecycleRequest_RECYCLE_CMD_value) - proto.RegisterEnum("eos.rpc.NSRequest_AclRequest_ACL_COMMAND", NSRequest_AclRequest_ACL_COMMAND_name, NSRequest_AclRequest_ACL_COMMAND_value) - proto.RegisterEnum("eos.rpc.NSRequest_AclRequest_ACL_TYPE", NSRequest_AclRequest_ACL_TYPE_name, NSRequest_AclRequest_ACL_TYPE_value) - proto.RegisterEnum("eos.rpc.NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE", NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_name, NSResponse_RecycleResponse_RecycleInfo_DELETIONTYPE_value) -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// Client API for Eos service - -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.ClientConn -} - -func NewEosClient(cc *grpc.ClientConn) EosClient { - return &eosClient{cc} -} - -func (c *eosClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingReply, error) { - out := new(PingReply) - err := grpc.Invoke(ctx, "/eos.rpc.Eos/Ping", in, out, c.cc, 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 := grpc.NewClientStream(ctx, &_Eos_serviceDesc.Streams[0], c.cc, "/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 := grpc.NewClientStream(ctx, &_Eos_serviceDesc.Streams[1], c.cc, "/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 := grpc.Invoke(ctx, "/eos.rpc.Eos/NsStat", in, out, c.cc, 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 := grpc.Invoke(ctx, "/eos.rpc.Eos/ContainerInsert", in, out, c.cc, 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 := grpc.Invoke(ctx, "/eos.rpc.Eos/FileInsert", in, out, c.cc, 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 := grpc.Invoke(ctx, "/eos.rpc.Eos/Exec", in, out, c.cc, 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 := grpc.Invoke(ctx, "/eos.rpc.Eos/ManilaServerRequest", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// 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) -} - -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: "eos_grpc.proto", -} - -func init() { proto.RegisterFile("eos_grpc.proto", fileDescriptor0) } - -var fileDescriptor0 = []byte{ - // 3464 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x3a, 0x4d, 0x93, 0xdb, 0x46, - 0x76, 0x22, 0x41, 0x72, 0x88, 0x47, 0x72, 0x86, 0x6a, 0x29, 0x32, 0x4d, 0x49, 0xd6, 0x18, 0xb2, - 0x9c, 0xb1, 0x76, 0x35, 0xbb, 0x56, 0xe2, 0xb5, 0xd7, 0x8e, 0xcb, 0xa1, 0x67, 0x38, 0x23, 0xae, - 0xe7, 0xcb, 0x4d, 0xca, 0x25, 0xe5, 0xc2, 0x82, 0x81, 0x16, 0x07, 0x25, 0x02, 0xe0, 0x02, 0xa0, - 0x34, 0xe3, 0x73, 0x2e, 0xd9, 0x5b, 0xaa, 0xf6, 0x90, 0xaa, 0xdc, 0x72, 0xc8, 0x25, 0xb9, 0xe4, - 0x9a, 0xd3, 0x9e, 0x73, 0x48, 0x2e, 0xa9, 0xca, 0x2d, 0x7f, 0x20, 0xe7, 0xdc, 0x53, 0xef, 0x75, - 0x03, 0x68, 0xcc, 0x90, 0xc3, 0x71, 0xd6, 0xb7, 0x7e, 0xaf, 0xdf, 0x7b, 0xdd, 0xfd, 0xbe, 0xd1, - 0x0d, 0x58, 0x17, 0x61, 0x3c, 0x9e, 0x44, 0x33, 0x67, 0x7b, 0x16, 0x85, 0x49, 0xc8, 0xd6, 0x44, - 0x18, 0x6f, 0x47, 0x33, 0xc7, 0xea, 0x41, 0xe3, 0xc4, 0x0b, 0x26, 0x5c, 0xfc, 0x76, 0x2e, 0xe2, - 0x84, 0x75, 0x60, 0xcd, 0x9e, 0x27, 0xa7, 0xaf, 0xc5, 0x79, 0xa7, 0xb4, 0x59, 0xda, 0x32, 0x79, - 0x0a, 0xe2, 0x8c, 0x2f, 0xe2, 0xd8, 0x9e, 0x88, 0x4e, 0x79, 0xb3, 0xb4, 0xd5, 0xe4, 0x29, 0x68, - 0x3d, 0x02, 0x53, 0x8a, 0x98, 0x4d, 0x0b, 0x64, 0xa5, 0x22, 0xd9, 0xef, 0x4a, 0x70, 0x67, 0x27, - 0x0c, 0x12, 0xdb, 0x0b, 0x44, 0x34, 0x08, 0x62, 0x11, 0x25, 0xe9, 0xaa, 0x9f, 0x82, 0xe9, 0xa4, - 0x33, 0x9d, 0xd2, 0xa6, 0xb1, 0xd5, 0x78, 0xfa, 0xee, 0xb6, 0xda, 0xe1, 0x76, 0xc6, 0x73, 0xe8, - 0x9e, 0xe0, 0xde, 0x79, 0x4e, 0xab, 0x6f, 0xb7, 0x5c, 0xdc, 0xee, 0x7d, 0x00, 0x2f, 0x38, 0x15, - 0x91, 0x97, 0x8c, 0x7d, 0xb7, 0x63, 0x6c, 0x96, 0xb6, 0xea, 0xdc, 0x54, 0x98, 0x43, 0xd7, 0x7a, - 0x09, 0x37, 0xf7, 0xbc, 0xa9, 0x28, 0x6e, 0xe3, 0x31, 0x54, 0x5f, 0x79, 0x53, 0x11, 0xab, 0x2d, - 0xdc, 0xce, 0xb6, 0x80, 0xa4, 0xe9, 0xea, 0x92, 0x64, 0xf9, 0xca, 0xd6, 0x17, 0xd0, 0x48, 0xc5, - 0x5e, 0x52, 0x88, 0x81, 0x84, 0x0a, 0x64, 0x0c, 0x2a, 0x91, 0x48, 0x9c, 0x4e, 0x79, 0xd3, 0xd8, - 0x6a, 0x71, 0x1a, 0x5b, 0x4f, 0xa0, 0x32, 0xf2, 0x7c, 0xc1, 0xda, 0x60, 0xc4, 0xc2, 0x21, 0x15, - 0x56, 0x38, 0x0e, 0xd9, 0x2d, 0xa8, 0x06, 0x63, 0xc4, 0x95, 0x09, 0x57, 0x09, 0x86, 0xc2, 0xb1, - 0xfe, 0x1c, 0xea, 0x3b, 0xa7, 0xc2, 0x79, 0x1d, 0xcf, 0x7d, 0x76, 0x1b, 0xaa, 0x6f, 0xec, 0xe9, - 0x3c, 0xd5, 0xbb, 0x04, 0x70, 0x91, 0xe4, 0x7c, 0x26, 0xd4, 0x26, 0x69, 0x6c, 0xfd, 0x4b, 0x05, - 0x1a, 0xda, 0x91, 0xd8, 0x3a, 0x94, 0x3d, 0x57, 0xad, 0x55, 0xf6, 0x5c, 0xf6, 0x0e, 0xac, 0xa1, - 0x8a, 0xc7, 0x9e, 0xab, 0x16, 0xab, 0x21, 0x38, 0x70, 0x71, 0x57, 0x73, 0x4f, 0x6a, 0xb3, 0xc2, - 0x71, 0x88, 0x98, 0x89, 0xe7, 0x76, 0x2a, 0x12, 0x33, 0xf1, 0x5c, 0x5c, 0x30, 0xf6, 0x7e, 0x10, - 0x9d, 0xaa, 0xdc, 0x26, 0x8e, 0xd9, 0x5d, 0x30, 0xa7, 0xf6, 0x79, 0x38, 0x27, 0x91, 0xb5, 0xcd, - 0xd2, 0x56, 0x8b, 0xd7, 0x25, 0x62, 0xe0, 0xe2, 0xbe, 0x5f, 0x4d, 0xed, 0x49, 0xdc, 0x59, 0xa3, - 0x09, 0x09, 0xa0, 0x98, 0xc0, 0xf6, 0x45, 0xa7, 0x4e, 0x87, 0xa1, 0x31, 0x89, 0xf1, 0x82, 0xd7, - 0x63, 0x9a, 0x30, 0x69, 0xa2, 0x8e, 0x88, 0x23, 0x9c, 0x7c, 0x08, 0x55, 0x27, 0xf1, 0x7c, 0xd1, - 0x81, 0xcd, 0xd2, 0x56, 0xe3, 0x69, 0x2b, 0x33, 0x1e, 0xea, 0x93, 0xcb, 0x39, 0x24, 0xf2, 0x89, - 0xa8, 0xb1, 0x90, 0x88, 0xe6, 0xd8, 0x13, 0xa8, 0x3b, 0x4a, 0xa9, 0x9d, 0x26, 0xd1, 0xdd, 0xcc, - 0x9d, 0x51, 0x4d, 0xf0, 0x8c, 0x84, 0xdd, 0x03, 0x73, 0x1a, 0x3a, 0x76, 0xe2, 0x85, 0x41, 0xdc, - 0x69, 0x91, 0x2d, 0x73, 0x04, 0xfb, 0x08, 0xda, 0xf3, 0x80, 0x76, 0x9d, 0x13, 0xad, 0x13, 0xd1, - 0x86, 0xc4, 0x1f, 0x64, 0xa4, 0x9f, 0x41, 0xed, 0xcc, 0x4e, 0x92, 0x28, 0xee, 0x6c, 0x90, 0xff, - 0x6d, 0x2e, 0xf2, 0xbf, 0xed, 0x17, 0x44, 0xd2, 0x0f, 0x92, 0xe8, 0x9c, 0x2b, 0x7a, 0x54, 0xd6, - 0xcc, 0x4e, 0x4e, 0x3b, 0x6d, 0xa9, 0x2c, 0x1c, 0x23, 0x4e, 0x24, 0xf6, 0xa4, 0x73, 0x53, 0x1a, - 0x1e, 0xc7, 0xdd, 0x5f, 0x43, 0x43, 0x63, 0x47, 0xe3, 0xe5, 0x81, 0x8e, 0xc3, 0xdc, 0x87, 0xca, - 0x9a, 0x0f, 0x7d, 0x5e, 0xfe, 0xac, 0x64, 0xfd, 0x87, 0x01, 0xed, 0x8b, 0x91, 0x78, 0xc9, 0x71, - 0xee, 0x82, 0x39, 0xb3, 0x23, 0xa1, 0xbb, 0x4e, 0x5d, 0x22, 0xae, 0xe9, 0x3c, 0x77, 0xc1, 0x4c, - 0x22, 0x21, 0xc6, 0xe4, 0x41, 0xe8, 0x28, 0x06, 0xaf, 0x23, 0x62, 0x88, 0x5e, 0xc4, 0xa0, 0xe2, - 0x87, 0xae, 0xf4, 0xac, 0x16, 0xa7, 0xf1, 0x8f, 0x70, 0x9e, 0xcc, 0x3f, 0xcc, 0xeb, 0xf8, 0x07, - 0x5c, 0xe1, 0x1f, 0x0f, 0xa1, 0x1a, 0x5f, 0xe1, 0x44, 0x34, 0xc7, 0xbe, 0xcc, 0x8c, 0xd9, 0x24, - 0x63, 0x3e, 0x5a, 0x9a, 0xcf, 0xae, 0xb4, 0x68, 0x6b, 0x81, 0x45, 0xd7, 0x7f, 0x1a, 0x8b, 0xfe, - 0xbb, 0x01, 0xf0, 0xed, 0x3c, 0x4c, 0x6c, 0x69, 0xcb, 0x74, 0xc5, 0x52, 0x71, 0x45, 0xd2, 0xa3, - 0x4a, 0x1e, 0xa4, 0xc7, 0x0f, 0x55, 0x42, 0x41, 0x3b, 0xae, 0x3f, 0x65, 0xd9, 0xb1, 0xbe, 0x7d, - 0x7e, 0x3c, 0xea, 0x8d, 0x5e, 0x9e, 0xf4, 0x65, 0x92, 0xc1, 0xb0, 0x98, 0xc7, 0xc2, 0xfd, 0xfe, - 0x3c, 0x11, 0xb1, 0x32, 0x71, 0x8e, 0x60, 0x8f, 0xa1, 0x8d, 0xc0, 0x34, 0x9c, 0x78, 0x8e, 0x3d, - 0x95, 0x44, 0x32, 0x63, 0x5c, 0xc2, 0xa7, 0x92, 0x64, 0x6a, 0xae, 0xe5, 0x92, 0x64, 0x22, 0xee, - 0x42, 0xdd, 0xb7, 0xcf, 0xa4, 0x84, 0x35, 0xe9, 0x72, 0x29, 0xcc, 0xb6, 0x60, 0xc3, 0xb7, 0xcf, - 0x0a, 0x8b, 0xd4, 0x89, 0xe4, 0x22, 0x5a, 0x49, 0x91, 0x4b, 0x98, 0x99, 0x14, 0xb9, 0xc2, 0x2f, - 0xe1, 0xd6, 0x4c, 0x44, 0x8e, 0x08, 0x12, 0x7b, 0x22, 0xf2, 0x33, 0xa1, 0x8b, 0x94, 0xf9, 0xa2, - 0xa9, 0xcb, 0x1c, 0x52, 0x70, 0x63, 0x11, 0x87, 0x5c, 0x63, 0x13, 0x1a, 0x71, 0x62, 0x27, 0xf3, - 0x58, 0xca, 0x6e, 0x92, 0xc2, 0x75, 0x54, 0x4e, 0x21, 0x65, 0xb5, 0x74, 0x0a, 0x42, 0x59, 0xaf, - 0xa0, 0xc6, 0xc3, 0xa9, 0xc8, 0x43, 0xad, 0x74, 0x29, 0xd4, 0xca, 0x79, 0xa8, 0x75, 0xa1, 0x3e, - 0x8f, 0x45, 0x44, 0xf6, 0x35, 0x48, 0x58, 0x06, 0xa3, 0xc6, 0x27, 0x51, 0x38, 0x9f, 0xd1, 0x64, - 0x85, 0x26, 0x73, 0x84, 0x35, 0x86, 0xca, 0xe1, 0xee, 0xc0, 0x5d, 0xe8, 0x31, 0x32, 0x23, 0xe0, - 0x32, 0x35, 0xca, 0x08, 0x6d, 0x30, 0xbc, 0x20, 0xa4, 0x05, 0x6a, 0x1c, 0x87, 0xec, 0x7d, 0xe5, - 0x3f, 0x15, 0xf2, 0x1f, 0x2d, 0x78, 0x32, 0xd7, 0xb1, 0xbe, 0x82, 0xea, 0x81, 0xe7, 0x7b, 0x09, - 0xae, 0xf0, 0x83, 0x88, 0x42, 0x5a, 0xa1, 0xce, 0x69, 0x8c, 0x12, 0x7d, 0x2f, 0x48, 0x4f, 0xe2, - 0x7b, 0x01, 0x61, 0xec, 0xb3, 0x34, 0xb1, 0xf8, 0xf6, 0x99, 0xf5, 0x8f, 0x35, 0x68, 0x1c, 0xee, - 0x0e, 0xc5, 0x54, 0x38, 0x98, 0x5a, 0xd9, 0x1d, 0xa8, 0xc5, 0x04, 0x28, 0x49, 0x0a, 0x62, 0x1f, - 0xa4, 0x39, 0xa1, 0x4c, 0x91, 0xbc, 0x9e, 0x6d, 0x86, 0x96, 0x4f, 0x93, 0xc2, 0x07, 0x69, 0x52, - 0x30, 0x16, 0x53, 0xf9, 0x29, 0x95, 0xcc, 0x0a, 0x95, 0xc5, 0x54, 0x32, 0x2d, 0x58, 0x5a, 0x75, - 0xbc, 0x4c, 0x24, 0xab, 0xe5, 0x63, 0xa0, 0x9c, 0x97, 0xe5, 0xc0, 0xcb, 0x74, 0xd9, 0x3c, 0xd2, - 0x3a, 0xa7, 0xde, 0xd4, 0x8d, 0x44, 0x40, 0xde, 0xbf, 0x80, 0x36, 0x9d, 0x67, 0x3f, 0xd7, 0x0b, - 0x55, 0x7d, 0x21, 0xb1, 0x56, 0xb8, 0xbe, 0x04, 0x26, 0x0b, 0x94, 0x70, 0xb5, 0xd2, 0x65, 0x2e, - 0x64, 0xbb, 0x99, 0x52, 0xe6, 0xc5, 0xac, 0x0b, 0xaa, 0xc2, 0x7b, 0x2e, 0x45, 0x4a, 0x85, 0x67, - 0x70, 0x9e, 0xb4, 0x1b, 0x34, 0xa1, 0x92, 0x76, 0x07, 0xd6, 0xe2, 0x73, 0x1f, 0xe5, 0x90, 0xfb, - 0xd7, 0x79, 0x0a, 0x16, 0x0a, 0x72, 0x6b, 0x75, 0x41, 0xbe, 0x0d, 0xd5, 0xf0, 0x2d, 0x76, 0x92, - 0xeb, 0xb2, 0x26, 0x10, 0x80, 0x58, 0x72, 0xe1, 0xce, 0x86, 0xc4, 0x12, 0x80, 0x6d, 0x22, 0x4d, - 0x8f, 0xa3, 0x30, 0x4c, 0xa8, 0x7e, 0xd6, 0xb9, 0x49, 0x18, 0x1e, 0x86, 0x09, 0x4e, 0x13, 0x9d, - 0x9c, 0xbe, 0x29, 0xa7, 0x09, 0x43, 0xd3, 0x7f, 0x0a, 0x1b, 0x91, 0x98, 0x88, 0xb3, 0xd9, 0x18, - 0x23, 0x90, 0xa2, 0x85, 0x51, 0x30, 0xac, 0x4b, 0xf4, 0x9e, 0xc2, 0xb2, 0x47, 0xa0, 0x30, 0x63, - 0xd7, 0x93, 0x21, 0x77, 0x8b, 0xe8, 0x5a, 0x12, 0xbb, 0x2b, 0x91, 0xec, 0x13, 0xa8, 0x52, 0xfe, - 0xef, 0xdc, 0xa6, 0x9a, 0xf1, 0x20, 0x3b, 0xa5, 0xe6, 0xcc, 0xb2, 0x5c, 0xc8, 0x6a, 0x21, 0xa9, - 0xbb, 0x9f, 0x01, 0xe4, 0xc8, 0x1f, 0x55, 0x03, 0xfe, 0x50, 0x02, 0xf3, 0x70, 0x37, 0xed, 0x7f, - 0xd3, 0xd0, 0x2c, 0x2d, 0x0d, 0x4d, 0x76, 0x3f, 0x8b, 0x6f, 0xbd, 0xf0, 0x61, 0x3a, 0xa0, 0x70, - 0xd7, 0xba, 0x62, 0xa3, 0xd8, 0x8f, 0x3f, 0x84, 0x4a, 0x14, 0x4e, 0xd3, 0xe8, 0xd8, 0xc8, 0x58, - 0x65, 0xc6, 0xe2, 0x34, 0xc9, 0x9e, 0x82, 0x19, 0xa7, 0xe7, 0x54, 0x21, 0x72, 0x7b, 0x91, 0x0e, - 0x78, 0x4e, 0x66, 0xfd, 0x75, 0x09, 0x00, 0x8f, 0x10, 0xcf, 0xc2, 0x20, 0x16, 0xd7, 0x39, 0xc3, - 0x87, 0x60, 0xbc, 0xf2, 0xd3, 0x43, 0x2c, 0x6e, 0xf2, 0x91, 0x80, 0xfd, 0x0c, 0x0c, 0x47, 0x7d, - 0x3b, 0x5c, 0xf9, 0x3d, 0x82, 0x54, 0xd6, 0x7f, 0x97, 0xb0, 0xa7, 0x0e, 0xdc, 0x9f, 0x4e, 0x97, - 0xa9, 0xc6, 0x8c, 0xab, 0x34, 0xa6, 0x29, 0xbc, 0x52, 0x54, 0xb8, 0xac, 0x68, 0xae, 0x98, 0x25, - 0xa7, 0xaa, 0xb2, 0x66, 0x70, 0x51, 0xcf, 0xb5, 0xeb, 0xe9, 0x79, 0x1f, 0xcc, 0xe1, 0xa9, 0x1d, - 0x89, 0xde, 0x5c, 0x36, 0x06, 0xf8, 0x1d, 0xa9, 0x9c, 0x8c, 0xc6, 0x0b, 0x9b, 0x05, 0x06, 0x95, - 0xd3, 0x30, 0x4e, 0x94, 0x33, 0xd0, 0xd8, 0xfa, 0x5d, 0x19, 0x80, 0x24, 0xc9, 0xbe, 0xe3, 0x3d, - 0x80, 0x99, 0x88, 0x7c, 0x2f, 0x8e, 0x71, 0x33, 0x52, 0xa0, 0x86, 0xc1, 0x13, 0x8a, 0xb3, 0x99, - 0x17, 0x89, 0x58, 0xe5, 0xfc, 0x14, 0xcc, 0xe3, 0x5c, 0x4a, 0xbf, 0x18, 0xe7, 0x52, 0x1f, 0x2a, - 0xce, 0xdf, 0x03, 0x98, 0x88, 0x40, 0x44, 0x76, 0xe6, 0x5a, 0x15, 0xae, 0x61, 0xb2, 0x5a, 0x56, - 0x53, 0x07, 0xc2, 0x5a, 0x76, 0x0f, 0x4c, 0x7b, 0x3a, 0x0d, 0xdf, 0x62, 0xb2, 0xa5, 0xe4, 0x5a, - 0xe7, 0x39, 0x02, 0x6b, 0xca, 0x9b, 0x24, 0x7c, 0x2d, 0x02, 0x4a, 0xa5, 0x26, 0x57, 0x10, 0xfb, - 0x39, 0xac, 0x85, 0x91, 0x37, 0xf1, 0x28, 0x59, 0x62, 0x14, 0xe7, 0x2d, 0x52, 0xa6, 0x3f, 0x9e, - 0x92, 0x58, 0x7f, 0x53, 0x52, 0xca, 0x18, 0x11, 0xf3, 0x47, 0x50, 0x95, 0x32, 0x4b, 0x64, 0x94, - 0x5b, 0x45, 0x56, 0xf5, 0x01, 0x2a, 0xd7, 0xb9, 0x07, 0x66, 0xec, 0x4d, 0x02, 0x3b, 0x99, 0x47, - 0x69, 0x60, 0xe7, 0x08, 0x3c, 0x6f, 0x2c, 0x22, 0xcf, 0x9e, 0x7a, 0x3f, 0x08, 0xe9, 0xc2, 0x4d, - 0xae, 0x61, 0xe8, 0x2b, 0x4d, 0x08, 0xd9, 0x7b, 0x57, 0x39, 0x8d, 0xad, 0xbf, 0x7b, 0x07, 0xcc, - 0xa3, 0xe1, 0xea, 0x9b, 0x80, 0xd4, 0x31, 0xcb, 0x57, 0x39, 0xe6, 0xa7, 0x50, 0xf5, 0x5f, 0xbb, - 0x5e, 0xd4, 0xf9, 0x13, 0xa2, 0xca, 0x53, 0x59, 0xb6, 0xc2, 0xf6, 0x21, 0xce, 0x2b, 0xe0, 0xd9, - 0x0d, 0x2e, 0xe9, 0x91, 0x31, 0xf2, 0x91, 0xf1, 0xce, 0x52, 0x46, 0xee, 0x17, 0x19, 0x89, 0x1e, - 0x19, 0x93, 0x70, 0xee, 0x9c, 0x76, 0xde, 0x59, 0xca, 0x38, 0xc2, 0x79, 0x8d, 0x91, 0xe8, 0xd9, - 0xe7, 0x50, 0x93, 0xf5, 0xab, 0xd3, 0x21, 0xce, 0xcd, 0x05, 0x9c, 0xcf, 0x89, 0x20, 0x67, 0x55, - 0x1c, 0x6c, 0x1b, 0xca, 0x91, 0xdf, 0x79, 0x97, 0xf8, 0xee, 0x2d, 0xdc, 0x6a, 0xce, 0x53, 0x8e, - 0x7c, 0x5c, 0x2b, 0x92, 0x85, 0xa2, 0xbb, 0x74, 0x2d, 0x4e, 0x04, 0xda, 0x5a, 0x92, 0x83, 0x7d, - 0x99, 0x17, 0xc8, 0xbb, 0xc4, 0xfc, 0xfe, 0x02, 0xe6, 0xa1, 0xa4, 0xc8, 0xb9, 0xb3, 0x2a, 0xfa, - 0x25, 0xac, 0xbd, 0x11, 0x11, 0x45, 0xd9, 0xbd, 0xa5, 0xec, 0xdf, 0x49, 0x0a, 0x8d, 0x5d, 0xf1, - 0x20, 0x7b, 0x24, 0x9c, 0x73, 0x67, 0x2a, 0x3a, 0xf7, 0x97, 0xb2, 0x73, 0x49, 0xa1, 0xb1, 0x2b, - 0x1e, 0xf6, 0x79, 0x5a, 0xda, 0xde, 0x23, 0x66, 0x6b, 0xd1, 0xd6, 0x45, 0xf2, 0xa2, 0x97, 0x24, - 0xba, 0x65, 0x89, 0x05, 0x2d, 0xeb, 0x9c, 0x86, 0x6f, 0x83, 0xce, 0x83, 0xa5, 0x96, 0xdd, 0xc1, - 0x79, 0x8d, 0x91, 0xe8, 0x25, 0xa3, 0x1f, 0xba, 0x9d, 0xcd, 0x2b, 0x18, 0xfd, 0xd0, 0x2d, 0x30, - 0xfa, 0xa1, 0xcb, 0x3e, 0x06, 0xc3, 0x76, 0xa6, 0x9d, 0xf7, 0x89, 0xed, 0xfe, 0x02, 0xb6, 0x9e, - 0x33, 0xcd, 0x99, 0x90, 0x56, 0xba, 0x1f, 0x86, 0xae, 0x75, 0x85, 0xfb, 0xbd, 0x16, 0x41, 0xc1, - 0xfd, 0x30, 0x90, 0x3f, 0x85, 0xea, 0x6f, 0xf1, 0x33, 0xac, 0xf3, 0x70, 0x29, 0x23, 0x7d, 0xa6, - 0x69, 0x8c, 0x44, 0xdf, 0x1d, 0x43, 0x53, 0x0f, 0x21, 0x55, 0x4f, 0x4a, 0xcb, 0xea, 0xc9, 0x3d, - 0x30, 0x23, 0xe1, 0xcc, 0xa3, 0xd8, 0x7b, 0x23, 0x63, 0xb7, 0xce, 0x73, 0x44, 0xf6, 0x71, 0x6d, - 0xd0, 0x47, 0x37, 0x8d, 0xbb, 0x4f, 0xa0, 0xa9, 0x87, 0xda, 0x8a, 0x05, 0x90, 0x5c, 0x0f, 0xb0, - 0x55, 0xe4, 0x07, 0xd0, 0x2a, 0x44, 0xd5, 0x35, 0xf6, 0x1f, 0x84, 0xa9, 0x0b, 0xaa, 0x0b, 0xbd, - 0x0c, 0xd1, 0x7d, 0x05, 0x66, 0x16, 0x6b, 0x7f, 0x9c, 0x26, 0xae, 0x5e, 0x67, 0x0f, 0x5a, 0x85, - 0xf8, 0x5c, 0xb5, 0xd6, 0x1d, 0xa8, 0x25, 0x76, 0x34, 0x11, 0x89, 0xca, 0xd1, 0x0a, 0xea, 0xee, - 0xc3, 0x7a, 0x31, 0x54, 0xff, 0xbf, 0x82, 0xfe, 0x50, 0x82, 0xf5, 0x62, 0xd4, 0xae, 0x92, 0xf4, - 0x95, 0xec, 0x6b, 0xca, 0xd4, 0x99, 0x3c, 0x59, 0x99, 0x04, 0xb6, 0xbf, 0xeb, 0xf3, 0xe1, 0xe0, - 0xf8, 0x68, 0xbc, 0x73, 0xb8, 0x4b, 0xbd, 0x0e, 0x16, 0x17, 0xdf, 0x3e, 0x4b, 0x93, 0x89, 0x41, - 0x25, 0x44, 0xc3, 0x58, 0xdb, 0xd0, 0xd0, 0x78, 0x18, 0x40, 0x6d, 0x87, 0xf7, 0x7b, 0xa3, 0x7e, - 0xfb, 0x06, 0x33, 0xa1, 0x7a, 0xf2, 0x9c, 0xef, 0xf7, 0xdb, 0x25, 0x56, 0x87, 0xca, 0xc1, 0x60, - 0x38, 0x6a, 0x97, 0xbb, 0xff, 0x69, 0xc0, 0x7a, 0x31, 0x73, 0x2c, 0x68, 0x62, 0x57, 0xee, 0xba, - 0x28, 0x61, 0x9b, 0xf7, 0x77, 0x5e, 0xee, 0x1c, 0xf4, 0xf3, 0x5d, 0x9f, 0x40, 0x23, 0x12, 0x71, - 0x12, 0x46, 0x02, 0xbf, 0x37, 0x54, 0x5b, 0xb5, 0x7d, 0x0d, 0x41, 0x92, 0x69, 0x0f, 0x3f, 0x52, - 0xb8, 0x2e, 0x82, 0x0d, 0xc0, 0x9c, 0xcd, 0xa3, 0x89, 0x70, 0xed, 0x24, 0x6d, 0x6c, 0x7f, 0xb6, - 0x5a, 0xde, 0x09, 0xb2, 0xec, 0xda, 0x89, 0xe0, 0x39, 0x77, 0xf7, 0x05, 0x34, 0xf5, 0x75, 0xe8, - 0x13, 0x29, 0x8c, 0x1c, 0xa1, 0x3e, 0x58, 0x25, 0x80, 0x3e, 0xe0, 0xbf, 0xa6, 0x3e, 0x45, 0x7a, - 0xad, 0x82, 0xb0, 0xd7, 0x53, 0xba, 0x8f, 0x95, 0xc7, 0x66, 0x70, 0x77, 0x1f, 0xcc, 0x6c, 0x45, - 0x8c, 0xf2, 0x73, 0x61, 0x47, 0x24, 0xb5, 0xca, 0x69, 0x8c, 0x4b, 0xf9, 0x61, 0xa0, 0x64, 0x56, - 0xb9, 0x04, 0xd0, 0x00, 0xae, 0x7d, 0xae, 0x8c, 0x8b, 0x43, 0xeb, 0x17, 0xd0, 0xd0, 0x74, 0xca, - 0x1a, 0xb0, 0xc6, 0xfb, 0xc3, 0xd1, 0x31, 0x5f, 0x6a, 0xd6, 0xff, 0x2d, 0xc1, 0xc6, 0x85, 0x9c, - 0xbe, 0xca, 0x35, 0xf7, 0xb2, 0x5b, 0xb3, 0x32, 0xf5, 0x4e, 0xdb, 0xab, 0xcb, 0xc4, 0xc2, 0xeb, - 0xb3, 0x42, 0x84, 0x1b, 0x17, 0x23, 0xdc, 0x82, 0xe6, 0x6b, 0x71, 0x1e, 0x27, 0xa1, 0x2b, 0xa6, - 0x82, 0x4c, 0x67, 0x6c, 0x99, 0xbc, 0x80, 0xfb, 0x23, 0x2e, 0xd6, 0xba, 0x23, 0x68, 0xea, 0xe5, - 0x68, 0xd5, 0x99, 0x1f, 0xa5, 0x6d, 0xec, 0x92, 0x7e, 0x4a, 0xce, 0x76, 0x7b, 0x28, 0x35, 0xaf, - 0x55, 0xab, 0xa4, 0xa6, 0xf9, 0xbc, 0xac, 0xe5, 0xf3, 0x7f, 0x2e, 0x03, 0xe4, 0x85, 0x6b, 0x95, - 0x84, 0x2f, 0xf4, 0x80, 0xfb, 0xe8, 0xca, 0x1a, 0xb8, 0xdd, 0xdb, 0x39, 0x18, 0xef, 0x1c, 0x1f, - 0x1e, 0xf6, 0x8e, 0x54, 0xb0, 0x5d, 0x6d, 0x80, 0xcf, 0x0b, 0x77, 0x40, 0x1f, 0xae, 0x96, 0xad, - 0x7d, 0x35, 0x31, 0xa8, 0x44, 0xf3, 0xa9, 0xbc, 0x41, 0x31, 0x39, 0x8d, 0xad, 0x27, 0xd0, 0xd0, - 0x76, 0x80, 0x2e, 0x78, 0x74, 0x7c, 0x84, 0x7e, 0x09, 0x50, 0x3b, 0x3c, 0xde, 0x1d, 0xec, 0xbd, - 0xd4, 0x1d, 0xd3, 0x7a, 0x04, 0xf5, 0x54, 0x28, 0x6b, 0x42, 0xfd, 0xf9, 0xb0, 0xcf, 0xc7, 0xbd, - 0x9d, 0x83, 0xf6, 0x0d, 0x74, 0xea, 0xe1, 0xcb, 0x21, 0x01, 0xa5, 0xee, 0xaf, 0xb1, 0x9e, 0xe5, - 0x15, 0x7b, 0x45, 0x73, 0x2e, 0x49, 0x25, 0x45, 0x77, 0x07, 0x9a, 0x7a, 0xcd, 0x5e, 0x78, 0x55, - 0xf6, 0x40, 0xfb, 0xfc, 0xbb, 0x64, 0xf4, 0xb2, 0xe7, 0x7e, 0x6d, 0xc2, 0x9a, 0x13, 0xfa, 0xbe, - 0x1d, 0xb8, 0xd6, 0xdf, 0x9a, 0x00, 0xa8, 0x1c, 0xf5, 0x91, 0xfb, 0x29, 0x54, 0x45, 0x14, 0x85, - 0x91, 0xda, 0x49, 0xb1, 0x13, 0x93, 0x34, 0xdb, 0x7d, 0x24, 0x48, 0x21, 0x2e, 0xe9, 0xf5, 0x1e, - 0x50, 0x2e, 0xfc, 0x70, 0x11, 0x6b, 0x96, 0xff, 0x15, 0xf3, 0xa2, 0x1e, 0xd0, 0x58, 0xce, 0x9e, - 0xe5, 0xbb, 0x94, 0x3d, 0xed, 0x01, 0x55, 0x57, 0x55, 0x59, 0xd0, 0xe7, 0x28, 0x56, 0x32, 0xbb, - 0x62, 0x4b, 0xbb, 0x2a, 0xd9, 0x1c, 0x55, 0x97, 0x9f, 0x54, 0x69, 0x3a, 0x3d, 0xa9, 0x6c, 0x8e, - 0x3e, 0x81, 0x56, 0x41, 0x03, 0x68, 0x02, 0x07, 0x03, 0xa2, 0x24, 0x03, 0x02, 0xc7, 0x74, 0x73, - 0x18, 0x4f, 0xd4, 0x17, 0x2b, 0x0e, 0xbb, 0xff, 0x55, 0x82, 0x8d, 0x0b, 0xc7, 0xbf, 0x1e, 0x27, - 0xfb, 0xa6, 0x90, 0x83, 0x31, 0x79, 0xfd, 0xe2, 0x1a, 0xba, 0x4d, 0xe1, 0x41, 0xf0, 0x2a, 0xd4, - 0x92, 0xf6, 0xb7, 0xd0, 0xd0, 0x26, 0x56, 0x45, 0x6a, 0xf6, 0x6a, 0x51, 0x5e, 0xfe, 0x6a, 0xd1, - 0xfd, 0x7b, 0x03, 0x36, 0x2e, 0x58, 0xe6, 0xfa, 0x27, 0x53, 0x16, 0xbc, 0xf2, 0x64, 0x17, 0x84, - 0xa7, 0xb0, 0x3c, 0x59, 0x2a, 0xa0, 0xfb, 0xfb, 0x32, 0x34, 0xb4, 0x99, 0x9f, 0x26, 0x39, 0xa2, - 0x06, 0x5c, 0xed, 0x8a, 0xf6, 0xa2, 0x06, 0x68, 0x2e, 0x7b, 0x99, 0xac, 0x68, 0x2f, 0x93, 0x27, - 0x2a, 0x13, 0x55, 0x29, 0x13, 0xfd, 0xc5, 0x8f, 0x3c, 0xd7, 0xf6, 0x6e, 0xff, 0xa0, 0x3f, 0x1a, - 0x1c, 0x1f, 0x69, 0xf9, 0x49, 0x55, 0x8a, 0x5a, 0x56, 0x29, 0x2c, 0x0b, 0x9a, 0x3a, 0x1d, 0x26, - 0xa2, 0xbd, 0xc1, 0x01, 0xa6, 0xa7, 0x3a, 0x54, 0x46, 0xbc, 0xdf, 0x6f, 0x97, 0xba, 0xfb, 0xd0, - 0xd0, 0x7c, 0xff, 0x9a, 0x86, 0x49, 0x53, 0xa1, 0x91, 0xa7, 0xc2, 0xee, 0x29, 0xb4, 0x0a, 0xf1, - 0x70, 0x4d, 0x51, 0x1f, 0x83, 0x49, 0x71, 0x13, 0xc8, 0x6f, 0x00, 0xa3, 0x90, 0xdf, 0xf2, 0x57, - 0x22, 0x9e, 0x53, 0x59, 0x1f, 0x41, 0xeb, 0x28, 0x1e, 0x26, 0x76, 0xb2, 0xf2, 0xc6, 0xc0, 0xfa, - 0x27, 0x03, 0xd6, 0x53, 0xda, 0x2b, 0xb6, 0xc5, 0xa0, 0x22, 0xf2, 0x7d, 0xd1, 0x18, 0xcb, 0x6c, - 0x9c, 0x60, 0x7f, 0xa5, 0x2e, 0x79, 0x08, 0xc0, 0x46, 0x28, 0x90, 0xef, 0x20, 0xd2, 0x98, 0x0a, - 0x62, 0x9b, 0xd0, 0x08, 0xb2, 0xbf, 0x03, 0xd2, 0x17, 0x25, 0x1d, 0xc5, 0xee, 0x82, 0xf9, 0x7d, - 0x18, 0x26, 0x63, 0xf2, 0x16, 0xf9, 0x98, 0x54, 0x47, 0x04, 0xbd, 0xba, 0x3f, 0x80, 0x86, 0x33, - 0x8f, 0xe8, 0x01, 0xf3, 0x95, 0xe7, 0xaa, 0xe7, 0x24, 0x50, 0xa8, 0x3d, 0xcf, 0xd5, 0x09, 0x1c, - 0xcf, 0x55, 0x8f, 0x49, 0x29, 0xc1, 0x8e, 0x24, 0xf0, 0x85, 0x3f, 0x7e, 0xe3, 0x45, 0xc9, 0xdc, - 0x9e, 0xaa, 0xa7, 0x24, 0xf0, 0x85, 0xff, 0x9d, 0xc4, 0xb0, 0xf7, 0xa1, 0x89, 0x04, 0x91, 0x88, - 0x3d, 0x57, 0x04, 0x89, 0xba, 0x1b, 0x47, 0x26, 0xae, 0x50, 0xb8, 0x45, 0x24, 0x89, 0xb1, 0xaa, - 0xa8, 0x2b, 0xf2, 0xba, 0x2f, 0x7c, 0xaa, 0x32, 0xec, 0x3e, 0xa0, 0xb4, 0xf1, 0x24, 0x0a, 0xdf, - 0x26, 0xa7, 0x74, 0x51, 0x5e, 0xe1, 0x48, 0xbe, 0x4f, 0x08, 0xb4, 0x41, 0x72, 0x1a, 0x09, 0xdb, - 0x95, 0x2f, 0x44, 0x15, 0x9e, 0x82, 0x68, 0xf3, 0x57, 0x6e, 0x4c, 0x77, 0xe2, 0x15, 0x8e, 0x43, - 0x54, 0xe2, 0x7c, 0x46, 0x7a, 0xd8, 0x90, 0x4a, 0x94, 0x90, 0xf5, 0xaf, 0x06, 0xb4, 0x0e, 0xed, - 0xc0, 0x9b, 0x66, 0xe5, 0xeb, 0x2b, 0x68, 0x46, 0x72, 0x38, 0xd6, 0x2e, 0x35, 0xf3, 0xfb, 0x8e, - 0xc3, 0xde, 0xd1, 0xe0, 0xa0, 0x37, 0xe6, 0xfd, 0x6f, 0x9f, 0xf7, 0x87, 0x23, 0x59, 0xad, 0x1b, - 0x8a, 0x63, 0x84, 0x41, 0xf1, 0x2e, 0xd4, 0xd1, 0x17, 0xc6, 0x17, 0x7e, 0x97, 0xf8, 0x46, 0xde, - 0x53, 0xd2, 0x2f, 0x29, 0x4e, 0x38, 0x4d, 0xdf, 0xa1, 0x52, 0x18, 0x0f, 0x4b, 0x5a, 0x18, 0xeb, - 0x0f, 0x51, 0x84, 0xa1, 0x27, 0xff, 0x4d, 0x68, 0xb8, 0x22, 0x76, 0x22, 0x6f, 0x96, 0xdd, 0xea, - 0x99, 0x5c, 0x47, 0xe1, 0xba, 0x52, 0x80, 0xfa, 0xef, 0xc0, 0xe4, 0x6b, 0x04, 0x0f, 0x5c, 0xf6, - 0x01, 0xac, 0xcb, 0x29, 0x79, 0xc1, 0xaf, 0xcc, 0x6d, 0xf2, 0x26, 0x61, 0xf7, 0x11, 0x29, 0x7f, - 0x4e, 0x90, 0xf5, 0xa7, 0x2e, 0x9b, 0x63, 0x02, 0x50, 0xcb, 0x4e, 0x24, 0xec, 0x24, 0x8c, 0xc8, - 0xc2, 0x26, 0x4f, 0x41, 0xd4, 0xa9, 0x90, 0xd7, 0x8f, 0x20, 0x6f, 0x05, 0x25, 0x84, 0x66, 0xb7, - 0x5d, 0xdf, 0x0b, 0xc6, 0x6a, 0xb6, 0x21, 0xf7, 0x4a, 0xb8, 0x7e, 0xf6, 0x14, 0x21, 0x37, 0x44, - 0x37, 0xa6, 0x4d, 0xed, 0xb0, 0xcf, 0xc2, 0x38, 0x61, 0x8f, 0xd2, 0xfd, 0xa6, 0x8f, 0x31, 0xea, - 0x09, 0xb0, 0x45, 0xd8, 0xf4, 0xe1, 0xc5, 0xfa, 0xb7, 0x12, 0xac, 0xa7, 0xc6, 0x53, 0xa1, 0xa6, - 0xa2, 0xbd, 0x54, 0x48, 0x1c, 0x4e, 0xda, 0x1c, 0x56, 0x55, 0xf0, 0xdd, 0x07, 0x48, 0xc2, 0xc4, - 0x9e, 0x8e, 0xe7, 0xb1, 0xba, 0x31, 0x34, 0xb8, 0x49, 0x98, 0xe7, 0xb1, 0xc0, 0x44, 0xbc, 0x2e, - 0xa7, 0x1d, 0x7b, 0x66, 0x3b, 0x5e, 0x22, 0xef, 0x9b, 0x0d, 0xde, 0x22, 0xec, 0x8e, 0x42, 0xb2, - 0x0f, 0x61, 0x23, 0x10, 0x6f, 0xa5, 0xef, 0x8e, 0xf3, 0xca, 0x6d, 0xf0, 0x56, 0x20, 0xde, 0x92, - 0x07, 0x53, 0x32, 0x41, 0xed, 0xe7, 0x74, 0xda, 0xcd, 0x6b, 0x33, 0x25, 0x3b, 0xb1, 0x93, 0xd3, - 0xc7, 0xbf, 0x82, 0xca, 0x85, 0x8c, 0xd9, 0x02, 0x73, 0xe7, 0xf8, 0x68, 0xd4, 0x1b, 0x1c, 0xf5, - 0x79, 0xbb, 0x84, 0xfd, 0x1a, 0xf6, 0x74, 0x83, 0xa3, 0xfd, 0x76, 0x19, 0xa9, 0x86, 0xa3, 0xde, - 0xa8, 0x6d, 0x3c, 0xfe, 0x15, 0x98, 0xd9, 0x73, 0x34, 0xa2, 0xb1, 0xc3, 0x93, 0x5f, 0x29, 0xfb, - 0xfc, 0xf8, 0xf9, 0x49, 0xbb, 0x8c, 0x8c, 0x27, 0xfc, 0xf8, 0x37, 0xfd, 0x9d, 0x51, 0xdb, 0x60, - 0x6b, 0x60, 0xf4, 0x0e, 0x0e, 0xda, 0x95, 0xc7, 0xbf, 0x2f, 0xc1, 0xad, 0x05, 0xbe, 0xcc, 0xda, - 0xd0, 0x94, 0x5f, 0xb0, 0xe3, 0xe1, 0xb3, 0x1e, 0x7d, 0xf0, 0xb4, 0x55, 0x4e, 0x4f, 0x31, 0x25, - 0xc4, 0xf4, 0x5f, 0x8c, 0xfa, 0x47, 0xbb, 0x0a, 0x53, 0x46, 0xcc, 0xf0, 0x19, 0x1f, 0x1c, 0x7d, - 0xa3, 0x30, 0x06, 0xbb, 0x05, 0x1b, 0x87, 0xbd, 0xa3, 0xde, 0x7e, 0x7f, 0xdc, 0x7f, 0xa1, 0xb6, - 0x5d, 0xa1, 0x0e, 0xf4, 0x48, 0xa2, 0xdb, 0x55, 0xc6, 0x60, 0x7d, 0xbf, 0x3f, 0x1a, 0xef, 0xf4, - 0x4e, 0x7a, 0x3b, 0x83, 0xd1, 0xa0, 0x3f, 0x6c, 0xd7, 0x9e, 0xfe, 0x8f, 0x01, 0x46, 0x3f, 0x8c, - 0xd9, 0x53, 0xa8, 0x9c, 0x78, 0xc1, 0x84, 0xe5, 0x77, 0xf5, 0xda, 0xaf, 0x5b, 0x5d, 0x76, 0x01, - 0x3b, 0x9b, 0x9e, 0x5b, 0x37, 0xd8, 0xc7, 0x50, 0x3e, 0xdc, 0x65, 0x4c, 0xab, 0xac, 0x29, 0xfd, - 0xad, 0x02, 0x4e, 0xfa, 0x8a, 0x75, 0xe3, 0x97, 0x25, 0xf6, 0x09, 0x54, 0xf6, 0xbc, 0xc0, 0x65, - 0xfa, 0xd3, 0x48, 0xf6, 0xb0, 0xb1, 0x9c, 0xed, 0x0b, 0xa8, 0xc9, 0x1c, 0xcf, 0xee, 0xe4, 0x65, - 0x54, 0x2f, 0x10, 0xdd, 0x77, 0x2e, 0xe1, 0x53, 0x76, 0xf6, 0x1b, 0xd8, 0xb8, 0xf0, 0x6f, 0x18, - 0x7b, 0x70, 0xf9, 0xc5, 0xa5, 0xf0, 0xbb, 0x56, 0x37, 0xdf, 0x9f, 0xf6, 0xbf, 0x95, 0x75, 0x83, - 0xfd, 0x25, 0x40, 0xfe, 0x6f, 0x17, 0xeb, 0x16, 0x1e, 0x78, 0xae, 0x27, 0xe1, 0x63, 0xa8, 0xf4, - 0xcf, 0x84, 0xa3, 0xa9, 0x2d, 0xfb, 0x32, 0xd1, 0xce, 0x9f, 0xf7, 0x08, 0xd6, 0x0d, 0xf6, 0x0c, - 0x6e, 0xc9, 0xb0, 0x1b, 0x8a, 0xe8, 0x8d, 0xc8, 0xbe, 0x77, 0x73, 0x55, 0x14, 0x32, 0xaa, 0xa6, - 0x8a, 0x62, 0xb0, 0x5a, 0x37, 0xbe, 0x7e, 0x02, 0x1b, 0x5e, 0xb8, 0x4d, 0xff, 0xea, 0x29, 0x9a, - 0xaf, 0xeb, 0xfd, 0x30, 0xa6, 0xfa, 0x7b, 0x52, 0xfa, 0xab, 0x7a, 0xfa, 0x27, 0xdf, 0x3f, 0x94, - 0x8d, 0xfe, 0xf1, 0xf0, 0xfb, 0x1a, 0x65, 0xcb, 0x3f, 0xfb, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, - 0xf0, 0x6b, 0x20, 0xcf, 0xe2, 0x27, 0x00, 0x00, -} diff --git a/pkg/eosclient/eosgrpc/eos_http/eoshttp.go b/pkg/eosclient/eosgrpc/eos_http/eoshttp.go new file mode 100644 index 0000000000..bcc78b75b4 --- /dev/null +++ b/pkg/eosclient/eosgrpc/eos_http/eoshttp.go @@ -0,0 +1,509 @@ +// Copyright 2018-2021 CERN +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// In applying this license, CERN does not waive the privileges and immunities +// granted to it by virtue of its status as an Intergovernmental Organization +// or submit itself to any jurisdiction. + +package eoshttp + +import ( + "bytes" + "context" + "crypto/tls" + "fmt" + "io" + "net/http" + "net/url" + "os" + "strconv" + "strings" + "time" + + "github.com/cs3org/reva/pkg/appctx" + "github.com/cs3org/reva/pkg/errtypes" + "github.com/cs3org/reva/pkg/logger" +) + +// Options to configure the Client. +type Options struct { + + // HTTP URL of the EOS MGM. + // Default is https://eos-example.org + BaseURL string + + // Timeout in seconds for connecting to the service + ConnectTimeout int + + // Timeout in seconds for sending a request to the service and getting a response + // Does not include redirections + RWTimeout int + + // Timeout in seconds for performing an operation. Includes every redirection, retry, etc + OpTimeout int + + // Max idle conns per Transport + MaxIdleConns int + + // Max conns per transport per destination host + MaxConnsPerHost int + + // Max idle conns per transport per destination host + MaxIdleConnsPerHost int + + // TTL for an idle conn per transport + IdleConnTimeout int + + // If the URL is https, then we need to configure this client + // with the usual TLS stuff + // Defaults are /etc/grid-security/hostcert.pem and /etc/grid-security/hostkey.pem + ClientCertFile string + ClientKeyFile string + + // These will override the defaults, which are common system paths hardcoded + // in the go x509 implementation (why did they do that?!?!?) + // of course /etc/grid-security/certificates is NOT in those defaults! + ClientCADirs string + ClientCAFiles string +} + +// Init fills the basic fields +func (opt *Options) Init() (*http.Transport, error) { + + if opt.BaseURL == "" { + opt.BaseURL = "https://eos-example.org" + } + + if opt.ConnectTimeout == 0 { + opt.ConnectTimeout = 30 + } + if opt.RWTimeout == 0 { + opt.RWTimeout = 180 + } + if opt.OpTimeout == 0 { + opt.OpTimeout = 360 + } + if opt.MaxIdleConns == 0 { + opt.MaxIdleConns = 100 + } + if opt.MaxConnsPerHost == 0 { + opt.MaxConnsPerHost = 64 + } + if opt.MaxIdleConnsPerHost == 0 { + opt.MaxIdleConnsPerHost = 8 + } + if opt.IdleConnTimeout == 0 { + opt.IdleConnTimeout = 30 + } + + if opt.ClientCertFile == "" { + opt.ClientCertFile = "/etc/grid-security/hostcert.pem" + } + if opt.ClientKeyFile == "" { + opt.ClientKeyFile = "/etc/grid-security/hostkey.pem" + } + + if opt.ClientCAFiles != "" { + os.Setenv("SSL_CERT_FILE", opt.ClientCAFiles) + } + if opt.ClientCADirs != "" { + os.Setenv("SSL_CERT_DIR", opt.ClientCADirs) + } else { + os.Setenv("SSL_CERT_DIR", "/etc/grid-security/certificates") + } + + cert, err := tls.LoadX509KeyPair(opt.ClientCertFile, opt.ClientKeyFile) + if err != nil { + return nil, err + } + + // TODO: the error reporting of http.transport is insufficient + // we may want to check manually at least the existence of the certfiles + // The point is that also the error reporting of the context that calls this function + // is weak + t := &http.Transport{ + TLSClientConfig: &tls.Config{ + Certificates: []tls.Certificate{cert}, + }, + MaxIdleConns: opt.MaxIdleConns, + MaxConnsPerHost: opt.MaxConnsPerHost, + MaxIdleConnsPerHost: opt.MaxIdleConnsPerHost, + IdleConnTimeout: time.Duration(opt.IdleConnTimeout) * time.Second, + DisableCompression: true, + } + + return t, nil +} + +// Client performs HTTP-based tasks (e.g. upload, download) +// against a EOS management node (MGM) +// using the EOS XrdHTTP interface. +// In this module we wrap eos-related behaviour, e.g. headers or r/w retries +type Client struct { + opt Options + + cl *http.Client +} + +// New creates a new client with the given options. +func New(opt *Options, t *http.Transport) *Client { + log := logger.New().With().Int("pid", os.Getpid()).Logger() + log.Debug().Str("func", "New").Str("Creating new eoshttp client. opt: ", "'"+fmt.Sprintf("%#v", opt)+"' ").Msg("") + + if opt == nil { + log.Debug().Str("opt is nil, Error creating http client ", "").Msg("") + return nil + } + + c := new(Client) + c.opt = *opt + + // Let's be successful if the ping was ok. This is an initialization phase + // and we enforce the server to be up + log.Debug().Str("func", "newhttp").Str("Connecting to ", "'"+opt.BaseURL+"'").Msg("") + + c.cl = &http.Client{ + Transport: t} + + c.cl.CheckRedirect = func(req *http.Request, via []*http.Request) error { + return http.ErrUseLastResponse + } + + if c.cl == nil { + log.Debug().Str("Error creating http client ", "").Msg("") + return nil + } + + return c +} + +// Format a human readable line that describes a response +func rspdesc(rsp *http.Response) string { + desc := "'" + fmt.Sprintf("%d", rsp.StatusCode) + "'" + ": '" + rsp.Status + "'" + + buf := new(bytes.Buffer) + r := "" + n, e := buf.ReadFrom(rsp.Body) + + if e != nil { + r = "Error reading body: '" + e.Error() + "'" + } else if n > 0 { + r = buf.String() + } + + desc += " - '" + r + "'" + + return desc +} + +// If the error is not nil, take that +// If there is an error coming from EOS, erturn a descriptive error +func (c *Client) getRespError(rsp *http.Response, err error) error { + if err != nil { + return err + } + + if rsp.StatusCode == 0 { + return nil + } + + switch rsp.StatusCode { + case 0, 200, 201: + return nil + case 403: + return errtypes.PermissionDenied(rspdesc(rsp)) + case 404: + return errtypes.NotFound(rspdesc(rsp)) + } + + err2 := errtypes.InternalError("Err from EOS: " + rspdesc(rsp)) + return err2 +} + +// From the basepath and the file path... build an url +func (c *Client) buildFullURL(urlpath, uid, gid string) (string, error) { + + u, err := url.Parse(c.opt.BaseURL) + if err != nil { + return "", err + } + + u, err = u.Parse(urlpath) + if err != nil { + return "", err + } + + // I feel safer putting here a check, to prohibit malicious users to + // inject a false uid/gid into the url + // Who knows, maybe it's redundant? Better more than nothing. + p1 := strings.Index(urlpath, "eos.ruid") + if p1 > 0 && (urlpath[p1-1] == '&' || urlpath[p1-1] == '?') { + return "", errtypes.PermissionDenied("Illegal malicious url " + urlpath) + } + p1 = strings.Index(urlpath, "eos.guid") + if p1 > 0 && (urlpath[p1-1] == '&' || urlpath[p1-1] == '?') { + return "", errtypes.PermissionDenied("Illegal malicious url " + urlpath) + } + + v := u.Query() + + if len(uid) > 0 { + v.Set("eos.ruid", uid) + } + if len(gid) > 0 { + v.Set("eos.rgid", gid) + } + + return u.String(), nil +} + +// GETFile does an entire GET to download a full file. Returns a stream to read the content from +func (c *Client) GETFile(ctx context.Context, httptransport *http.Transport, remoteuser, uid, gid, urlpath string, stream io.WriteCloser) (io.ReadCloser, error) { + + log := appctx.GetLogger(ctx) + log.Info().Str("func", "GETFile").Str("remoteuser", remoteuser).Str("uid,gid", uid+","+gid).Str("path", urlpath).Msg("") + + // Now send the req and see what happens + finalurl, err := c.buildFullURL(urlpath, uid, gid) + if err != nil { + log.Error().Str("func", "GETFile").Str("url", finalurl).Str("err", err.Error()).Msg("can't create request") + return nil, err + } + req, err := http.NewRequestWithContext(ctx, "GET", finalurl, nil) + if err != nil { + log.Error().Str("func", "GETFile").Str("url", finalurl).Str("err", err.Error()).Msg("can't create request") + return nil, err + } + + ntries := 0 + nredirs := 0 + timebegin := time.Now().Unix() + + for { + // Check for a max count of redirections or retries + + // Check for a global timeout in any case + tdiff := time.Now().Unix() - timebegin + if tdiff > int64(c.opt.OpTimeout) { + log.Error().Str("func", "GETFile").Str("url", finalurl).Int64("timeout", tdiff).Int("ntries", ntries).Msg("") + return nil, errtypes.InternalError("Timeout with url" + finalurl) + } + + // Execute the request. I don't like that there is no explicit timeout or buffer control on the input stream + log.Debug().Str("func", "GETFile").Msg("sending req") + resp, err := c.cl.Do(req) + + // Let's support redirections... and if we retry we have to retry at the same FST, avoid going back to the MGM + if resp != nil && (resp.StatusCode == http.StatusFound || resp.StatusCode == http.StatusTemporaryRedirect) { + + // io.Copy(ioutil.Discard, resp.Body) + // resp.Body.Close() + + loc, err := resp.Location() + if err != nil { + log.Error().Str("func", "GETFile").Str("url", finalurl).Str("err", err.Error()).Msg("can't get a new location for a redirection") + return nil, err + } + + c.cl = &http.Client{ + Transport: httptransport} + + req, err = http.NewRequestWithContext(ctx, "GET", loc.String(), nil) + if err != nil { + log.Error().Str("func", "GETFile").Str("url", loc.String()).Str("err", err.Error()).Msg("can't create redirected request") + return nil, err + } + + req.Close = true + + log.Debug().Str("func", "GETFile").Str("location", loc.String()).Msg("redirection") + nredirs++ + resp = nil + err = nil + continue + } + + // And get an error code (if error) that is worth propagating + e := c.getRespError(resp, err) + if e != nil { + if os.IsTimeout(e) { + ntries++ + log.Warn().Str("func", "GETFile").Str("url", finalurl).Str("err", e.Error()).Int("try", ntries).Msg("recoverable network timeout") + continue + } + log.Error().Str("func", "GETFile").Str("url", finalurl).Str("err", e.Error()).Msg("") + return nil, e + } + + log.Debug().Str("func", "GETFile").Str("url", finalurl).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("") + if resp == nil { + return nil, errtypes.NotFound(fmt.Sprintf("url: %s", finalurl)) + } + + if stream != nil { + // Streaming versus localfile. If we have bene given a dest stream then copy the body into it + _, err = io.Copy(stream, resp.Body) + return nil, err + } + + // If we have not been given a stream to write into then return our stream to read from + return resp.Body, nil + } + +} + +// PUTFile does an entire PUT to upload a full file, taking the data from a stream +func (c *Client) PUTFile(ctx context.Context, httptransport *http.Transport, remoteuser, uid, gid, urlpath string, stream io.ReadCloser, length int64) error { + + log := appctx.GetLogger(ctx) + log.Info().Str("func", "PUTFile").Str("remoteuser", remoteuser).Str("uid,gid", uid+","+gid).Str("path", urlpath).Int64("length", length).Msg("") + + // Now send the req and see what happens + finalurl, err := c.buildFullURL(urlpath, uid, gid) + if err != nil { + log.Error().Str("func", "PUTFile").Str("url", finalurl).Str("err", err.Error()).Msg("can't create request") + return err + } + req, err := http.NewRequestWithContext(ctx, "PUT", finalurl, nil) + if err != nil { + log.Error().Str("func", "PUTFile").Str("url", finalurl).Str("err", err.Error()).Msg("can't create request") + return err + } + + req.Close = true + + ntries := 0 + nredirs := 0 + timebegin := time.Now().Unix() + + for { + // Check for a max count of redirections or retries + + // Check for a global timeout in any case + tdiff := time.Now().Unix() - timebegin + if tdiff > int64(c.opt.OpTimeout) { + log.Error().Str("func", "PUTFile").Str("url", finalurl).Int64("timeout", tdiff).Int("ntries", ntries).Msg("") + return errtypes.InternalError("Timeout with url" + finalurl) + } + + // Execute the request. I don't like that there is no explicit timeout or buffer control on the input stream + log.Debug().Str("func", "PUTFile").Msg("sending req") + resp, err := c.cl.Do(req) + + // Let's support redirections... and if we retry we retry at the same FST + if resp != nil && resp.StatusCode == 307 { + + // io.Copy(ioutil.Discard, resp.Body) + // resp.Body.Close() + + loc, err := resp.Location() + if err != nil { + log.Error().Str("func", "PUTFile").Str("url", finalurl).Str("err", err.Error()).Msg("can't get a new location for a redirection") + return err + } + + c.cl = &http.Client{ + Transport: httptransport} + + req, err = http.NewRequestWithContext(ctx, "PUT", loc.String(), stream) + if err != nil { + log.Error().Str("func", "PUTFile").Str("url", loc.String()).Str("err", err.Error()).Msg("can't create redirected request") + return err + } + if length >= 0 { + log.Debug().Str("func", "PUTFile").Int64("Content-Length", length).Msg("setting header") + req.Header.Set("Content-Length", strconv.FormatInt(length, 10)) + + } + + log.Debug().Str("func", "PUTFile").Str("location", loc.String()).Msg("redirection") + nredirs++ + resp = nil + err = nil + continue + } + + // And get an error code (if error) that is worth propagating + e := c.getRespError(resp, err) + if e != nil { + if os.IsTimeout(e) { + ntries++ + log.Warn().Str("func", "PUTFile").Str("url", finalurl).Str("err", e.Error()).Int("try", ntries).Msg("recoverable network timeout") + continue + } + log.Error().Str("func", "PUTFile").Str("url", finalurl).Str("err", e.Error()).Msg("") + return e + } + + log.Debug().Str("func", "PUTFile").Str("url", finalurl).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("") + if resp == nil { + return errtypes.NotFound(fmt.Sprintf("url: %s", finalurl)) + } + + return nil + } + +} + +// Head performs a HEAD req. Useful to check the server +func (c *Client) Head(ctx context.Context, remoteuser, uid, gid, urlpath string) error { + + log := appctx.GetLogger(ctx) + log.Info().Str("func", "Head").Str("remoteuser", remoteuser).Str("uid,gid", uid+","+gid).Str("path", urlpath).Msg("") + + // Now send the req and see what happens + finalurl, err := c.buildFullURL(urlpath, uid, gid) + if err != nil { + log.Error().Str("func", "Head").Str("url", finalurl).Str("err", err.Error()).Msg("can't create request") + return err + } + + req, err := http.NewRequestWithContext(ctx, "HEAD", finalurl, nil) + if err != nil { + log.Error().Str("func", "Head").Str("remoteuser", remoteuser).Str("uid,gid", uid+","+gid).Str("url", finalurl).Str("err", err.Error()).Msg("can't create request") + return err + } + + ntries := 0 + + timebegin := time.Now().Unix() + for { + tdiff := time.Now().Unix() - timebegin + if tdiff > int64(c.opt.OpTimeout) { + log.Error().Str("func", "Head").Str("url", finalurl).Int64("timeout", tdiff).Int("ntries", ntries).Msg("") + return errtypes.InternalError("Timeout with url" + finalurl) + } + // Execute the request. I don't like that there is no explicit timeout or buffer control on the input stream + resp, err := c.cl.Do(req) + + // And get an error code (if error) that is worth propagating + e := c.getRespError(resp, err) + if e != nil { + if os.IsTimeout(e) { + ntries++ + log.Warn().Str("func", "Head").Str("url", finalurl).Str("err", e.Error()).Int("try", ntries).Msg("recoverable network timeout") + continue + } + log.Error().Str("func", "Head").Str("url", finalurl).Str("err", e.Error()).Msg("") + return e + } + + log.Debug().Str("func", "Head").Str("url", finalurl).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("") + if resp == nil { + return errtypes.NotFound(fmt.Sprintf("url: %s", finalurl)) + } + } + // return nil + +} diff --git a/pkg/eosclient/eosgrpc/eosgrpc.go b/pkg/eosclient/eosgrpc/eosgrpc.go index 871cb83546..e23a300026 100644 --- a/pkg/eosclient/eosgrpc/eosgrpc.go +++ b/pkg/eosclient/eosgrpc/eosgrpc.go @@ -24,6 +24,7 @@ import ( "fmt" "io" "io/ioutil" + "net/http" "os" "os/exec" "path" @@ -34,15 +35,16 @@ import ( "github.com/cs3org/reva/pkg/appctx" "github.com/cs3org/reva/pkg/eosclient" + erpc "github.com/cs3org/reva/pkg/eosclient/eosgrpc/eos_grpc" + ehttp "github.com/cs3org/reva/pkg/eosclient/eosgrpc/eos_http" "github.com/cs3org/reva/pkg/errtypes" + "github.com/cs3org/reva/pkg/logger" "github.com/cs3org/reva/pkg/storage/utils/acl" "github.com/google/uuid" "github.com/pkg/errors" "github.com/rs/zerolog/log" "google.golang.org/grpc" - - "github.com/cs3org/reva/pkg/logger" ) const ( @@ -59,10 +61,6 @@ const ( // Options to configure the Client. type Options struct { - // ForceSingleUserMode forces all connections to use only one user. - // This is the case when access to EOS is done from FUSE under apache or www-data. - ForceSingleUserMode bool - // UseKeyTabAuth changes will authenticate requests by using an EOS keytab. UseKeytab bool @@ -70,9 +68,15 @@ type Options struct { // Requires extra metadata operations if set to true VersionInvariant bool - // SingleUsername is the username to use when connecting to EOS. - // Defaults to apache - SingleUsername string + // Set to true to use the local disk as a buffer for chunk + // reads from EOS. Default is false, i.e. pure streaming + ReadUsesLocalTemp bool + + // Set to true to use the local disk as a buffer for chunk + // writes to EOS. Default is false, i.e. pure streaming + // Beware: in pure streaming mode the FST must support + // the HTTP chunked encoding + WriteUsesLocalTemp bool // Location of the xrdcopy binary. // Default is /opt/eos/xrootd/bin/xrdcopy. @@ -99,12 +103,21 @@ type Options struct { // SecProtocol is the comma separated list of security protocols used by xrootd. // For example: "sss, unix" SecProtocol string + + // HTTP connections to EOS: max number of idle conns + MaxIdleConns int + + // HTTP connections to EOS: max number of conns per host + MaxConnsPerHost int + + // HTTP connections to EOS: max number of idle conns per host + MaxIdleConnsPerHost int + + // HTTP connections to EOS: idle conections TTL + IdleConnTimeout int } func (opt *Options) init() { - if opt.ForceSingleUserMode && opt.SingleUsername != "" { - opt.SingleUsername = "apache" - } if opt.XrdcopyBinary == "" { opt.XrdcopyBinary = "/opt/eos/xrootd/bin/xrdcopy" @@ -117,44 +130,50 @@ func (opt *Options) init() { if opt.CacheDirectory == "" { opt.CacheDirectory = os.TempDir() } + } // Client performs actions against a EOS management node (MGM) // using the EOS GRPC interface. type Client struct { - opt *Options - cl erpc.EosClient + opt *Options + htopts ehttp.Options + httptransport *http.Transport + cl erpc.EosClient +} + +// GetHTTPCl creates an http client for immediate usage, using the already instantiated resources +func (c *Client) GetHTTPCl() *ehttp.Client { + + return ehttp.New(&c.htopts, c.httptransport) } // Create and connect a grpc eos Client func newgrpc(ctx context.Context, opt *Options) (erpc.EosClient, error) { log := appctx.GetLogger(ctx) - log.Debug().Str("Connecting to ", "'"+opt.GrpcURI+"'").Msg("") + log.Info().Str("Setting up GRPC towards ", "'"+opt.GrpcURI+"'").Msg("") conn, err := grpc.Dial(opt.GrpcURI, grpc.WithInsecure()) if err != nil { - log.Debug().Str("Error connecting to ", "'"+opt.GrpcURI+"' ").Str("err:", err.Error()).Msg("") - return nil, err + log.Warn().Str("Error connecting to ", "'"+opt.GrpcURI+"' ").Str("err", err.Error()).Msg("") } log.Debug().Str("Going to ping ", "'"+opt.GrpcURI+"' ").Msg("") ecl := erpc.NewEosClient(conn) - // If we can't ping... treat it as an error... we will see if this has to be kept, for now it's practical + // If we can't ping... just print warnings. In the case EOS is down, grpc will take care of + // connecting later prq := new(erpc.PingRequest) prq.Authkey = opt.Authkey prq.Message = []byte("hi this is a ping from reva") prep, err := ecl.Ping(ctx, prq) if err != nil { - log.Error().Str("Ping to ", "'"+opt.GrpcURI+"' ").Str("err:", err.Error()).Msg("") - return nil, err + log.Warn().Str("Could not ping to ", "'"+opt.GrpcURI+"' ").Str("err", err.Error()).Msg("") } if prep == nil { - log.Debug().Str("Ping to ", "'"+opt.GrpcURI+"' ").Str("gave nil response", "").Msg("") - return nil, errtypes.InternalError("nil response from ping") + log.Warn().Str("Could not ping to ", "'"+opt.GrpcURI+"' ").Str("nil response", "").Msg("") } - log.Info().Str("Ping to ", "'"+opt.GrpcURI+"' ").Msg(" was successful") return ecl, nil } @@ -167,10 +186,13 @@ func New(opt *Options) *Client { c := new(Client) c.opt = opt - // Let's be successful if the ping was ok. This is an initialization phase - // and we enforce the server to be up - // This will likely improve as soon as the behaviour of grpc is understood - // in the case of server restarts or failures + t, err := c.htopts.Init() + if err != nil { + panic("Cant't init the EOS http client options") + } + c.httptransport = t + c.htopts.BaseURL = c.opt.URL + tctx := appctx.WithLogger(context.Background(), &tlog) ccl, err := newgrpc(tctx, opt) if err != nil { @@ -181,9 +203,28 @@ func New(opt *Options) *Client { return c } +// If the error is not nil, take that +// If there is an error coming from EOS, erturn a descriptive error +func (c *Client) getRespError(rsp *erpc.NSResponse, err error) error { + if err != nil { + return err + } + + if rsp == nil || rsp.Error == nil || rsp.Error.Code == 0 { + return nil + } + + err2 := errtypes.InternalError("Err from EOS: " + fmt.Sprintf("%#v", rsp.Error)) + return err2 +} + // Common code to create and initialize a NSRequest -func (c *Client) initNSRequest(uid, gid string) (*erpc.NSRequest, error) { +func (c *Client) initNSRequest(ctx context.Context, uid, gid string) (*erpc.NSRequest, error) { // Stuff filename, uid, gid into the MDRequest type + + log := appctx.GetLogger(ctx) + log.Debug().Str("(uid,gid)", "("+uid+","+gid+")").Msg("New grpcNS req") + rq := new(erpc.NSRequest) rq.Role = new(erpc.RoleId) @@ -203,8 +244,12 @@ func (c *Client) initNSRequest(uid, gid string) (*erpc.NSRequest, error) { } // Common code to create and initialize a NSRequest -func (c *Client) initMDRequest(uid, gid string) (*erpc.MDRequest, error) { +func (c *Client) initMDRequest(ctx context.Context, uid, gid string) (*erpc.MDRequest, error) { // Stuff filename, uid, gid into the MDRequest type + + log := appctx.GetLogger(ctx) + log.Debug().Str("(uid,gid)", "("+uid+","+gid+")").Msg("New grpcMD req") + mdrq := new(erpc.MDRequest) mdrq.Role = new(erpc.RoleId) @@ -226,7 +271,9 @@ func (c *Client) initMDRequest(uid, gid string) (*erpc.MDRequest, error) { // AddACL adds an new acl to EOS with the given aclType. func (c *Client) AddACL(ctx context.Context, uid, gid, rootUID, rootGID, path string, a *acl.Entry) error { + log := appctx.GetLogger(ctx) + log.Info().Str("func", "AddACL").Str("uid,gid", uid+","+gid).Str("rootuid,rootgid", rootUID+","+rootGID).Str("path", path).Msg("") acls, err := c.getACLForPath(ctx, uid, gid, path) if err != nil { @@ -240,7 +287,7 @@ func (c *Client) AddACL(ctx context.Context, uid, gid, rootUID, rootGID, path st sysACL := acls.Serialize() // Init a new NSRequest - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -258,23 +305,27 @@ func (c *Client) AddACL(ctx context.Context, uid, gid, rootUID, rootGID, path st // Now send the req and see what happens resp, err := c.cl.Exec(context.Background(), rq) - if err != nil { - log.Error().Str("Exec ", "'"+path+"' ").Str("err:", err.Error()).Msg("") - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "AddACL").Str("path", path).Str("err", e.Error()).Msg("") + return e } - log.Debug().Str("Exec ", "'"+path+"' ").Str("resp:", fmt.Sprintf("%#v", resp)).Msg("") if resp == nil { return errtypes.NotFound(fmt.Sprintf("Path: %s", path)) } + log.Debug().Str("func", "AddACL").Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + return err } // RemoveACL removes the acl from EOS. func (c *Client) RemoveACL(ctx context.Context, uid, gid, rootUID, rootGID, path string, a *acl.Entry) error { + log := appctx.GetLogger(ctx) + log.Info().Str("func", "RemoveACL").Str("uid,gid", uid+","+gid).Str("rootuid,rootgid", rootUID+","+rootGID).Str("path", path).Msg("") acls, err := c.getACLForPath(ctx, uid, gid, path) if err != nil { @@ -285,7 +336,7 @@ func (c *Client) RemoveACL(ctx context.Context, uid, gid, rootUID, rootGID, path sysACL := acls.Serialize() // Init a new NSRequest - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -303,16 +354,18 @@ func (c *Client) RemoveACL(ctx context.Context, uid, gid, rootUID, rootGID, path // Now send the req and see what happens resp, err := c.cl.Exec(context.Background(), rq) - if err != nil { - log.Error().Str("Exec ", "'"+path+"' ").Str("err:", err.Error()).Msg("") - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "RemoveACL").Str("path", path).Str("err", e.Error()).Msg("") + return e } - log.Debug().Str("Exec ", "'"+path+"' ").Str("resp:", fmt.Sprintf("%#v", resp)).Msg("") if resp == nil { return errtypes.NotFound(fmt.Sprintf("Path: %s", path)) } + log.Debug().Str("func", "RemoveACL").Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + return err } @@ -324,6 +377,10 @@ func (c *Client) UpdateACL(ctx context.Context, uid, gid, rootUID, rootGID, path // GetACL for a file func (c *Client) GetACL(ctx context.Context, uid, gid, path, aclType, target string) (*acl.Entry, error) { + + log := appctx.GetLogger(ctx) + log.Info().Str("func", "GetACL").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") + acls, err := c.ListACLs(ctx, uid, gid, path) if err != nil { return nil, err @@ -341,6 +398,9 @@ func (c *Client) GetACL(ctx context.Context, uid, gid, path, aclType, target str // EOS returns uids/gid for Citrine version and usernames for older versions. // For Citire we need to convert back the uid back to username. func (c *Client) ListACLs(ctx context.Context, uid, gid, path string) ([]*acl.Entry, error) { + log := appctx.GetLogger(ctx) + log.Info().Str("func", "ListACLs").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") + parsedACLs, err := c.getACLForPath(ctx, uid, gid, path) if err != nil { return nil, err @@ -353,9 +413,10 @@ func (c *Client) ListACLs(ctx context.Context, uid, gid, path string) ([]*acl.En func (c *Client) getACLForPath(ctx context.Context, uid, gid, path string) (*acl.ACLs, error) { log := appctx.GetLogger(ctx) + log.Info().Str("func", "GetACLForPath").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return nil, err } @@ -372,24 +433,24 @@ func (c *Client) getACLForPath(ctx context.Context, uid, gid, path string) (*acl // Now send the req and see what happens resp, err := c.cl.Exec(context.Background(), rq) - - if err != nil { - log.Error().Err(err).Str("path", path).Str("err", err.Error()) - return nil, err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "GetACLForPath").Str("path", path).Str("err", e.Error()).Msg("") + return nil, e } if resp == nil { return nil, errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' path: '%s'", uid, path)) } - log.Debug().Str("Exec ", "'"+path+"' ").Str("resp:", fmt.Sprintf("%#v", resp)).Msg("") + log.Debug().Str("func", "GetACLForPath").Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") if resp.Acl == nil { return nil, errtypes.InternalError(fmt.Sprintf("nil acl for uid: '%s' path: '%s'", uid, path)) } if resp.GetError() != nil { - log.Info().Str("uid", uid).Str("path", path).Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("grpc response") + log.Error().Str("func", "GetACLForPath").Str("uid", uid).Str("path", path).Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("EOS negative resp") } aclret, err := acl.Parse(resp.Acl.Rule, acl.ShortTextForm) @@ -402,9 +463,10 @@ func (c *Client) getACLForPath(ctx context.Context, uid, gid, path string) (*acl // GetFileInfoByInode returns the FileInfo by the given inode func (c *Client) GetFileInfoByInode(ctx context.Context, uid, gid string, inode uint64) (*eosclient.FileInfo, error) { log := appctx.GetLogger(ctx) + log.Info().Str("func", "GetFileInfoByInode").Str("uid,gid", uid+","+gid).Uint64("inode", inode).Msg("") // Initialize the common fields of the MDReq - mdrq, err := c.initMDRequest(uid, gid) + mdrq, err := c.initMDRequest(ctx, uid, gid) if err != nil { return nil, err } @@ -431,7 +493,7 @@ func (c *Client) GetFileInfoByInode(ctx context.Context, uid, gid string, inode return nil, errtypes.InternalError(fmt.Sprintf("nil response for inode: '%d'", inode)) } - log.Info().Uint64("inode", inode).Str("rsp:", fmt.Sprintf("%#v", rsp)).Msg("grpc response") + log.Debug().Uint64("inode", inode).Str("rsp:", fmt.Sprintf("%#v", rsp)).Msg("grpc response") info, err := c.grpcMDResponseToFileInfo(rsp, "") if err != nil { @@ -446,15 +508,17 @@ func (c *Client) GetFileInfoByInode(ctx context.Context, uid, gid string, inode info.Inode = inode } + log.Debug().Str("func", "GetFileInfoByInode").Uint64("inode", inode).Msg("") return info, nil } // SetAttr sets an extended attributes on a path. func (c *Client) SetAttr(ctx context.Context, uid, gid string, attr *eosclient.Attribute, recursive bool, path string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "SetAttr").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -472,16 +536,19 @@ func (c *Client) SetAttr(ctx context.Context, uid, gid string, attr *eosclient.A // Now send the req and see what happens resp, err := c.cl.Exec(ctx, rq) - if err != nil { - log.Warn().Err(err).Str("path", path).Str("err", err.Error()) - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "SetAttr").Str("path", path).Str("err", e.Error()).Msg("") + return e } if resp == nil { return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' gid: '%s' path: '%s'", uid, gid, path)) } - log.Info().Str("path", path).Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("grpc response") + if resp.GetError() != nil { + log.Error().Str("func", "setAttr").Str("path", path).Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("EOS negative result") + } return err @@ -490,9 +557,10 @@ func (c *Client) SetAttr(ctx context.Context, uid, gid string, attr *eosclient.A // UnsetAttr unsets an extended attribute on a path. func (c *Client) UnsetAttr(ctx context.Context, uid, gid string, attr *eosclient.Attribute, path string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "UnsetAttr").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -509,17 +577,19 @@ func (c *Client) UnsetAttr(ctx context.Context, uid, gid string, attr *eosclient // Now send the req and see what happens resp, err := c.cl.Exec(ctx, rq) - if err != nil { - log.Error().Err(err).Str("path", path).Str("err", err.Error()) - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "UnsetAttr").Str("path", path).Str("err", e.Error()).Msg("") + return e } if resp == nil { return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' gid: '%s' path: '%s'", uid, gid, path)) } - log.Info().Str("path", path).Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("grpc response") - + if resp.GetError() != nil { + log.Error().Str("func", "UnsetAttr").Str("path", path).Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("EOS negative resp") + } return err } @@ -527,9 +597,10 @@ func (c *Client) UnsetAttr(ctx context.Context, uid, gid string, attr *eosclient // GetFileInfoByPath returns the FilInfo at the given path func (c *Client) GetFileInfoByPath(ctx context.Context, uid, gid, path string) (*eosclient.FileInfo, error) { log := appctx.GetLogger(ctx) + log.Info().Str("func", "GetFileInfoByPath").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") // Initialize the common fields of the MDReq - mdrq, err := c.initMDRequest(uid, gid) + mdrq, err := c.initMDRequest(ctx, uid, gid) if err != nil { return nil, err } @@ -541,13 +612,13 @@ func (c *Client) GetFileInfoByPath(ctx context.Context, uid, gid, path string) ( // Now send the req and see what happens resp, err := c.cl.MD(ctx, mdrq) if err != nil { - log.Error().Err(err).Str("path", path).Str("err", err.Error()) + log.Error().Str("func", "GetFileInfoByPath").Err(err).Str("path", path).Str("err", err.Error()) return nil, err } rsp, err := resp.Recv() if err != nil { - log.Error().Err(err).Str("path", path).Str("err", err.Error()) + log.Error().Str("func", "GetFileInfoByPath").Err(err).Str("path", path).Str("err", err.Error()) // FIXME: this is very very bad and poisonous for the project!!!!!!! // Apparently here we have to assume that an error in Recv() means "file not found" @@ -561,7 +632,7 @@ func (c *Client) GetFileInfoByPath(ctx context.Context, uid, gid, path string) ( return nil, errtypes.NotFound(fmt.Sprintf("%s:%s", "acltype", path)) } - log.Info().Str("path", path).Str("rsp:", fmt.Sprintf("%#v", rsp)).Msg("grpc response") + log.Debug().Str("func", "GetFileInfoByPath").Str("path", path).Str("rsp:", fmt.Sprintf("%#v", rsp)).Msg("grpc response") info, err := c.grpcMDResponseToFileInfo(rsp, filepath.Dir(path)) if err != nil { @@ -585,20 +656,149 @@ func (c *Client) GetFileInfoByFXID(ctx context.Context, uid, gid string, fxid st // GetQuota gets the quota of a user on the quota node defined by path func (c *Client) GetQuota(ctx context.Context, username, rootUID, rootGID, path string) (*eosclient.QuotaInfo, error) { - return nil, errtypes.NotSupported("eosgrpc: GetQuota not implemented") + log := appctx.GetLogger(ctx) + log.Info().Str("func", "GetQuota").Str("rootuid,rootgid", rootUID+","+rootGID).Str("username", username).Str("path", path).Msg("") + + // Initialize the common fields of the NSReq + rq, err := c.initNSRequest(ctx, rootUID, rootGID) + if err != nil { + return nil, err + } + + msg := new(erpc.NSRequest_QuotaRequest) + msg.Path = []byte(path) + msg.Id = new(erpc.RoleId) + msg.Op = erpc.QUOTAOP_GET + // Eos filters the returned quotas by username. This means that EOS must know it, someone + // must have created an user with that name + msg.Id.Username = username + rq.Command = &erpc.NSRequest_Quota{Quota: msg} + + // Now send the req and see what happens + resp, err := c.cl.Exec(ctx, rq) + e := c.getRespError(resp, err) + if e != nil { + return nil, e + } + + if resp == nil { + return nil, errtypes.InternalError(fmt.Sprintf("nil response for rootuid: '%s' rootgid: '%s' username: '%s' path: '%s'", rootUID, rootGID, username, path)) + } + + if resp.GetError() != nil { + log.Error().Str("func", "GetQuota").Str("rootuid,rootgid", rootUID+","+rootGID).Str("username", username).Str("info:", fmt.Sprintf("%#v", resp)).Int64("eoserrcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("EOS negative resp") + } else { + log.Debug().Str("func", "GetQuota").Str("rootuid,rootgid", rootUID+","+rootGID).Str("username", username).Str("info:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + } + + if resp.Quota == nil { + return nil, errtypes.InternalError(fmt.Sprintf("nil quota response? rootuid: '%s' rootgid: '%s' path: '%s'", rootUID, rootGID, path)) + } + + if resp.Quota.Code != 0 { + return nil, errtypes.InternalError(fmt.Sprintf("Quota error from eos. rootuid: '%s' rootgid: '%s' info: '%#v'", rootUID, rootGID, resp.Quota)) + } + + qi := new(eosclient.QuotaInfo) + if resp == nil { + return nil, errtypes.InternalError("Out of memory") + } + + // Let's loop on all the quotas that match this uid (apparently there can be many) + // If there are many for this node, we sum them up + for i := 0; i < len(resp.Quota.Quotanode); i++ { + log.Debug().Str("func", "GetQuota").Str("rootuid,rootgid", rootUID+","+rootGID).Str("quotanode:", fmt.Sprintf("%d: %#v", i, resp.Quota.Quotanode[i])).Msg("") + + mx := int64(resp.Quota.Quotanode[i].Maxlogicalbytes) - int64(resp.Quota.Quotanode[i].Usedbytes) + if mx < 0 { + mx = 0 + } + qi.AvailableBytes += uint64(mx) + qi.UsedBytes += resp.Quota.Quotanode[i].Usedbytes + + mx = int64(resp.Quota.Quotanode[i].Maxfiles) - int64(resp.Quota.Quotanode[i].Usedfiles) + if mx < 0 { + mx = 0 + } + qi.AvailableInodes += uint64(mx) + qi.UsedInodes += resp.Quota.Quotanode[i].Usedfiles + } + + return qi, err + } // SetQuota sets the quota of a user on the quota node defined by path func (c *Client) SetQuota(ctx context.Context, rootUID, rootGID string, info *eosclient.SetQuotaInfo) error { - return errtypes.NotSupported("eosgrpc: SetQuota not implemented") + { + log := appctx.GetLogger(ctx) + log.Info().Str("func", "SetQuota").Str("rootuid,rootgid", rootUID+","+rootGID).Str("info:", fmt.Sprintf("%#v", info)).Msg("") + + // EOS does not have yet this command... work in progress, this is a draft piece of code + // return errtypes.NotSupported("eosgrpc: SetQuota not implemented") + + // Initialize the common fields of the NSReq + rq, err := c.initNSRequest(ctx, rootUID, rootGID) + if err != nil { + return err + } + + msg := new(erpc.NSRequest_QuotaRequest) + msg.Path = []byte(info.QuotaNode) + msg.Id = new(erpc.RoleId) + uidInt, err := strconv.ParseUint(info.UID, 10, 64) + if err != nil { + return err + } + + // We set a quota for an user, not a group! + msg.Id.Uid = uidInt + msg.Id.Gid = 0 + msg.Id.Username = info.Username + msg.Op = erpc.QUOTAOP_SET + msg.Maxbytes = info.MaxBytes + msg.Maxfiles = info.MaxFiles + rq.Command = &erpc.NSRequest_Quota{Quota: msg} + + // Now send the req and see what happens + resp, err := c.cl.Exec(ctx, rq) + e := c.getRespError(resp, err) + if e != nil { + return e + } + + if resp == nil { + return errtypes.InternalError(fmt.Sprintf("nil response for rootuid: '%s' rootgid: '%s' info: '%#v'", rootUID, rootGID, info)) + } + + if resp.GetError() != nil { + log.Error().Str("func", "SetQuota").Str("rootuid,rootgid", rootUID+","+rootGID).Str("info:", fmt.Sprintf("%#v", resp)).Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("EOS negative resp") + } else { + log.Debug().Str("func", "SetQuota").Str("rootuid,rootgid", rootUID+","+rootGID).Str("info:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + } + + if resp.Quota == nil { + return errtypes.InternalError(fmt.Sprintf("nil quota response? rootuid: '%s' rootgid: '%s' info: '%#v'", rootUID, rootGID, info)) + } + + if resp.Quota.Code != 0 { + return errtypes.InternalError(fmt.Sprintf("Quota error from eos. rootuid: '%s' rootgid: '%s' quota: '%#v'", rootUID, rootGID, resp.Quota)) + } + + log.Debug().Str("func", "GetQuota").Str("rootuid,rootgid", rootUID+","+rootGID).Str("quotanodes", fmt.Sprintf("%d", len(resp.Quota.Quotanode))).Msg("grpc response") + + return err + + } } // Touch creates a 0-size,0-replica file in the EOS namespace. func (c *Client) Touch(ctx context.Context, uid, gid, path string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "Touch").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -612,16 +812,17 @@ func (c *Client) Touch(ctx context.Context, uid, gid, path string) error { // Now send the req and see what happens resp, err := c.cl.Exec(ctx, rq) - if err != nil { - log.Warn().Err(err).Str("path", path).Str("err", err.Error()) - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "Touch").Str("path", path).Str("err", e.Error()).Msg("") + return e } if resp == nil { return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' path: '%s'", uid, path)) } - log.Info().Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + log.Debug().Str("func", "Touch").Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") return err @@ -630,9 +831,10 @@ func (c *Client) Touch(ctx context.Context, uid, gid, path string) error { // Chown given path func (c *Client) Chown(ctx context.Context, uid, gid, chownUID, chownGID, path string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "Chown").Str("uid,gid", uid+","+gid).Str("chownuid,chowngid", chownUID+","+chownGID).Str("path", path).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -643,6 +845,10 @@ func (c *Client) Chown(ctx context.Context, uid, gid, chownUID, chownGID, path s if err != nil { return err } + msg.Owner.Gid, err = strconv.ParseUint(chownGID, 10, 64) + if err != nil { + return err + } msg.Id = new(erpc.MDId) msg.Id.Path = []byte(path) @@ -651,16 +857,17 @@ func (c *Client) Chown(ctx context.Context, uid, gid, chownUID, chownGID, path s // Now send the req and see what happens resp, err := c.cl.Exec(ctx, rq) - if err != nil { - log.Error().Err(err).Str("path", path).Str("err", err.Error()) - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "Chown").Str("path", path).Str("err", e.Error()).Msg("") + return e } if resp == nil { return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' chownuid: '%s' path: '%s'", uid, chownUID, path)) } - log.Info().Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + log.Debug().Str("func", "Chown").Str("path", path).Str("uid,gid", uid+","+gid).Str("chownuid,chowngid", chownUID+","+chownGID).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") return err @@ -669,9 +876,10 @@ func (c *Client) Chown(ctx context.Context, uid, gid, chownUID, chownGID, path s // Chmod given path func (c *Client) Chmod(ctx context.Context, uid, gid, mode, path string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "Chmod").Str("uid,gid", uid+","+gid).Str("mode", mode).Str("path", path).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -691,16 +899,17 @@ func (c *Client) Chmod(ctx context.Context, uid, gid, mode, path string) error { // Now send the req and see what happens resp, err := c.cl.Exec(ctx, rq) - if err != nil { - log.Warn().Err(err).Str("mode", mode).Str("path", path).Str("err", err.Error()) - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "Chmod").Str("path ", path).Str("err", e.Error()).Msg("") + return e } if resp == nil { return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' mode: '%s' path: '%s'", uid, mode, path)) } - log.Info().Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + log.Debug().Str("func", "Chmod").Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") return err @@ -709,9 +918,10 @@ func (c *Client) Chmod(ctx context.Context, uid, gid, mode, path string) error { // CreateDir creates a directory at the given path func (c *Client) CreateDir(ctx context.Context, uid, gid, path string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "Createdir").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -732,16 +942,17 @@ func (c *Client) CreateDir(ctx context.Context, uid, gid, path string) error { // Now send the req and see what happens resp, err := c.cl.Exec(ctx, rq) - if err != nil { - log.Warn().Err(err).Str("path", path).Str("err", err.Error()) - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "Createdir").Str("path", path).Str("err", e.Error()).Msg("") + return e } if resp == nil { return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' path: '%s'", uid, path)) } - log.Info().Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + log.Debug().Str("func", "Createdir").Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") return err @@ -749,9 +960,10 @@ func (c *Client) CreateDir(ctx context.Context, uid, gid, path string) error { func (c *Client) rm(ctx context.Context, uid, gid, path string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "rm").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -765,16 +977,17 @@ func (c *Client) rm(ctx context.Context, uid, gid, path string) error { // Now send the req and see what happens resp, err := c.cl.Exec(ctx, rq) - if err != nil { - log.Warn().Err(err).Str("path", path).Str("err", err.Error()) - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "rm").Str("path", path).Str("err", e.Error()).Msg("") + return e } if resp == nil { return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' path: '%s'", uid, path)) } - log.Info().Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + log.Debug().Str("func", "rm").Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") return err @@ -782,9 +995,10 @@ func (c *Client) rm(ctx context.Context, uid, gid, path string) error { func (c *Client) rmdir(ctx context.Context, uid, gid, path string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "rmdir").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -800,16 +1014,17 @@ func (c *Client) rmdir(ctx context.Context, uid, gid, path string) error { // Now send the req and see what happens resp, err := c.cl.Exec(ctx, rq) - if err != nil { - log.Warn().Err(err).Str("path", path).Str("err", err.Error()) - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "rmdir").Str("path", path).Str("err", e.Error()).Msg("") + return e } if resp == nil { return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' path: '%s'", uid, path)) } - log.Info().Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + log.Debug().Str("func", "rmdir").Str("path", path).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") return err } @@ -817,10 +1032,11 @@ func (c *Client) rmdir(ctx context.Context, uid, gid, path string) error { // Remove removes the resource at the given path func (c *Client) Remove(ctx context.Context, uid, gid, path string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "Remove").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") nfo, err := c.GetFileInfoByPath(ctx, uid, gid, path) if err != nil { - log.Warn().Err(err).Str("path", path).Str("err", err.Error()) + log.Warn().Err(err).Str("func", "Remove").Str("path", path).Str("err", err.Error()) return err } @@ -833,12 +1049,44 @@ func (c *Client) Remove(ctx context.Context, uid, gid, path string) error { // Rename renames the resource referenced by oldPath to newPath func (c *Client) Rename(ctx context.Context, uid, gid, oldPath, newPath string) error { - return errtypes.NotSupported("eosgrpc: Rename not implemented") + log := appctx.GetLogger(ctx) + log.Info().Str("func", "Rename").Str("uid,gid", uid+","+gid).Str("oldPath", oldPath).Str("newPath", newPath).Msg("") + + // Initialize the common fields of the NSReq + rq, err := c.initNSRequest(ctx, uid, gid) + if err != nil { + return err + } + + msg := new(erpc.NSRequest_RenameRequest) + + msg.Id = new(erpc.MDId) + msg.Id.Path = []byte(oldPath) + msg.Target = []byte(newPath) + rq.Command = &erpc.NSRequest_Rename{Rename: msg} + + // Now send the req and see what happens + resp, err := c.cl.Exec(ctx, rq) + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "Rename").Str("oldPath", oldPath).Str("newPath", newPath).Str("err", e.Error()).Msg("") + return e + } + + if resp == nil { + return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' oldpath: '%s' newpath: '%s'", uid, oldPath, newPath)) + } + + log.Debug().Str("func", "Rename").Str("oldPath", oldPath).Str("newPath", newPath).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + + return err + } // List the contents of the directory given by path func (c *Client) List(ctx context.Context, uid, gid, dpath string) ([]*eosclient.FileInfo, error) { log := appctx.GetLogger(ctx) + log.Info().Str("func", "List").Str("uid,gid", uid+","+gid).Str("dpath", dpath).Msg("") // Stuff filename, uid, gid into the FindRequest type fdrq := new(erpc.FindRequest) @@ -865,7 +1113,7 @@ func (c *Client) List(ctx context.Context, uid, gid, dpath string) ([]*eosclient // Now send the req and see what happens resp, err := c.cl.Find(context.Background(), fdrq) if err != nil { - log.Error().Err(err).Str("path", dpath).Str("err", err.Error()) + log.Error().Err(err).Str("func", "List").Str("path", dpath).Str("err", err.Error()).Msg("grpc response") return nil, err } @@ -876,70 +1124,129 @@ func (c *Client) List(ctx context.Context, uid, gid, dpath string) ([]*eosclient rsp, err := resp.Recv() if err != nil { if err == io.EOF { + log.Debug().Str("path", dpath).Int("nitems", i).Msg("OK, no more items, clean exit") return mylst, nil } - log.Warn().Err(err).Str("path", dpath).Str("err", err.Error()) - - return nil, err + // We got an error while reading items. We log this as an error and we return + // the items we have + log.Error().Err(err).Str("func", "List").Int("nitems", i).Str("path", dpath).Str("got err from EOS", err.Error()).Msg("") + if i > 0 { + log.Error().Str("path", dpath).Int("nitems", i).Msg("No more items, dirty exit") + return mylst, nil + } } if rsp == nil { - log.Warn().Err(err).Str("path", dpath).Str("err", "rsp is nil") + log.Error().Int("nitems", i).Err(err).Str("func", "List").Str("path", dpath).Str("err", "rsp is nil").Msg("grpc response") return nil, errtypes.NotFound(dpath) } - log.Debug().Str("path", dpath).Str("item resp:", fmt.Sprintf("%#v", rsp)).Msg("grpc response") + i++ + + // The first item is the directory itself... skip + if i == 1 { + log.Debug().Str("func", "List").Str("path", dpath).Str("skipping first item resp:", fmt.Sprintf("%#v", rsp)).Msg("grpc response") + continue + } + + log.Debug().Str("func", "List").Str("path", dpath).Str("item resp:", fmt.Sprintf("%#v", rsp)).Msg("grpc response") myitem, err := c.grpcMDResponseToFileInfo(rsp, dpath) if err != nil { - log.Warn().Err(err).Str("path", dpath).Str("could not convert item:", fmt.Sprintf("%#v", rsp)).Str("err:", err.Error()).Msg("") + log.Error().Err(err).Str("func", "List").Str("path", dpath).Str("could not convert item:", fmt.Sprintf("%#v", rsp)).Str("err", err.Error()).Msg("") return nil, err } - i++ - if i == 1 { - continue - } mylst = append(mylst, myitem) } + } -// Read reads a file from the mgm +// Read reads a file from the mgm and returns a handle to read it +// This handle could be directly the body of the response or a local tmp file +// returning a handle to the body is nice, yet it gives less control on the transaction +// itself, e.g. strange timeouts or TCP issues may be more difficult to trace +// Let's consider this experimental for the moment, maybe I'll like to add a config +// parameter to choose between the two behaviours func (c *Client) Read(ctx context.Context, uid, gid, path string) (io.ReadCloser, error) { - rand := "eosread-" + uuid.New().String() - localTarget := fmt.Sprintf("%s/%s", c.opt.CacheDirectory, rand) - defer os.RemoveAll(localTarget) + log := appctx.GetLogger(ctx) + log.Info().Str("func", "Read").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") - xrdPath := fmt.Sprintf("%s//%s", c.opt.URL, path) - cmd := exec.CommandContext(ctx, c.opt.XrdcopyBinary, "--nopbar", "--silent", "-f", xrdPath, localTarget, fmt.Sprintf("-OSeos.ruid=%s&eos.rgid=%s", uid, gid)) - if _, _, err := c.execute(ctx, cmd); err != nil { - return nil, err + var localTarget string + var err error + var localfile io.WriteCloser + localfile = nil + + if c.opt.ReadUsesLocalTemp { + rand := "eosread-" + uuid.New().String() + localTarget := fmt.Sprintf("%s/%s", c.opt.CacheDirectory, rand) + defer os.RemoveAll(localTarget) + + log.Info().Str("func", "Read").Str("uid,gid", uid+","+gid).Str("path", path).Str("tempfile", localTarget).Msg("") + localfile, err = os.Create(localTarget) + if err != nil { + log.Error().Str("func", "Read").Str("path", path).Str("uid,gid", uid+","+gid).Str("err", err.Error()).Msg("") + return nil, errtypes.InternalError(fmt.Sprintf("can't open local temp file '%s'", localTarget)) + } } - return os.Open(localTarget) + + bodystream, err := c.GetHTTPCl().GETFile(ctx, c.httptransport, "", uid, gid, path, localfile) + if err != nil { + log.Error().Str("func", "Read").Str("path", path).Str("uid,gid", uid+","+gid).Str("err", err.Error()).Msg("") + return nil, errtypes.InternalError(fmt.Sprintf("can't GET local cache file '%s'", localTarget)) + } + + return bodystream, nil + // return os.Open(localTarget) } // Write writes a file to the mgm +// Somehow the same considerations as Read apply func (c *Client) Write(ctx context.Context, uid, gid, path string, stream io.ReadCloser) error { - fd, err := ioutil.TempFile(c.opt.CacheDirectory, "eoswrite-") - if err != nil { - return err - } - defer fd.Close() - defer os.RemoveAll(fd.Name()) + log := appctx.GetLogger(ctx) + log.Info().Str("func", "Write").Str("uid,gid", uid+","+gid).Str("path", path).Msg("") + var length int64 + length = -1 - // copy stream to local temp file - _, err = io.Copy(fd, stream) - if err != nil { - return err + if c.opt.WriteUsesLocalTemp { + fd, err := ioutil.TempFile(c.opt.CacheDirectory, "eoswrite-") + if err != nil { + return err + } + defer fd.Close() + defer os.RemoveAll(fd.Name()) + + log.Info().Str("func", "Write").Str("uid,gid", uid+","+gid).Str("path", path).Str("tempfile", fd.Name()).Msg("") + // copy stream to local temp file + length, err = io.Copy(fd, stream) + if err != nil { + return err + } + + wfd, err := os.Open(fd.Name()) + if err != nil { + return err + } + defer wfd.Close() + defer os.RemoveAll(fd.Name()) + + return c.GetHTTPCl().PUTFile(ctx, c.httptransport, "", uid, gid, path, wfd, length) } - return c.WriteFile(ctx, uid, gid, path, fd.Name()) + return c.GetHTTPCl().PUTFile(ctx, c.httptransport, "", uid, gid, path, stream, length) + + // return c.GetHttpCl().PUTFile(ctx, remoteuser, uid, gid, urlpathng, stream) + // return c.WriteFile(ctx, uid, gid, path, fd.Name()) } -// WriteFile writes an existing file to the mgm +// WriteFile writes an existing file to the mgm. Old xrdcp utility func (c *Client) WriteFile(ctx context.Context, uid, gid, path, source string) error { + + log := appctx.GetLogger(ctx) + log.Info().Str("func", "WriteFile").Str("uid,gid", uid+","+gid).Str("path", path).Str("source", source).Msg("") + xrdPath := fmt.Sprintf("%s//%s", c.opt.URL, path) cmd := exec.CommandContext(ctx, c.opt.XrdcopyBinary, "--nopbar", "--silent", "-f", source, xrdPath, fmt.Sprintf("-ODeos.ruid=%s&eos.rgid=%s", uid, gid)) _, _, err := c.execute(ctx, cmd) @@ -950,9 +1257,10 @@ func (c *Client) WriteFile(ctx context.Context, uid, gid, path, source string) e // ListDeletedEntries returns a list of the deleted entries. func (c *Client) ListDeletedEntries(ctx context.Context, uid, gid string) ([]*eosclient.DeletedEntry, error) { log := appctx.GetLogger(ctx) + log.Info().Str("func", "ListDeletedEntries").Str("uid,gid", uid+","+gid).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return nil, err } @@ -964,17 +1272,21 @@ func (c *Client) ListDeletedEntries(ctx context.Context, uid, gid string) ([]*eo // Now send the req and see what happens resp, err := c.cl.Exec(context.Background(), rq) - if err != nil { - log.Warn().Err(err).Str("err", err.Error()) - return nil, err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("err", e.Error()).Msg("") + return nil, e } if resp == nil { return nil, errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s'", uid)) } - log.Info().Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("grpc response") - + if resp.GetError() != nil { + log.Error().Str("func", "ListDeletedEntries").Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("EOS negative resp") + } else { + log.Debug().Str("func", "ListDeletedEntries").Str("info:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + } // TODO(labkode): add protection if slave is configured and alive to count how many files are in the trashbin before // triggering the recycle ls call that could break the instance because of unavailable memory. // FF: I agree with labkode, if we think we may have memory problems then the semantics of the grpc call`and @@ -1004,9 +1316,10 @@ func (c *Client) ListDeletedEntries(ctx context.Context, uid, gid string) ([]*eo // RestoreDeletedEntry restores a deleted entry. func (c *Client) RestoreDeletedEntry(ctx context.Context, uid, gid, key string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "RestoreDeletedEntries").Str("uid,gid", uid+","+gid).Str("key", key).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -1020,26 +1333,31 @@ func (c *Client) RestoreDeletedEntry(ctx context.Context, uid, gid, key string) // Now send the req and see what happens resp, err := c.cl.Exec(context.Background(), rq) - if err != nil { - log.Warn().Err(err).Str("key", key).Str("err", err.Error()) - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "RestoreDeletedEntries").Str("key", key).Str("err", e.Error()).Msg("") + return e } if resp == nil { return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' key: '%s'", uid, key)) } - log.Info().Str("key", key).Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("grpc response") - + if resp.GetError() != nil { + log.Error().Str("func", "RestoreDeletedEntries").Str("key", key).Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("EOS negative resp") + } else { + log.Info().Str("func", "RestoreDeletedEntries").Str("key", key).Str("resp:", fmt.Sprintf("%#v", resp)).Msg("grpc response") + } return err } // PurgeDeletedEntries purges all entries from the recycle bin. func (c *Client) PurgeDeletedEntries(ctx context.Context, uid, gid string) error { log := appctx.GetLogger(ctx) + log.Info().Str("func", "PurgeDeletedEntries").Str("uid,gid", uid+","+gid).Msg("") // Initialize the common fields of the NSReq - rq, err := c.initNSRequest(uid, gid) + rq, err := c.initNSRequest(ctx, uid, gid) if err != nil { return err } @@ -1051,22 +1369,26 @@ func (c *Client) PurgeDeletedEntries(ctx context.Context, uid, gid string) error // Now send the req and see what happens resp, err := c.cl.Exec(context.Background(), rq) - if err != nil { - log.Warn().Err(err).Str("err", err.Error()) - return err + e := c.getRespError(resp, err) + if e != nil { + log.Error().Str("func", "PurgeDeletedEntries").Str("err", e.Error()).Msg("") + return e } if resp == nil { return errtypes.InternalError(fmt.Sprintf("nil response for uid: '%s' ", uid)) } - log.Info().Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("grpc response") + log.Info().Str("func", "PurgeDeletedEntries").Int64("errcode", resp.GetError().Code).Str("errmsg", resp.GetError().Msg).Msg("grpc response") return err } // ListVersions list all the versions for a given file. func (c *Client) ListVersions(ctx context.Context, uid, gid, p string) ([]*eosclient.FileInfo, error) { + log := appctx.GetLogger(ctx) + log.Info().Str("func", "ListVersions").Str("uid,gid", uid+","+gid).Str("p", p).Msg("") + versionFolder := getVersionFolder(p) finfos, err := c.List(ctx, uid, gid, versionFolder) if err != nil { @@ -1089,11 +1411,17 @@ func (c *Client) RollbackToVersion(ctx context.Context, uid, gid, path, version // ReadVersion reads the version for the given file. func (c *Client) ReadVersion(ctx context.Context, uid, gid, p, version string) (io.ReadCloser, error) { + log := appctx.GetLogger(ctx) + log.Info().Str("func", "ReadVersion").Str("uid,gid", uid+","+gid).Str("p", p).Str("version", version).Msg("") + versionFile := path.Join(getVersionFolder(p), version) return c.Read(ctx, uid, gid, versionFile) } func (c *Client) getVersionFolderInode(ctx context.Context, uid, gid, p string) (uint64, error) { + log := appctx.GetLogger(ctx) + log.Info().Str("func", "getVersionFolderInode").Str("uid,gid", uid+","+gid).Str("p", p).Msg("") + versionFolder := getVersionFolder(p) md, err := c.GetFileInfoByPath(ctx, uid, gid, versionFolder) if err != nil { @@ -1109,6 +1437,9 @@ func (c *Client) getVersionFolderInode(ctx context.Context, uid, gid, p string) } func (c *Client) getFileInfoFromVersion(ctx context.Context, uid, gid, p string) (*eosclient.FileInfo, error) { + log := appctx.GetLogger(ctx) + log.Info().Str("func", "getFileInfoFromVersion").Str("uid,gid", uid+","+gid).Str("p", p).Msg("") + file := getFileFromVersionFolder(p) md, err := c.GetFileInfoByPath(ctx, uid, gid, file) if err != nil { diff --git a/pkg/storage/utils/eosfs/config.go b/pkg/storage/utils/eosfs/config.go index 69351fb1e8..743bf90f40 100644 --- a/pkg/storage/utils/eosfs/config.go +++ b/pkg/storage/utils/eosfs/config.go @@ -121,4 +121,28 @@ type Config struct { // and a depth of 2, we'll lookup each user's home directory. // Default value is 2. UserIDCacheWarmupDepth int `mapstructure:"user_id_cache_warmup_depth"` + + // Normally the eosgrpc plugin streams data on the fly. + // Setting this to true will make reva use the temp cachedirectory + // as intermediate step for read operations + ReadUsesLocalTemp bool `mapstructure:"read_uses_local_temp"` + + // Normally the eosgrpc plugin streams data on the fly. + // Setting this to true will make reva use the temp cachedirectory + // as intermediate step for write operations + // Beware: in pure streaming mode the FST must support + // the HTTP chunked encoding + WriteUsesLocalTemp bool `mapstructure:"write_uses_local_temp"` + + // HTTP connections to EOS: max number of idle conns + MaxIdleConns int `mapstructure:"max_idle_conns"` + + // HTTP connections to EOS: max number of conns per host + MaxConnsPerHost int `mapstructure:"max_conns_per_host"` + + // HTTP connections to EOS: max number of idle conns per host + MaxIdleConnsPerHost int `mapstructure:"max_idle_conns_per_host"` + + // HTTP connections to EOS: idle conections TTL + IdleConnTimeout int `mapstructure:"idle_conn_timeout"` } diff --git a/pkg/storage/utils/eosfs/eosfs.go b/pkg/storage/utils/eosfs/eosfs.go index 0629a879a7..4976a04c30 100644 --- a/pkg/storage/utils/eosfs/eosfs.go +++ b/pkg/storage/utils/eosfs/eosfs.go @@ -157,13 +157,17 @@ func NewEOSFS(c *Config) (storage.FS, error) { URL: c.MasterURL, GrpcURI: c.GrpcURI, CacheDirectory: c.CacheDirectory, - ForceSingleUserMode: c.ForceSingleUserMode, - SingleUsername: c.SingleUsername, UseKeytab: c.UseKeytab, Keytab: c.Keytab, Authkey: c.GRPCAuthkey, SecProtocol: c.SecProtocol, VersionInvariant: c.VersionInvariant, + ReadUsesLocalTemp: c.ReadUsesLocalTemp, + WriteUsesLocalTemp: c.WriteUsesLocalTemp, + MaxIdleConns: c.MaxIdleConns, + MaxConnsPerHost: c.MaxConnsPerHost, + MaxIdleConnsPerHost: c.MaxIdleConnsPerHost, + IdleConnTimeout: c.IdleConnTimeout, } eosClient = eosgrpc.New(eosClientOpts) } else { @@ -800,12 +804,17 @@ func (fs *eosfs) GetQuota(ctx context.Context) (uint64, uint64, error) { return 0, 0, errors.Wrap(err, "eos: no user in ctx") } + uid, _, err := fs.getUserUIDAndGID(ctx, u) + if err != nil { + return 0, 0, errors.Wrap(err, "eos: no uid in ctx") + } + rootUID, rootGID, err := fs.getRootUIDAndGID(ctx) if err != nil { return 0, 0, err } - qi, err := fs.c.GetQuota(ctx, u.Username, rootUID, rootGID, fs.conf.QuotaNode) + qi, err := fs.c.GetQuota(ctx, uid, rootUID, rootGID, fs.conf.QuotaNode) if err != nil { err := errors.Wrap(err, "eosfs: error getting quota") return 0, 0, err @@ -874,11 +883,17 @@ func (fs *eosfs) createNominalHome(ctx context.Context) error { } home := fs.wrap(ctx, "/") - uid, gid, err := fs.getRootUIDAndGID(ctx) + rootuid, rootgid, err := fs.getRootUIDAndGID(ctx) if err != nil { return nil } - _, err = fs.c.GetFileInfoByPath(ctx, uid, gid, home) + + uid, gid, err := fs.getUserUIDAndGID(ctx, u) + if err != nil { + return err + } + + _, err = fs.c.GetFileInfoByPath(ctx, rootuid, rootgid, home) if err == nil { // home already exists return nil } @@ -896,12 +911,14 @@ func (fs *eosfs) createNominalHome(ctx context.Context) error { // set quota for user quotaInfo := &eosclient.SetQuotaInfo{ Username: u.Username, + UID: uid, + GID: gid, MaxBytes: fs.conf.DefaultQuotaBytes, MaxFiles: fs.conf.DefaultQuotaFiles, QuotaNode: fs.conf.QuotaNode, } - err = fs.c.SetQuota(ctx, uid, gid, quotaInfo) + err = fs.c.SetQuota(ctx, rootuid, rootgid, quotaInfo) if err != nil { err := errors.Wrap(err, "eosfs: error setting quota") return err