// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.1 // protoc v5.29.2 // source: api/object/grpc/service.proto //go:build protoopaque package object import ( grpc1 "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/refs/grpc" grpc "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/session/grpc" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // GET object request type GetRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *GetRequest_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetRequest) Reset() { *x = GetRequest{} mi := &file_api_object_grpc_service_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRequest) ProtoMessage() {} func (x *GetRequest) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetRequest) GetBody() *GetRequest_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *GetRequest) GetMetaHeader() *grpc.RequestMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *GetRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *GetRequest) SetBody(v *GetRequest_Body) { x.xxx_hidden_Body = v } func (x *GetRequest) SetMetaHeader(v *grpc.RequestMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *GetRequest) SetVerifyHeader(v *grpc.RequestVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *GetRequest) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *GetRequest) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *GetRequest) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *GetRequest) ClearBody() { x.xxx_hidden_Body = nil } func (x *GetRequest) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *GetRequest) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type GetRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of get object request message. Body *GetRequest_Body // Carries request meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.RequestMetaHeader // Carries request verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.RequestVerificationHeader } func (b0 GetRequest_builder) Build() *GetRequest { m0 := &GetRequest{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // GET object response type GetResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *GetResponse_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetResponse) Reset() { *x = GetResponse{} mi := &file_api_object_grpc_service_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetResponse) ProtoMessage() {} func (x *GetResponse) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetResponse) GetBody() *GetResponse_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *GetResponse) GetMetaHeader() *grpc.ResponseMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *GetResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *GetResponse) SetBody(v *GetResponse_Body) { x.xxx_hidden_Body = v } func (x *GetResponse) SetMetaHeader(v *grpc.ResponseMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *GetResponse) SetVerifyHeader(v *grpc.ResponseVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *GetResponse) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *GetResponse) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *GetResponse) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *GetResponse) ClearBody() { x.xxx_hidden_Body = nil } func (x *GetResponse) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *GetResponse) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type GetResponse_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of get object response message. Body *GetResponse_Body // Carries response meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.ResponseMetaHeader // Carries response verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.ResponseVerificationHeader } func (b0 GetResponse_builder) Build() *GetResponse { m0 := &GetResponse{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // PUT object request type PutRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *PutRequest_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PutRequest) Reset() { *x = PutRequest{} mi := &file_api_object_grpc_service_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PutRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PutRequest) ProtoMessage() {} func (x *PutRequest) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PutRequest) GetBody() *PutRequest_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *PutRequest) GetMetaHeader() *grpc.RequestMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *PutRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *PutRequest) SetBody(v *PutRequest_Body) { x.xxx_hidden_Body = v } func (x *PutRequest) SetMetaHeader(v *grpc.RequestMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *PutRequest) SetVerifyHeader(v *grpc.RequestVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *PutRequest) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *PutRequest) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *PutRequest) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *PutRequest) ClearBody() { x.xxx_hidden_Body = nil } func (x *PutRequest) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *PutRequest) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type PutRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of put object request message. Body *PutRequest_Body // Carries request meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.RequestMetaHeader // Carries request verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.RequestVerificationHeader } func (b0 PutRequest_builder) Build() *PutRequest { m0 := &PutRequest{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // PUT Object response type PutResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *PutResponse_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PutResponse) Reset() { *x = PutResponse{} mi := &file_api_object_grpc_service_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PutResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PutResponse) ProtoMessage() {} func (x *PutResponse) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PutResponse) GetBody() *PutResponse_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *PutResponse) GetMetaHeader() *grpc.ResponseMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *PutResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *PutResponse) SetBody(v *PutResponse_Body) { x.xxx_hidden_Body = v } func (x *PutResponse) SetMetaHeader(v *grpc.ResponseMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *PutResponse) SetVerifyHeader(v *grpc.ResponseVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *PutResponse) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *PutResponse) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *PutResponse) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *PutResponse) ClearBody() { x.xxx_hidden_Body = nil } func (x *PutResponse) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *PutResponse) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type PutResponse_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of put object response message. Body *PutResponse_Body // Carries response meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.ResponseMetaHeader // Carries response verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.ResponseVerificationHeader } func (b0 PutResponse_builder) Build() *PutResponse { m0 := &PutResponse{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Object DELETE request type DeleteRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *DeleteRequest_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DeleteRequest) Reset() { *x = DeleteRequest{} mi := &file_api_object_grpc_service_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DeleteRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteRequest) ProtoMessage() {} func (x *DeleteRequest) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *DeleteRequest) GetBody() *DeleteRequest_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *DeleteRequest) GetMetaHeader() *grpc.RequestMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *DeleteRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *DeleteRequest) SetBody(v *DeleteRequest_Body) { x.xxx_hidden_Body = v } func (x *DeleteRequest) SetMetaHeader(v *grpc.RequestMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *DeleteRequest) SetVerifyHeader(v *grpc.RequestVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *DeleteRequest) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *DeleteRequest) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *DeleteRequest) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *DeleteRequest) ClearBody() { x.xxx_hidden_Body = nil } func (x *DeleteRequest) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *DeleteRequest) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type DeleteRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of delete object request message. Body *DeleteRequest_Body // Carries request meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.RequestMetaHeader // Carries request verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.RequestVerificationHeader } func (b0 DeleteRequest_builder) Build() *DeleteRequest { m0 := &DeleteRequest{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // DeleteResponse body is empty because we cannot guarantee permanent object // removal in distributed system. type DeleteResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *DeleteResponse_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DeleteResponse) Reset() { *x = DeleteResponse{} mi := &file_api_object_grpc_service_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DeleteResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteResponse) ProtoMessage() {} func (x *DeleteResponse) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *DeleteResponse) GetBody() *DeleteResponse_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *DeleteResponse) GetMetaHeader() *grpc.ResponseMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *DeleteResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *DeleteResponse) SetBody(v *DeleteResponse_Body) { x.xxx_hidden_Body = v } func (x *DeleteResponse) SetMetaHeader(v *grpc.ResponseMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *DeleteResponse) SetVerifyHeader(v *grpc.ResponseVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *DeleteResponse) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *DeleteResponse) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *DeleteResponse) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *DeleteResponse) ClearBody() { x.xxx_hidden_Body = nil } func (x *DeleteResponse) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *DeleteResponse) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type DeleteResponse_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of delete object response message. Body *DeleteResponse_Body // Carries response meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.ResponseMetaHeader // Carries response verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.ResponseVerificationHeader } func (b0 DeleteResponse_builder) Build() *DeleteResponse { m0 := &DeleteResponse{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Object HEAD request type HeadRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *HeadRequest_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *HeadRequest) Reset() { *x = HeadRequest{} mi := &file_api_object_grpc_service_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *HeadRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeadRequest) ProtoMessage() {} func (x *HeadRequest) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *HeadRequest) GetBody() *HeadRequest_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *HeadRequest) GetMetaHeader() *grpc.RequestMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *HeadRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *HeadRequest) SetBody(v *HeadRequest_Body) { x.xxx_hidden_Body = v } func (x *HeadRequest) SetMetaHeader(v *grpc.RequestMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *HeadRequest) SetVerifyHeader(v *grpc.RequestVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *HeadRequest) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *HeadRequest) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *HeadRequest) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *HeadRequest) ClearBody() { x.xxx_hidden_Body = nil } func (x *HeadRequest) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *HeadRequest) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type HeadRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of head object request message. Body *HeadRequest_Body // Carries request meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.RequestMetaHeader // Carries request verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.RequestVerificationHeader } func (b0 HeadRequest_builder) Build() *HeadRequest { m0 := &HeadRequest{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Tuple of a full object header and signature of an `ObjectID`. \ // Signed `ObjectID` is present to verify full header's authenticity through the // following steps: // // 1. Calculate `SHA-256` of the marshalled `Header` structure // 2. Check if the resulting hash matches `ObjectID` // 3. Check if `ObjectID` signature in `signature` field is correct type HeaderWithSignature struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Header *Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"` xxx_hidden_Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature" json:"signature,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *HeaderWithSignature) Reset() { *x = HeaderWithSignature{} mi := &file_api_object_grpc_service_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *HeaderWithSignature) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeaderWithSignature) ProtoMessage() {} func (x *HeaderWithSignature) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *HeaderWithSignature) GetHeader() *Header { if x != nil { return x.xxx_hidden_Header } return nil } func (x *HeaderWithSignature) GetSignature() *grpc1.Signature { if x != nil { return x.xxx_hidden_Signature } return nil } func (x *HeaderWithSignature) SetHeader(v *Header) { x.xxx_hidden_Header = v } func (x *HeaderWithSignature) SetSignature(v *grpc1.Signature) { x.xxx_hidden_Signature = v } func (x *HeaderWithSignature) HasHeader() bool { if x == nil { return false } return x.xxx_hidden_Header != nil } func (x *HeaderWithSignature) HasSignature() bool { if x == nil { return false } return x.xxx_hidden_Signature != nil } func (x *HeaderWithSignature) ClearHeader() { x.xxx_hidden_Header = nil } func (x *HeaderWithSignature) ClearSignature() { x.xxx_hidden_Signature = nil } type HeaderWithSignature_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Full object header Header *Header // Signed `ObjectID` to verify full header's authenticity Signature *grpc1.Signature } func (b0 HeaderWithSignature_builder) Build() *HeaderWithSignature { m0 := &HeaderWithSignature{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Header = b.Header x.xxx_hidden_Signature = b.Signature return m0 } // Object HEAD response type HeadResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *HeadResponse_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *HeadResponse) Reset() { *x = HeadResponse{} mi := &file_api_object_grpc_service_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *HeadResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeadResponse) ProtoMessage() {} func (x *HeadResponse) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *HeadResponse) GetBody() *HeadResponse_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *HeadResponse) GetMetaHeader() *grpc.ResponseMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *HeadResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *HeadResponse) SetBody(v *HeadResponse_Body) { x.xxx_hidden_Body = v } func (x *HeadResponse) SetMetaHeader(v *grpc.ResponseMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *HeadResponse) SetVerifyHeader(v *grpc.ResponseVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *HeadResponse) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *HeadResponse) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *HeadResponse) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *HeadResponse) ClearBody() { x.xxx_hidden_Body = nil } func (x *HeadResponse) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *HeadResponse) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type HeadResponse_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of head object response message. Body *HeadResponse_Body // Carries response meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.ResponseMetaHeader // Carries response verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.ResponseVerificationHeader } func (b0 HeadResponse_builder) Build() *HeadResponse { m0 := &HeadResponse{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Object Search request type SearchRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *SearchRequest_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SearchRequest) Reset() { *x = SearchRequest{} mi := &file_api_object_grpc_service_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchRequest) ProtoMessage() {} func (x *SearchRequest) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *SearchRequest) GetBody() *SearchRequest_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *SearchRequest) GetMetaHeader() *grpc.RequestMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *SearchRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *SearchRequest) SetBody(v *SearchRequest_Body) { x.xxx_hidden_Body = v } func (x *SearchRequest) SetMetaHeader(v *grpc.RequestMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *SearchRequest) SetVerifyHeader(v *grpc.RequestVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *SearchRequest) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *SearchRequest) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *SearchRequest) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *SearchRequest) ClearBody() { x.xxx_hidden_Body = nil } func (x *SearchRequest) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *SearchRequest) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type SearchRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of search object request message. Body *SearchRequest_Body // Carries request meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.RequestMetaHeader // Carries request verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.RequestVerificationHeader } func (b0 SearchRequest_builder) Build() *SearchRequest { m0 := &SearchRequest{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Search response type SearchResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *SearchResponse_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SearchResponse) Reset() { *x = SearchResponse{} mi := &file_api_object_grpc_service_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchResponse) ProtoMessage() {} func (x *SearchResponse) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *SearchResponse) GetBody() *SearchResponse_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *SearchResponse) GetMetaHeader() *grpc.ResponseMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *SearchResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *SearchResponse) SetBody(v *SearchResponse_Body) { x.xxx_hidden_Body = v } func (x *SearchResponse) SetMetaHeader(v *grpc.ResponseMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *SearchResponse) SetVerifyHeader(v *grpc.ResponseVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *SearchResponse) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *SearchResponse) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *SearchResponse) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *SearchResponse) ClearBody() { x.xxx_hidden_Body = nil } func (x *SearchResponse) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *SearchResponse) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type SearchResponse_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of search object response message. Body *SearchResponse_Body // Carries response meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.ResponseMetaHeader // Carries response verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.ResponseVerificationHeader } func (b0 SearchResponse_builder) Build() *SearchResponse { m0 := &SearchResponse{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Object payload range.Ranges of zero length SHOULD be considered as invalid. type Range struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Offset uint64 `protobuf:"varint,1,opt,name=offset" json:"offset,omitempty"` xxx_hidden_Length uint64 `protobuf:"varint,2,opt,name=length" json:"length,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Range) Reset() { *x = Range{} mi := &file_api_object_grpc_service_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Range) String() string { return protoimpl.X.MessageStringOf(x) } func (*Range) ProtoMessage() {} func (x *Range) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *Range) GetOffset() uint64 { if x != nil { return x.xxx_hidden_Offset } return 0 } func (x *Range) GetLength() uint64 { if x != nil { return x.xxx_hidden_Length } return 0 } func (x *Range) SetOffset(v uint64) { x.xxx_hidden_Offset = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2) } func (x *Range) SetLength(v uint64) { x.xxx_hidden_Length = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2) } func (x *Range) HasOffset() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 0) } func (x *Range) HasLength() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 1) } func (x *Range) ClearOffset() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) x.xxx_hidden_Offset = 0 } func (x *Range) ClearLength() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) x.xxx_hidden_Length = 0 } type Range_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Offset of the range from the object payload start Offset *uint64 // Length in bytes of the object payload range Length *uint64 } func (b0 Range_builder) Build() *Range { m0 := &Range{} b, x := &b0, m0 _, _ = b, x if b.Offset != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2) x.xxx_hidden_Offset = *b.Offset } if b.Length != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2) x.xxx_hidden_Length = *b.Length } return m0 } // Request part of object's payload type GetRangeRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *GetRangeRequest_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetRangeRequest) Reset() { *x = GetRangeRequest{} mi := &file_api_object_grpc_service_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetRangeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRangeRequest) ProtoMessage() {} func (x *GetRangeRequest) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetRangeRequest) GetBody() *GetRangeRequest_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *GetRangeRequest) GetMetaHeader() *grpc.RequestMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *GetRangeRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *GetRangeRequest) SetBody(v *GetRangeRequest_Body) { x.xxx_hidden_Body = v } func (x *GetRangeRequest) SetMetaHeader(v *grpc.RequestMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *GetRangeRequest) SetVerifyHeader(v *grpc.RequestVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *GetRangeRequest) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *GetRangeRequest) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *GetRangeRequest) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *GetRangeRequest) ClearBody() { x.xxx_hidden_Body = nil } func (x *GetRangeRequest) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *GetRangeRequest) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type GetRangeRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of get range object request message. Body *GetRangeRequest_Body // Carries request meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.RequestMetaHeader // Carries request verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.RequestVerificationHeader } func (b0 GetRangeRequest_builder) Build() *GetRangeRequest { m0 := &GetRangeRequest{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Get part of object's payload type GetRangeResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *GetRangeResponse_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetRangeResponse) Reset() { *x = GetRangeResponse{} mi := &file_api_object_grpc_service_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetRangeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRangeResponse) ProtoMessage() {} func (x *GetRangeResponse) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetRangeResponse) GetBody() *GetRangeResponse_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *GetRangeResponse) GetMetaHeader() *grpc.ResponseMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *GetRangeResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *GetRangeResponse) SetBody(v *GetRangeResponse_Body) { x.xxx_hidden_Body = v } func (x *GetRangeResponse) SetMetaHeader(v *grpc.ResponseMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *GetRangeResponse) SetVerifyHeader(v *grpc.ResponseVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *GetRangeResponse) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *GetRangeResponse) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *GetRangeResponse) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *GetRangeResponse) ClearBody() { x.xxx_hidden_Body = nil } func (x *GetRangeResponse) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *GetRangeResponse) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type GetRangeResponse_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of get range object response message. Body *GetRangeResponse_Body // Carries response meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.ResponseMetaHeader // Carries response verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.ResponseVerificationHeader } func (b0 GetRangeResponse_builder) Build() *GetRangeResponse { m0 := &GetRangeResponse{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Get hash of object's payload part type GetRangeHashRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *GetRangeHashRequest_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetRangeHashRequest) Reset() { *x = GetRangeHashRequest{} mi := &file_api_object_grpc_service_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetRangeHashRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRangeHashRequest) ProtoMessage() {} func (x *GetRangeHashRequest) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetRangeHashRequest) GetBody() *GetRangeHashRequest_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *GetRangeHashRequest) GetMetaHeader() *grpc.RequestMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *GetRangeHashRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *GetRangeHashRequest) SetBody(v *GetRangeHashRequest_Body) { x.xxx_hidden_Body = v } func (x *GetRangeHashRequest) SetMetaHeader(v *grpc.RequestMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *GetRangeHashRequest) SetVerifyHeader(v *grpc.RequestVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *GetRangeHashRequest) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *GetRangeHashRequest) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *GetRangeHashRequest) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *GetRangeHashRequest) ClearBody() { x.xxx_hidden_Body = nil } func (x *GetRangeHashRequest) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *GetRangeHashRequest) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type GetRangeHashRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of get range hash object request message. Body *GetRangeHashRequest_Body // Carries request meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.RequestMetaHeader // Carries request verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.RequestVerificationHeader } func (b0 GetRangeHashRequest_builder) Build() *GetRangeHashRequest { m0 := &GetRangeHashRequest{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Get hash of object's payload part type GetRangeHashResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *GetRangeHashResponse_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetRangeHashResponse) Reset() { *x = GetRangeHashResponse{} mi := &file_api_object_grpc_service_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetRangeHashResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRangeHashResponse) ProtoMessage() {} func (x *GetRangeHashResponse) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetRangeHashResponse) GetBody() *GetRangeHashResponse_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *GetRangeHashResponse) GetMetaHeader() *grpc.ResponseMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *GetRangeHashResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *GetRangeHashResponse) SetBody(v *GetRangeHashResponse_Body) { x.xxx_hidden_Body = v } func (x *GetRangeHashResponse) SetMetaHeader(v *grpc.ResponseMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *GetRangeHashResponse) SetVerifyHeader(v *grpc.ResponseVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *GetRangeHashResponse) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *GetRangeHashResponse) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *GetRangeHashResponse) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *GetRangeHashResponse) ClearBody() { x.xxx_hidden_Body = nil } func (x *GetRangeHashResponse) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *GetRangeHashResponse) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type GetRangeHashResponse_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of get range hash object response message. Body *GetRangeHashResponse_Body // Carries response meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.ResponseMetaHeader // Carries response verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.ResponseVerificationHeader } func (b0 GetRangeHashResponse_builder) Build() *GetRangeHashResponse { m0 := &GetRangeHashResponse{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Object PUT Single request type PutSingleRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *PutSingleRequest_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PutSingleRequest) Reset() { *x = PutSingleRequest{} mi := &file_api_object_grpc_service_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PutSingleRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PutSingleRequest) ProtoMessage() {} func (x *PutSingleRequest) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PutSingleRequest) GetBody() *PutSingleRequest_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *PutSingleRequest) GetMetaHeader() *grpc.RequestMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *PutSingleRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *PutSingleRequest) SetBody(v *PutSingleRequest_Body) { x.xxx_hidden_Body = v } func (x *PutSingleRequest) SetMetaHeader(v *grpc.RequestMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *PutSingleRequest) SetVerifyHeader(v *grpc.RequestVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *PutSingleRequest) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *PutSingleRequest) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *PutSingleRequest) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *PutSingleRequest) ClearBody() { x.xxx_hidden_Body = nil } func (x *PutSingleRequest) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *PutSingleRequest) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type PutSingleRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of put single object request message. Body *PutSingleRequest_Body // Carries request meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.RequestMetaHeader // Carries request verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.RequestVerificationHeader } func (b0 PutSingleRequest_builder) Build() *PutSingleRequest { m0 := &PutSingleRequest{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Object PUT Single response type PutSingleResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *PutSingleResponse_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PutSingleResponse) Reset() { *x = PutSingleResponse{} mi := &file_api_object_grpc_service_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PutSingleResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PutSingleResponse) ProtoMessage() {} func (x *PutSingleResponse) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PutSingleResponse) GetBody() *PutSingleResponse_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *PutSingleResponse) GetMetaHeader() *grpc.ResponseMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *PutSingleResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *PutSingleResponse) SetBody(v *PutSingleResponse_Body) { x.xxx_hidden_Body = v } func (x *PutSingleResponse) SetMetaHeader(v *grpc.ResponseMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *PutSingleResponse) SetVerifyHeader(v *grpc.ResponseVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *PutSingleResponse) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *PutSingleResponse) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *PutSingleResponse) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *PutSingleResponse) ClearBody() { x.xxx_hidden_Body = nil } func (x *PutSingleResponse) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *PutSingleResponse) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type PutSingleResponse_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body of put single object response message. Body *PutSingleResponse_Body // Carries response meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.ResponseMetaHeader // Carries response verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.ResponseVerificationHeader } func (b0 PutSingleResponse_builder) Build() *PutSingleResponse { m0 := &PutSingleResponse{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Object PATCH request type PatchRequest struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *PatchRequest_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PatchRequest) Reset() { *x = PatchRequest{} mi := &file_api_object_grpc_service_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PatchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PatchRequest) ProtoMessage() {} func (x *PatchRequest) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PatchRequest) GetBody() *PatchRequest_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *PatchRequest) GetMetaHeader() *grpc.RequestMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *PatchRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *PatchRequest) SetBody(v *PatchRequest_Body) { x.xxx_hidden_Body = v } func (x *PatchRequest) SetMetaHeader(v *grpc.RequestMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *PatchRequest) SetVerifyHeader(v *grpc.RequestVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *PatchRequest) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *PatchRequest) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *PatchRequest) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *PatchRequest) ClearBody() { x.xxx_hidden_Body = nil } func (x *PatchRequest) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *PatchRequest) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type PatchRequest_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body for patch request message. Body *PatchRequest_Body // Carries request meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.RequestMetaHeader // Carries request verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.RequestVerificationHeader } func (b0 PatchRequest_builder) Build() *PatchRequest { m0 := &PatchRequest{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // Object PATCH response type PatchResponse struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Body *PatchResponse_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` xxx_hidden_MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader" json:"meta_header,omitempty"` xxx_hidden_VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader" json:"verify_header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PatchResponse) Reset() { *x = PatchResponse{} mi := &file_api_object_grpc_service_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PatchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PatchResponse) ProtoMessage() {} func (x *PatchResponse) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PatchResponse) GetBody() *PatchResponse_Body { if x != nil { return x.xxx_hidden_Body } return nil } func (x *PatchResponse) GetMetaHeader() *grpc.ResponseMetaHeader { if x != nil { return x.xxx_hidden_MetaHeader } return nil } func (x *PatchResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { if x != nil { return x.xxx_hidden_VerifyHeader } return nil } func (x *PatchResponse) SetBody(v *PatchResponse_Body) { x.xxx_hidden_Body = v } func (x *PatchResponse) SetMetaHeader(v *grpc.ResponseMetaHeader) { x.xxx_hidden_MetaHeader = v } func (x *PatchResponse) SetVerifyHeader(v *grpc.ResponseVerificationHeader) { x.xxx_hidden_VerifyHeader = v } func (x *PatchResponse) HasBody() bool { if x == nil { return false } return x.xxx_hidden_Body != nil } func (x *PatchResponse) HasMetaHeader() bool { if x == nil { return false } return x.xxx_hidden_MetaHeader != nil } func (x *PatchResponse) HasVerifyHeader() bool { if x == nil { return false } return x.xxx_hidden_VerifyHeader != nil } func (x *PatchResponse) ClearBody() { x.xxx_hidden_Body = nil } func (x *PatchResponse) ClearMetaHeader() { x.xxx_hidden_MetaHeader = nil } func (x *PatchResponse) ClearVerifyHeader() { x.xxx_hidden_VerifyHeader = nil } type PatchResponse_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Body for patch response message. Body *PatchResponse_Body // Carries response meta information. Header data is used only to regulate // message transport and does not affect request execution. MetaHeader *grpc.ResponseMetaHeader // Carries response verification information. This header is used to // authenticate the nodes of the message route and check the correctness of // transmission. VerifyHeader *grpc.ResponseVerificationHeader } func (b0 PatchResponse_builder) Build() *PatchResponse { m0 := &PatchResponse{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Body = b.Body x.xxx_hidden_MetaHeader = b.MetaHeader x.xxx_hidden_VerifyHeader = b.VerifyHeader return m0 } // GET Object request body type GetRequest_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Address *grpc1.Address `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` xxx_hidden_Raw bool `protobuf:"varint,2,opt,name=raw" json:"raw,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetRequest_Body) Reset() { *x = GetRequest_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetRequest_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRequest_Body) ProtoMessage() {} func (x *GetRequest_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetRequest_Body) GetAddress() *grpc1.Address { if x != nil { return x.xxx_hidden_Address } return nil } func (x *GetRequest_Body) GetRaw() bool { if x != nil { return x.xxx_hidden_Raw } return false } func (x *GetRequest_Body) SetAddress(v *grpc1.Address) { x.xxx_hidden_Address = v } func (x *GetRequest_Body) SetRaw(v bool) { x.xxx_hidden_Raw = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2) } func (x *GetRequest_Body) HasAddress() bool { if x == nil { return false } return x.xxx_hidden_Address != nil } func (x *GetRequest_Body) HasRaw() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 1) } func (x *GetRequest_Body) ClearAddress() { x.xxx_hidden_Address = nil } func (x *GetRequest_Body) ClearRaw() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) x.xxx_hidden_Raw = false } type GetRequest_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Address of the requested object Address *grpc1.Address // If `raw` flag is set, request will work only with objects that are // physically stored on the peer node Raw *bool } func (b0 GetRequest_Body_builder) Build() *GetRequest_Body { m0 := &GetRequest_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Address = b.Address if b.Raw != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2) x.xxx_hidden_Raw = *b.Raw } return m0 } // GET Object Response body type GetResponse_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_ObjectPart isGetResponse_Body_ObjectPart `protobuf_oneof:"object_part"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetResponse_Body) Reset() { *x = GetResponse_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetResponse_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetResponse_Body) ProtoMessage() {} func (x *GetResponse_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetResponse_Body) GetInit() *GetResponse_Body_Init { if x != nil { if x, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_Init_); ok { return x.Init } } return nil } func (x *GetResponse_Body) GetChunk() []byte { if x != nil { if x, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_Chunk); ok { return x.Chunk } } return nil } func (x *GetResponse_Body) GetSplitInfo() *SplitInfo { if x != nil { if x, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_SplitInfo); ok { return x.SplitInfo } } return nil } func (x *GetResponse_Body) GetEcInfo() *ECInfo { if x != nil { if x, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_EcInfo); ok { return x.EcInfo } } return nil } func (x *GetResponse_Body) SetInit(v *GetResponse_Body_Init) { if v == nil { x.xxx_hidden_ObjectPart = nil return } x.xxx_hidden_ObjectPart = &getResponse_Body_Init_{v} } func (x *GetResponse_Body) SetChunk(v []byte) { if v == nil { v = []byte{} } x.xxx_hidden_ObjectPart = &getResponse_Body_Chunk{v} } func (x *GetResponse_Body) SetSplitInfo(v *SplitInfo) { if v == nil { x.xxx_hidden_ObjectPart = nil return } x.xxx_hidden_ObjectPart = &getResponse_Body_SplitInfo{v} } func (x *GetResponse_Body) SetEcInfo(v *ECInfo) { if v == nil { x.xxx_hidden_ObjectPart = nil return } x.xxx_hidden_ObjectPart = &getResponse_Body_EcInfo{v} } func (x *GetResponse_Body) HasObjectPart() bool { if x == nil { return false } return x.xxx_hidden_ObjectPart != nil } func (x *GetResponse_Body) HasInit() bool { if x == nil { return false } _, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_Init_) return ok } func (x *GetResponse_Body) HasChunk() bool { if x == nil { return false } _, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_Chunk) return ok } func (x *GetResponse_Body) HasSplitInfo() bool { if x == nil { return false } _, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_SplitInfo) return ok } func (x *GetResponse_Body) HasEcInfo() bool { if x == nil { return false } _, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_EcInfo) return ok } func (x *GetResponse_Body) ClearObjectPart() { x.xxx_hidden_ObjectPart = nil } func (x *GetResponse_Body) ClearInit() { if _, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_Init_); ok { x.xxx_hidden_ObjectPart = nil } } func (x *GetResponse_Body) ClearChunk() { if _, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_Chunk); ok { x.xxx_hidden_ObjectPart = nil } } func (x *GetResponse_Body) ClearSplitInfo() { if _, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_SplitInfo); ok { x.xxx_hidden_ObjectPart = nil } } func (x *GetResponse_Body) ClearEcInfo() { if _, ok := x.xxx_hidden_ObjectPart.(*getResponse_Body_EcInfo); ok { x.xxx_hidden_ObjectPart = nil } } const GetResponse_Body_ObjectPart_not_set_case case_GetResponse_Body_ObjectPart = 0 const GetResponse_Body_Init_case case_GetResponse_Body_ObjectPart = 1 const GetResponse_Body_Chunk_case case_GetResponse_Body_ObjectPart = 2 const GetResponse_Body_SplitInfo_case case_GetResponse_Body_ObjectPart = 3 const GetResponse_Body_EcInfo_case case_GetResponse_Body_ObjectPart = 4 func (x *GetResponse_Body) WhichObjectPart() case_GetResponse_Body_ObjectPart { if x == nil { return GetResponse_Body_ObjectPart_not_set_case } switch x.xxx_hidden_ObjectPart.(type) { case *getResponse_Body_Init_: return GetResponse_Body_Init_case case *getResponse_Body_Chunk: return GetResponse_Body_Chunk_case case *getResponse_Body_SplitInfo: return GetResponse_Body_SplitInfo_case case *getResponse_Body_EcInfo: return GetResponse_Body_EcInfo_case default: return GetResponse_Body_ObjectPart_not_set_case } } type GetResponse_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Single message in the response stream. // Fields of oneof xxx_hidden_ObjectPart: // Initial part of the object stream Init *GetResponse_Body_Init // Chunked object payload Chunk []byte // Meta information of split hierarchy for object assembly. SplitInfo *SplitInfo // Meta information for EC object assembly. EcInfo *ECInfo // -- end of xxx_hidden_ObjectPart } func (b0 GetResponse_Body_builder) Build() *GetResponse_Body { m0 := &GetResponse_Body{} b, x := &b0, m0 _, _ = b, x if b.Init != nil { x.xxx_hidden_ObjectPart = &getResponse_Body_Init_{b.Init} } if b.Chunk != nil { x.xxx_hidden_ObjectPart = &getResponse_Body_Chunk{b.Chunk} } if b.SplitInfo != nil { x.xxx_hidden_ObjectPart = &getResponse_Body_SplitInfo{b.SplitInfo} } if b.EcInfo != nil { x.xxx_hidden_ObjectPart = &getResponse_Body_EcInfo{b.EcInfo} } return m0 } type case_GetResponse_Body_ObjectPart protoreflect.FieldNumber func (x case_GetResponse_Body_ObjectPart) String() string { md := file_api_object_grpc_service_proto_msgTypes[21].Descriptor() if x == 0 { return "not set" } return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) } type isGetResponse_Body_ObjectPart interface { isGetResponse_Body_ObjectPart() } type getResponse_Body_Init_ struct { // Initial part of the object stream Init *GetResponse_Body_Init `protobuf:"bytes,1,opt,name=init,oneof"` } type getResponse_Body_Chunk struct { // Chunked object payload Chunk []byte `protobuf:"bytes,2,opt,name=chunk,oneof"` } type getResponse_Body_SplitInfo struct { // Meta information of split hierarchy for object assembly. SplitInfo *SplitInfo `protobuf:"bytes,3,opt,name=split_info,json=splitInfo,oneof"` } type getResponse_Body_EcInfo struct { // Meta information for EC object assembly. EcInfo *ECInfo `protobuf:"bytes,4,opt,name=ec_info,json=ecInfo,oneof"` } func (*getResponse_Body_Init_) isGetResponse_Body_ObjectPart() {} func (*getResponse_Body_Chunk) isGetResponse_Body_ObjectPart() {} func (*getResponse_Body_SplitInfo) isGetResponse_Body_ObjectPart() {} func (*getResponse_Body_EcInfo) isGetResponse_Body_ObjectPart() {} // Initial part of the `Object` structure stream. Technically it's a // set of all `Object` structure's fields except `payload`. type GetResponse_Body_Init struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_ObjectId *grpc1.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId" json:"object_id,omitempty"` xxx_hidden_Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature" json:"signature,omitempty"` xxx_hidden_Header *Header `protobuf:"bytes,3,opt,name=header" json:"header,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetResponse_Body_Init) Reset() { *x = GetResponse_Body_Init{} mi := &file_api_object_grpc_service_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetResponse_Body_Init) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetResponse_Body_Init) ProtoMessage() {} func (x *GetResponse_Body_Init) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetResponse_Body_Init) GetObjectId() *grpc1.ObjectID { if x != nil { return x.xxx_hidden_ObjectId } return nil } func (x *GetResponse_Body_Init) GetSignature() *grpc1.Signature { if x != nil { return x.xxx_hidden_Signature } return nil } func (x *GetResponse_Body_Init) GetHeader() *Header { if x != nil { return x.xxx_hidden_Header } return nil } func (x *GetResponse_Body_Init) SetObjectId(v *grpc1.ObjectID) { x.xxx_hidden_ObjectId = v } func (x *GetResponse_Body_Init) SetSignature(v *grpc1.Signature) { x.xxx_hidden_Signature = v } func (x *GetResponse_Body_Init) SetHeader(v *Header) { x.xxx_hidden_Header = v } func (x *GetResponse_Body_Init) HasObjectId() bool { if x == nil { return false } return x.xxx_hidden_ObjectId != nil } func (x *GetResponse_Body_Init) HasSignature() bool { if x == nil { return false } return x.xxx_hidden_Signature != nil } func (x *GetResponse_Body_Init) HasHeader() bool { if x == nil { return false } return x.xxx_hidden_Header != nil } func (x *GetResponse_Body_Init) ClearObjectId() { x.xxx_hidden_ObjectId = nil } func (x *GetResponse_Body_Init) ClearSignature() { x.xxx_hidden_Signature = nil } func (x *GetResponse_Body_Init) ClearHeader() { x.xxx_hidden_Header = nil } type GetResponse_Body_Init_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Object's unique identifier. ObjectId *grpc1.ObjectID // Signed `ObjectID` Signature *grpc1.Signature // Object metadata headers Header *Header } func (b0 GetResponse_Body_Init_builder) Build() *GetResponse_Body_Init { m0 := &GetResponse_Body_Init{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_ObjectId = b.ObjectId x.xxx_hidden_Signature = b.Signature x.xxx_hidden_Header = b.Header return m0 } // PUT request body type PutRequest_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_ObjectPart isPutRequest_Body_ObjectPart `protobuf_oneof:"object_part"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PutRequest_Body) Reset() { *x = PutRequest_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PutRequest_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*PutRequest_Body) ProtoMessage() {} func (x *PutRequest_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PutRequest_Body) GetInit() *PutRequest_Body_Init { if x != nil { if x, ok := x.xxx_hidden_ObjectPart.(*putRequest_Body_Init_); ok { return x.Init } } return nil } func (x *PutRequest_Body) GetChunk() []byte { if x != nil { if x, ok := x.xxx_hidden_ObjectPart.(*putRequest_Body_Chunk); ok { return x.Chunk } } return nil } func (x *PutRequest_Body) SetInit(v *PutRequest_Body_Init) { if v == nil { x.xxx_hidden_ObjectPart = nil return } x.xxx_hidden_ObjectPart = &putRequest_Body_Init_{v} } func (x *PutRequest_Body) SetChunk(v []byte) { if v == nil { v = []byte{} } x.xxx_hidden_ObjectPart = &putRequest_Body_Chunk{v} } func (x *PutRequest_Body) HasObjectPart() bool { if x == nil { return false } return x.xxx_hidden_ObjectPart != nil } func (x *PutRequest_Body) HasInit() bool { if x == nil { return false } _, ok := x.xxx_hidden_ObjectPart.(*putRequest_Body_Init_) return ok } func (x *PutRequest_Body) HasChunk() bool { if x == nil { return false } _, ok := x.xxx_hidden_ObjectPart.(*putRequest_Body_Chunk) return ok } func (x *PutRequest_Body) ClearObjectPart() { x.xxx_hidden_ObjectPart = nil } func (x *PutRequest_Body) ClearInit() { if _, ok := x.xxx_hidden_ObjectPart.(*putRequest_Body_Init_); ok { x.xxx_hidden_ObjectPart = nil } } func (x *PutRequest_Body) ClearChunk() { if _, ok := x.xxx_hidden_ObjectPart.(*putRequest_Body_Chunk); ok { x.xxx_hidden_ObjectPart = nil } } const PutRequest_Body_ObjectPart_not_set_case case_PutRequest_Body_ObjectPart = 0 const PutRequest_Body_Init_case case_PutRequest_Body_ObjectPart = 1 const PutRequest_Body_Chunk_case case_PutRequest_Body_ObjectPart = 2 func (x *PutRequest_Body) WhichObjectPart() case_PutRequest_Body_ObjectPart { if x == nil { return PutRequest_Body_ObjectPart_not_set_case } switch x.xxx_hidden_ObjectPart.(type) { case *putRequest_Body_Init_: return PutRequest_Body_Init_case case *putRequest_Body_Chunk: return PutRequest_Body_Chunk_case default: return PutRequest_Body_ObjectPart_not_set_case } } type PutRequest_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Single message in the request stream. // Fields of oneof xxx_hidden_ObjectPart: // Initial part of the object stream Init *PutRequest_Body_Init // Chunked object payload Chunk []byte // -- end of xxx_hidden_ObjectPart } func (b0 PutRequest_Body_builder) Build() *PutRequest_Body { m0 := &PutRequest_Body{} b, x := &b0, m0 _, _ = b, x if b.Init != nil { x.xxx_hidden_ObjectPart = &putRequest_Body_Init_{b.Init} } if b.Chunk != nil { x.xxx_hidden_ObjectPart = &putRequest_Body_Chunk{b.Chunk} } return m0 } type case_PutRequest_Body_ObjectPart protoreflect.FieldNumber func (x case_PutRequest_Body_ObjectPart) String() string { md := file_api_object_grpc_service_proto_msgTypes[23].Descriptor() if x == 0 { return "not set" } return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) } type isPutRequest_Body_ObjectPart interface { isPutRequest_Body_ObjectPart() } type putRequest_Body_Init_ struct { // Initial part of the object stream Init *PutRequest_Body_Init `protobuf:"bytes,1,opt,name=init,oneof"` } type putRequest_Body_Chunk struct { // Chunked object payload Chunk []byte `protobuf:"bytes,2,opt,name=chunk,oneof"` } func (*putRequest_Body_Init_) isPutRequest_Body_ObjectPart() {} func (*putRequest_Body_Chunk) isPutRequest_Body_ObjectPart() {} // Newly created object structure parameters. If some optional parameters // are not set, they will be calculated by a peer node. type PutRequest_Body_Init struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_ObjectId *grpc1.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId" json:"object_id,omitempty"` xxx_hidden_Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature" json:"signature,omitempty"` xxx_hidden_Header *Header `protobuf:"bytes,3,opt,name=header" json:"header,omitempty"` xxx_hidden_CopiesNumber []uint32 `protobuf:"varint,4,rep,packed,name=copies_number,json=copiesNumber" json:"copies_number,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PutRequest_Body_Init) Reset() { *x = PutRequest_Body_Init{} mi := &file_api_object_grpc_service_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PutRequest_Body_Init) String() string { return protoimpl.X.MessageStringOf(x) } func (*PutRequest_Body_Init) ProtoMessage() {} func (x *PutRequest_Body_Init) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PutRequest_Body_Init) GetObjectId() *grpc1.ObjectID { if x != nil { return x.xxx_hidden_ObjectId } return nil } func (x *PutRequest_Body_Init) GetSignature() *grpc1.Signature { if x != nil { return x.xxx_hidden_Signature } return nil } func (x *PutRequest_Body_Init) GetHeader() *Header { if x != nil { return x.xxx_hidden_Header } return nil } func (x *PutRequest_Body_Init) GetCopiesNumber() []uint32 { if x != nil { return x.xxx_hidden_CopiesNumber } return nil } func (x *PutRequest_Body_Init) SetObjectId(v *grpc1.ObjectID) { x.xxx_hidden_ObjectId = v } func (x *PutRequest_Body_Init) SetSignature(v *grpc1.Signature) { x.xxx_hidden_Signature = v } func (x *PutRequest_Body_Init) SetHeader(v *Header) { x.xxx_hidden_Header = v } func (x *PutRequest_Body_Init) SetCopiesNumber(v []uint32) { x.xxx_hidden_CopiesNumber = v } func (x *PutRequest_Body_Init) HasObjectId() bool { if x == nil { return false } return x.xxx_hidden_ObjectId != nil } func (x *PutRequest_Body_Init) HasSignature() bool { if x == nil { return false } return x.xxx_hidden_Signature != nil } func (x *PutRequest_Body_Init) HasHeader() bool { if x == nil { return false } return x.xxx_hidden_Header != nil } func (x *PutRequest_Body_Init) ClearObjectId() { x.xxx_hidden_ObjectId = nil } func (x *PutRequest_Body_Init) ClearSignature() { x.xxx_hidden_Signature = nil } func (x *PutRequest_Body_Init) ClearHeader() { x.xxx_hidden_Header = nil } type PutRequest_Body_Init_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // ObjectID if available. ObjectId *grpc1.ObjectID // Object signature if available Signature *grpc1.Signature // Object's Header Header *Header // Number of copies of the object to store within the RPC call. By // default, object is processed according to the container's placement // policy. Can be one of: // 1. A single number; applied to the whole request and is treated as // a minimal number of nodes that must store an object to complete the // request successfully. // 2. An ordered array; every number is treated as a minimal number of // nodes in a corresponding placement vector that must store an object // to complete the request successfully. The length MUST equal the // placement vectors number, otherwise request is considered malformed. CopiesNumber []uint32 } func (b0 PutRequest_Body_Init_builder) Build() *PutRequest_Body_Init { m0 := &PutRequest_Body_Init{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_ObjectId = b.ObjectId x.xxx_hidden_Signature = b.Signature x.xxx_hidden_Header = b.Header x.xxx_hidden_CopiesNumber = b.CopiesNumber return m0 } // PUT Object response body type PutResponse_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_ObjectId *grpc1.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId" json:"object_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PutResponse_Body) Reset() { *x = PutResponse_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PutResponse_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*PutResponse_Body) ProtoMessage() {} func (x *PutResponse_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PutResponse_Body) GetObjectId() *grpc1.ObjectID { if x != nil { return x.xxx_hidden_ObjectId } return nil } func (x *PutResponse_Body) SetObjectId(v *grpc1.ObjectID) { x.xxx_hidden_ObjectId = v } func (x *PutResponse_Body) HasObjectId() bool { if x == nil { return false } return x.xxx_hidden_ObjectId != nil } func (x *PutResponse_Body) ClearObjectId() { x.xxx_hidden_ObjectId = nil } type PutResponse_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Identifier of the saved object ObjectId *grpc1.ObjectID } func (b0 PutResponse_Body_builder) Build() *PutResponse_Body { m0 := &PutResponse_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_ObjectId = b.ObjectId return m0 } // Object DELETE request body type DeleteRequest_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Address *grpc1.Address `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DeleteRequest_Body) Reset() { *x = DeleteRequest_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DeleteRequest_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteRequest_Body) ProtoMessage() {} func (x *DeleteRequest_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *DeleteRequest_Body) GetAddress() *grpc1.Address { if x != nil { return x.xxx_hidden_Address } return nil } func (x *DeleteRequest_Body) SetAddress(v *grpc1.Address) { x.xxx_hidden_Address = v } func (x *DeleteRequest_Body) HasAddress() bool { if x == nil { return false } return x.xxx_hidden_Address != nil } func (x *DeleteRequest_Body) ClearAddress() { x.xxx_hidden_Address = nil } type DeleteRequest_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Address of the object to be deleted Address *grpc1.Address } func (b0 DeleteRequest_Body_builder) Build() *DeleteRequest_Body { m0 := &DeleteRequest_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Address = b.Address return m0 } // Object DELETE Response has an empty body. type DeleteResponse_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Tombstone *grpc1.Address `protobuf:"bytes,1,opt,name=tombstone" json:"tombstone,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DeleteResponse_Body) Reset() { *x = DeleteResponse_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DeleteResponse_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteResponse_Body) ProtoMessage() {} func (x *DeleteResponse_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *DeleteResponse_Body) GetTombstone() *grpc1.Address { if x != nil { return x.xxx_hidden_Tombstone } return nil } func (x *DeleteResponse_Body) SetTombstone(v *grpc1.Address) { x.xxx_hidden_Tombstone = v } func (x *DeleteResponse_Body) HasTombstone() bool { if x == nil { return false } return x.xxx_hidden_Tombstone != nil } func (x *DeleteResponse_Body) ClearTombstone() { x.xxx_hidden_Tombstone = nil } type DeleteResponse_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Address of the tombstone created for the deleted object Tombstone *grpc1.Address } func (b0 DeleteResponse_Body_builder) Build() *DeleteResponse_Body { m0 := &DeleteResponse_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Tombstone = b.Tombstone return m0 } // Object HEAD request body type HeadRequest_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Address *grpc1.Address `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` xxx_hidden_MainOnly bool `protobuf:"varint,2,opt,name=main_only,json=mainOnly" json:"main_only,omitempty"` xxx_hidden_Raw bool `protobuf:"varint,3,opt,name=raw" json:"raw,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *HeadRequest_Body) Reset() { *x = HeadRequest_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *HeadRequest_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeadRequest_Body) ProtoMessage() {} func (x *HeadRequest_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *HeadRequest_Body) GetAddress() *grpc1.Address { if x != nil { return x.xxx_hidden_Address } return nil } func (x *HeadRequest_Body) GetMainOnly() bool { if x != nil { return x.xxx_hidden_MainOnly } return false } func (x *HeadRequest_Body) GetRaw() bool { if x != nil { return x.xxx_hidden_Raw } return false } func (x *HeadRequest_Body) SetAddress(v *grpc1.Address) { x.xxx_hidden_Address = v } func (x *HeadRequest_Body) SetMainOnly(v bool) { x.xxx_hidden_MainOnly = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3) } func (x *HeadRequest_Body) SetRaw(v bool) { x.xxx_hidden_Raw = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3) } func (x *HeadRequest_Body) HasAddress() bool { if x == nil { return false } return x.xxx_hidden_Address != nil } func (x *HeadRequest_Body) HasMainOnly() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 1) } func (x *HeadRequest_Body) HasRaw() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 2) } func (x *HeadRequest_Body) ClearAddress() { x.xxx_hidden_Address = nil } func (x *HeadRequest_Body) ClearMainOnly() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) x.xxx_hidden_MainOnly = false } func (x *HeadRequest_Body) ClearRaw() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) x.xxx_hidden_Raw = false } type HeadRequest_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Address of the object with the requested Header Address *grpc1.Address // Return only minimal header subset MainOnly *bool // If `raw` flag is set, request will work only with objects that are // physically stored on the peer node Raw *bool } func (b0 HeadRequest_Body_builder) Build() *HeadRequest_Body { m0 := &HeadRequest_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Address = b.Address if b.MainOnly != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3) x.xxx_hidden_MainOnly = *b.MainOnly } if b.Raw != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3) x.xxx_hidden_Raw = *b.Raw } return m0 } // Object HEAD response body type HeadResponse_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Head isHeadResponse_Body_Head `protobuf_oneof:"head"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *HeadResponse_Body) Reset() { *x = HeadResponse_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *HeadResponse_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*HeadResponse_Body) ProtoMessage() {} func (x *HeadResponse_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *HeadResponse_Body) GetHeader() *HeaderWithSignature { if x != nil { if x, ok := x.xxx_hidden_Head.(*headResponse_Body_Header); ok { return x.Header } } return nil } func (x *HeadResponse_Body) GetShortHeader() *ShortHeader { if x != nil { if x, ok := x.xxx_hidden_Head.(*headResponse_Body_ShortHeader); ok { return x.ShortHeader } } return nil } func (x *HeadResponse_Body) GetSplitInfo() *SplitInfo { if x != nil { if x, ok := x.xxx_hidden_Head.(*headResponse_Body_SplitInfo); ok { return x.SplitInfo } } return nil } func (x *HeadResponse_Body) GetEcInfo() *ECInfo { if x != nil { if x, ok := x.xxx_hidden_Head.(*headResponse_Body_EcInfo); ok { return x.EcInfo } } return nil } func (x *HeadResponse_Body) SetHeader(v *HeaderWithSignature) { if v == nil { x.xxx_hidden_Head = nil return } x.xxx_hidden_Head = &headResponse_Body_Header{v} } func (x *HeadResponse_Body) SetShortHeader(v *ShortHeader) { if v == nil { x.xxx_hidden_Head = nil return } x.xxx_hidden_Head = &headResponse_Body_ShortHeader{v} } func (x *HeadResponse_Body) SetSplitInfo(v *SplitInfo) { if v == nil { x.xxx_hidden_Head = nil return } x.xxx_hidden_Head = &headResponse_Body_SplitInfo{v} } func (x *HeadResponse_Body) SetEcInfo(v *ECInfo) { if v == nil { x.xxx_hidden_Head = nil return } x.xxx_hidden_Head = &headResponse_Body_EcInfo{v} } func (x *HeadResponse_Body) HasHead() bool { if x == nil { return false } return x.xxx_hidden_Head != nil } func (x *HeadResponse_Body) HasHeader() bool { if x == nil { return false } _, ok := x.xxx_hidden_Head.(*headResponse_Body_Header) return ok } func (x *HeadResponse_Body) HasShortHeader() bool { if x == nil { return false } _, ok := x.xxx_hidden_Head.(*headResponse_Body_ShortHeader) return ok } func (x *HeadResponse_Body) HasSplitInfo() bool { if x == nil { return false } _, ok := x.xxx_hidden_Head.(*headResponse_Body_SplitInfo) return ok } func (x *HeadResponse_Body) HasEcInfo() bool { if x == nil { return false } _, ok := x.xxx_hidden_Head.(*headResponse_Body_EcInfo) return ok } func (x *HeadResponse_Body) ClearHead() { x.xxx_hidden_Head = nil } func (x *HeadResponse_Body) ClearHeader() { if _, ok := x.xxx_hidden_Head.(*headResponse_Body_Header); ok { x.xxx_hidden_Head = nil } } func (x *HeadResponse_Body) ClearShortHeader() { if _, ok := x.xxx_hidden_Head.(*headResponse_Body_ShortHeader); ok { x.xxx_hidden_Head = nil } } func (x *HeadResponse_Body) ClearSplitInfo() { if _, ok := x.xxx_hidden_Head.(*headResponse_Body_SplitInfo); ok { x.xxx_hidden_Head = nil } } func (x *HeadResponse_Body) ClearEcInfo() { if _, ok := x.xxx_hidden_Head.(*headResponse_Body_EcInfo); ok { x.xxx_hidden_Head = nil } } const HeadResponse_Body_Head_not_set_case case_HeadResponse_Body_Head = 0 const HeadResponse_Body_Header_case case_HeadResponse_Body_Head = 1 const HeadResponse_Body_ShortHeader_case case_HeadResponse_Body_Head = 2 const HeadResponse_Body_SplitInfo_case case_HeadResponse_Body_Head = 3 const HeadResponse_Body_EcInfo_case case_HeadResponse_Body_Head = 4 func (x *HeadResponse_Body) WhichHead() case_HeadResponse_Body_Head { if x == nil { return HeadResponse_Body_Head_not_set_case } switch x.xxx_hidden_Head.(type) { case *headResponse_Body_Header: return HeadResponse_Body_Header_case case *headResponse_Body_ShortHeader: return HeadResponse_Body_ShortHeader_case case *headResponse_Body_SplitInfo: return HeadResponse_Body_SplitInfo_case case *headResponse_Body_EcInfo: return HeadResponse_Body_EcInfo_case default: return HeadResponse_Body_Head_not_set_case } } type HeadResponse_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Requested object header, it's part or meta information about split // object. // Fields of oneof xxx_hidden_Head: // Full object's `Header` with `ObjectID` signature Header *HeaderWithSignature // Short object header ShortHeader *ShortHeader // Meta information of split hierarchy. SplitInfo *SplitInfo // Meta information for EC object assembly. EcInfo *ECInfo // -- end of xxx_hidden_Head } func (b0 HeadResponse_Body_builder) Build() *HeadResponse_Body { m0 := &HeadResponse_Body{} b, x := &b0, m0 _, _ = b, x if b.Header != nil { x.xxx_hidden_Head = &headResponse_Body_Header{b.Header} } if b.ShortHeader != nil { x.xxx_hidden_Head = &headResponse_Body_ShortHeader{b.ShortHeader} } if b.SplitInfo != nil { x.xxx_hidden_Head = &headResponse_Body_SplitInfo{b.SplitInfo} } if b.EcInfo != nil { x.xxx_hidden_Head = &headResponse_Body_EcInfo{b.EcInfo} } return m0 } type case_HeadResponse_Body_Head protoreflect.FieldNumber func (x case_HeadResponse_Body_Head) String() string { md := file_api_object_grpc_service_proto_msgTypes[29].Descriptor() if x == 0 { return "not set" } return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) } type isHeadResponse_Body_Head interface { isHeadResponse_Body_Head() } type headResponse_Body_Header struct { // Full object's `Header` with `ObjectID` signature Header *HeaderWithSignature `protobuf:"bytes,1,opt,name=header,oneof"` } type headResponse_Body_ShortHeader struct { // Short object header ShortHeader *ShortHeader `protobuf:"bytes,2,opt,name=short_header,json=shortHeader,oneof"` } type headResponse_Body_SplitInfo struct { // Meta information of split hierarchy. SplitInfo *SplitInfo `protobuf:"bytes,3,opt,name=split_info,json=splitInfo,oneof"` } type headResponse_Body_EcInfo struct { // Meta information for EC object assembly. EcInfo *ECInfo `protobuf:"bytes,4,opt,name=ec_info,json=ecInfo,oneof"` } func (*headResponse_Body_Header) isHeadResponse_Body_Head() {} func (*headResponse_Body_ShortHeader) isHeadResponse_Body_Head() {} func (*headResponse_Body_SplitInfo) isHeadResponse_Body_Head() {} func (*headResponse_Body_EcInfo) isHeadResponse_Body_Head() {} // Object Search request body type SearchRequest_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_ContainerId *grpc1.ContainerID `protobuf:"bytes,1,opt,name=container_id,json=containerId" json:"container_id,omitempty"` xxx_hidden_Version uint32 `protobuf:"varint,2,opt,name=version" json:"version,omitempty"` xxx_hidden_Filters *[]*SearchRequest_Body_Filter `protobuf:"bytes,3,rep,name=filters" json:"filters,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SearchRequest_Body) Reset() { *x = SearchRequest_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SearchRequest_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchRequest_Body) ProtoMessage() {} func (x *SearchRequest_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *SearchRequest_Body) GetContainerId() *grpc1.ContainerID { if x != nil { return x.xxx_hidden_ContainerId } return nil } func (x *SearchRequest_Body) GetVersion() uint32 { if x != nil { return x.xxx_hidden_Version } return 0 } func (x *SearchRequest_Body) GetFilters() []*SearchRequest_Body_Filter { if x != nil { if x.xxx_hidden_Filters != nil { return *x.xxx_hidden_Filters } } return nil } func (x *SearchRequest_Body) SetContainerId(v *grpc1.ContainerID) { x.xxx_hidden_ContainerId = v } func (x *SearchRequest_Body) SetVersion(v uint32) { x.xxx_hidden_Version = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3) } func (x *SearchRequest_Body) SetFilters(v []*SearchRequest_Body_Filter) { x.xxx_hidden_Filters = &v } func (x *SearchRequest_Body) HasContainerId() bool { if x == nil { return false } return x.xxx_hidden_ContainerId != nil } func (x *SearchRequest_Body) HasVersion() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 1) } func (x *SearchRequest_Body) ClearContainerId() { x.xxx_hidden_ContainerId = nil } func (x *SearchRequest_Body) ClearVersion() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) x.xxx_hidden_Version = 0 } type SearchRequest_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Container identifier were to search ContainerId *grpc1.ContainerID // Version of the Query Language used Version *uint32 // List of search expressions Filters []*SearchRequest_Body_Filter } func (b0 SearchRequest_Body_builder) Build() *SearchRequest_Body { m0 := &SearchRequest_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_ContainerId = b.ContainerId if b.Version != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3) x.xxx_hidden_Version = *b.Version } x.xxx_hidden_Filters = &b.Filters return m0 } // Filter structure checks if the object header field or the attribute // content matches a value. // // If no filters are set, search request will return all objects of the // container, including Regular object and Tombstone // objects. Most human users expect to get only object they can directly // work with. In that case, `$Object:ROOT` filter should be used. // // By default `key` field refers to the corresponding object's `Attribute`. // Some Object's header fields can also be accessed by adding `$Object:` // prefix to the name. Here is the list of fields available via this prefix: // // - $Object:version \ // version // - $Object:objectID \ // object_id // - $Object:containerID \ // container_id // - $Object:ownerID \ // owner_id // - $Object:creationEpoch \ // creation_epoch // - $Object:payloadLength \ // payload_length // - $Object:payloadHash \ // payload_hash // - $Object:objectType \ // object_type // - $Object:homomorphicHash \ // homomorphic_hash // - $Object:split.parent \ // object_id of parent // - $Object:split.splitID \ // 16 byte UUIDv4 used to identify the split object hierarchy parts // - $Object:ec.parent \ // If the object is stored according to EC policy, then ec_parent // attribute is set to return an id list of all related EC chunks. // // There are some well-known filter aliases to match objects by certain // properties: // // - $Object:ROOT \ // Returns only `REGULAR` type objects that are not split or that are the // top level root objects in a split hierarchy. This includes objects not // present physically, like large objects split into smaller objects // without a separate top-level root object. Objects of other types like // Locks and Tombstones will not be shown. This filter may be // useful for listing objects like `ls` command of some virtual file // system. This filter is activated if the `key` exists, disregarding the // value and matcher type. // - $Object:PHY \ // Returns only objects physically stored in the system. This filter is // activated if the `key` exists, disregarding the value and matcher type. // // Note: using filters with a key with prefix `$Object:` and match type // `NOT_PRESENT `is not recommended since this is not a cross-version // approach. Behavior when processing this kind of filters is undefined. type SearchRequest_Body_Filter struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_MatchType MatchType `protobuf:"varint,1,opt,name=match_type,json=matchType,enum=neo.fs.v2.object.MatchType" json:"match_type,omitempty"` xxx_hidden_Key *string `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"` xxx_hidden_Value *string `protobuf:"bytes,3,opt,name=value" json:"value,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SearchRequest_Body_Filter) Reset() { *x = SearchRequest_Body_Filter{} mi := &file_api_object_grpc_service_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SearchRequest_Body_Filter) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchRequest_Body_Filter) ProtoMessage() {} func (x *SearchRequest_Body_Filter) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *SearchRequest_Body_Filter) GetMatchType() MatchType { if x != nil { if protoimpl.X.Present(&(x.XXX_presence[0]), 0) { return x.xxx_hidden_MatchType } } return MatchType_MATCH_TYPE_UNSPECIFIED } func (x *SearchRequest_Body_Filter) GetKey() string { if x != nil { if x.xxx_hidden_Key != nil { return *x.xxx_hidden_Key } return "" } return "" } func (x *SearchRequest_Body_Filter) GetValue() string { if x != nil { if x.xxx_hidden_Value != nil { return *x.xxx_hidden_Value } return "" } return "" } func (x *SearchRequest_Body_Filter) SetMatchType(v MatchType) { x.xxx_hidden_MatchType = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3) } func (x *SearchRequest_Body_Filter) SetKey(v string) { x.xxx_hidden_Key = &v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3) } func (x *SearchRequest_Body_Filter) SetValue(v string) { x.xxx_hidden_Value = &v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3) } func (x *SearchRequest_Body_Filter) HasMatchType() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 0) } func (x *SearchRequest_Body_Filter) HasKey() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 1) } func (x *SearchRequest_Body_Filter) HasValue() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 2) } func (x *SearchRequest_Body_Filter) ClearMatchType() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) x.xxx_hidden_MatchType = MatchType_MATCH_TYPE_UNSPECIFIED } func (x *SearchRequest_Body_Filter) ClearKey() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) x.xxx_hidden_Key = nil } func (x *SearchRequest_Body_Filter) ClearValue() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) x.xxx_hidden_Value = nil } type SearchRequest_Body_Filter_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Match type to use MatchType *MatchType // Attribute or Header fields to match Key *string // Value to match Value *string } func (b0 SearchRequest_Body_Filter_builder) Build() *SearchRequest_Body_Filter { m0 := &SearchRequest_Body_Filter{} b, x := &b0, m0 _, _ = b, x if b.MatchType != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3) x.xxx_hidden_MatchType = *b.MatchType } if b.Key != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3) x.xxx_hidden_Key = b.Key } if b.Value != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3) x.xxx_hidden_Value = b.Value } return m0 } // Object Search response body type SearchResponse_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_IdList *[]*grpc1.ObjectID `protobuf:"bytes,1,rep,name=id_list,json=idList" json:"id_list,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SearchResponse_Body) Reset() { *x = SearchResponse_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SearchResponse_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchResponse_Body) ProtoMessage() {} func (x *SearchResponse_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *SearchResponse_Body) GetIdList() []*grpc1.ObjectID { if x != nil { if x.xxx_hidden_IdList != nil { return *x.xxx_hidden_IdList } } return nil } func (x *SearchResponse_Body) SetIdList(v []*grpc1.ObjectID) { x.xxx_hidden_IdList = &v } type SearchResponse_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // List of `ObjectID`s that match the search query IdList []*grpc1.ObjectID } func (b0 SearchResponse_Body_builder) Build() *SearchResponse_Body { m0 := &SearchResponse_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_IdList = &b.IdList return m0 } // Byte range of object's payload request body type GetRangeRequest_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Address *grpc1.Address `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` xxx_hidden_Range *Range `protobuf:"bytes,2,opt,name=range" json:"range,omitempty"` xxx_hidden_Raw bool `protobuf:"varint,3,opt,name=raw" json:"raw,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetRangeRequest_Body) Reset() { *x = GetRangeRequest_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetRangeRequest_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRangeRequest_Body) ProtoMessage() {} func (x *GetRangeRequest_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetRangeRequest_Body) GetAddress() *grpc1.Address { if x != nil { return x.xxx_hidden_Address } return nil } func (x *GetRangeRequest_Body) GetRange() *Range { if x != nil { return x.xxx_hidden_Range } return nil } func (x *GetRangeRequest_Body) GetRaw() bool { if x != nil { return x.xxx_hidden_Raw } return false } func (x *GetRangeRequest_Body) SetAddress(v *grpc1.Address) { x.xxx_hidden_Address = v } func (x *GetRangeRequest_Body) SetRange(v *Range) { x.xxx_hidden_Range = v } func (x *GetRangeRequest_Body) SetRaw(v bool) { x.xxx_hidden_Raw = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3) } func (x *GetRangeRequest_Body) HasAddress() bool { if x == nil { return false } return x.xxx_hidden_Address != nil } func (x *GetRangeRequest_Body) HasRange() bool { if x == nil { return false } return x.xxx_hidden_Range != nil } func (x *GetRangeRequest_Body) HasRaw() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 2) } func (x *GetRangeRequest_Body) ClearAddress() { x.xxx_hidden_Address = nil } func (x *GetRangeRequest_Body) ClearRange() { x.xxx_hidden_Range = nil } func (x *GetRangeRequest_Body) ClearRaw() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) x.xxx_hidden_Raw = false } type GetRangeRequest_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Address of the object containing the requested payload range Address *grpc1.Address // Requested payload range Range *Range // If `raw` flag is set, request will work only with objects that are // physically stored on the peer node. Raw *bool } func (b0 GetRangeRequest_Body_builder) Build() *GetRangeRequest_Body { m0 := &GetRangeRequest_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Address = b.Address x.xxx_hidden_Range = b.Range if b.Raw != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3) x.xxx_hidden_Raw = *b.Raw } return m0 } // Get Range response body uses streams to transfer the response. Because // object payload considered a byte sequence, there is no need to have some // initial preamble message. The requested byte range is sent as a series // chunks. type GetRangeResponse_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_RangePart isGetRangeResponse_Body_RangePart `protobuf_oneof:"range_part"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetRangeResponse_Body) Reset() { *x = GetRangeResponse_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetRangeResponse_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRangeResponse_Body) ProtoMessage() {} func (x *GetRangeResponse_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetRangeResponse_Body) GetChunk() []byte { if x != nil { if x, ok := x.xxx_hidden_RangePart.(*getRangeResponse_Body_Chunk); ok { return x.Chunk } } return nil } func (x *GetRangeResponse_Body) GetSplitInfo() *SplitInfo { if x != nil { if x, ok := x.xxx_hidden_RangePart.(*getRangeResponse_Body_SplitInfo); ok { return x.SplitInfo } } return nil } func (x *GetRangeResponse_Body) GetEcInfo() *ECInfo { if x != nil { if x, ok := x.xxx_hidden_RangePart.(*getRangeResponse_Body_EcInfo); ok { return x.EcInfo } } return nil } func (x *GetRangeResponse_Body) SetChunk(v []byte) { if v == nil { v = []byte{} } x.xxx_hidden_RangePart = &getRangeResponse_Body_Chunk{v} } func (x *GetRangeResponse_Body) SetSplitInfo(v *SplitInfo) { if v == nil { x.xxx_hidden_RangePart = nil return } x.xxx_hidden_RangePart = &getRangeResponse_Body_SplitInfo{v} } func (x *GetRangeResponse_Body) SetEcInfo(v *ECInfo) { if v == nil { x.xxx_hidden_RangePart = nil return } x.xxx_hidden_RangePart = &getRangeResponse_Body_EcInfo{v} } func (x *GetRangeResponse_Body) HasRangePart() bool { if x == nil { return false } return x.xxx_hidden_RangePart != nil } func (x *GetRangeResponse_Body) HasChunk() bool { if x == nil { return false } _, ok := x.xxx_hidden_RangePart.(*getRangeResponse_Body_Chunk) return ok } func (x *GetRangeResponse_Body) HasSplitInfo() bool { if x == nil { return false } _, ok := x.xxx_hidden_RangePart.(*getRangeResponse_Body_SplitInfo) return ok } func (x *GetRangeResponse_Body) HasEcInfo() bool { if x == nil { return false } _, ok := x.xxx_hidden_RangePart.(*getRangeResponse_Body_EcInfo) return ok } func (x *GetRangeResponse_Body) ClearRangePart() { x.xxx_hidden_RangePart = nil } func (x *GetRangeResponse_Body) ClearChunk() { if _, ok := x.xxx_hidden_RangePart.(*getRangeResponse_Body_Chunk); ok { x.xxx_hidden_RangePart = nil } } func (x *GetRangeResponse_Body) ClearSplitInfo() { if _, ok := x.xxx_hidden_RangePart.(*getRangeResponse_Body_SplitInfo); ok { x.xxx_hidden_RangePart = nil } } func (x *GetRangeResponse_Body) ClearEcInfo() { if _, ok := x.xxx_hidden_RangePart.(*getRangeResponse_Body_EcInfo); ok { x.xxx_hidden_RangePart = nil } } const GetRangeResponse_Body_RangePart_not_set_case case_GetRangeResponse_Body_RangePart = 0 const GetRangeResponse_Body_Chunk_case case_GetRangeResponse_Body_RangePart = 1 const GetRangeResponse_Body_SplitInfo_case case_GetRangeResponse_Body_RangePart = 2 const GetRangeResponse_Body_EcInfo_case case_GetRangeResponse_Body_RangePart = 3 func (x *GetRangeResponse_Body) WhichRangePart() case_GetRangeResponse_Body_RangePart { if x == nil { return GetRangeResponse_Body_RangePart_not_set_case } switch x.xxx_hidden_RangePart.(type) { case *getRangeResponse_Body_Chunk: return GetRangeResponse_Body_Chunk_case case *getRangeResponse_Body_SplitInfo: return GetRangeResponse_Body_SplitInfo_case case *getRangeResponse_Body_EcInfo: return GetRangeResponse_Body_EcInfo_case default: return GetRangeResponse_Body_RangePart_not_set_case } } type GetRangeResponse_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Requested object range or meta information about split object. // Fields of oneof xxx_hidden_RangePart: // Chunked object payload's range. Chunk []byte // Meta information of split hierarchy. SplitInfo *SplitInfo // Meta information for EC object assembly. EcInfo *ECInfo // -- end of xxx_hidden_RangePart } func (b0 GetRangeResponse_Body_builder) Build() *GetRangeResponse_Body { m0 := &GetRangeResponse_Body{} b, x := &b0, m0 _, _ = b, x if b.Chunk != nil { x.xxx_hidden_RangePart = &getRangeResponse_Body_Chunk{b.Chunk} } if b.SplitInfo != nil { x.xxx_hidden_RangePart = &getRangeResponse_Body_SplitInfo{b.SplitInfo} } if b.EcInfo != nil { x.xxx_hidden_RangePart = &getRangeResponse_Body_EcInfo{b.EcInfo} } return m0 } type case_GetRangeResponse_Body_RangePart protoreflect.FieldNumber func (x case_GetRangeResponse_Body_RangePart) String() string { md := file_api_object_grpc_service_proto_msgTypes[34].Descriptor() if x == 0 { return "not set" } return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) } type isGetRangeResponse_Body_RangePart interface { isGetRangeResponse_Body_RangePart() } type getRangeResponse_Body_Chunk struct { // Chunked object payload's range. Chunk []byte `protobuf:"bytes,1,opt,name=chunk,oneof"` } type getRangeResponse_Body_SplitInfo struct { // Meta information of split hierarchy. SplitInfo *SplitInfo `protobuf:"bytes,2,opt,name=split_info,json=splitInfo,oneof"` } type getRangeResponse_Body_EcInfo struct { // Meta information for EC object assembly. EcInfo *ECInfo `protobuf:"bytes,3,opt,name=ec_info,json=ecInfo,oneof"` } func (*getRangeResponse_Body_Chunk) isGetRangeResponse_Body_RangePart() {} func (*getRangeResponse_Body_SplitInfo) isGetRangeResponse_Body_RangePart() {} func (*getRangeResponse_Body_EcInfo) isGetRangeResponse_Body_RangePart() {} // Get hash of object's payload part request body. type GetRangeHashRequest_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Address *grpc1.Address `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` xxx_hidden_Ranges *[]*Range `protobuf:"bytes,2,rep,name=ranges" json:"ranges,omitempty"` xxx_hidden_Salt []byte `protobuf:"bytes,3,opt,name=salt" json:"salt,omitempty"` xxx_hidden_Type grpc1.ChecksumType `protobuf:"varint,4,opt,name=type,enum=neo.fs.v2.refs.ChecksumType" json:"type,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetRangeHashRequest_Body) Reset() { *x = GetRangeHashRequest_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetRangeHashRequest_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRangeHashRequest_Body) ProtoMessage() {} func (x *GetRangeHashRequest_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetRangeHashRequest_Body) GetAddress() *grpc1.Address { if x != nil { return x.xxx_hidden_Address } return nil } func (x *GetRangeHashRequest_Body) GetRanges() []*Range { if x != nil { if x.xxx_hidden_Ranges != nil { return *x.xxx_hidden_Ranges } } return nil } func (x *GetRangeHashRequest_Body) GetSalt() []byte { if x != nil { return x.xxx_hidden_Salt } return nil } func (x *GetRangeHashRequest_Body) GetType() grpc1.ChecksumType { if x != nil { if protoimpl.X.Present(&(x.XXX_presence[0]), 3) { return x.xxx_hidden_Type } } return grpc1.ChecksumType(0) } func (x *GetRangeHashRequest_Body) SetAddress(v *grpc1.Address) { x.xxx_hidden_Address = v } func (x *GetRangeHashRequest_Body) SetRanges(v []*Range) { x.xxx_hidden_Ranges = &v } func (x *GetRangeHashRequest_Body) SetSalt(v []byte) { if v == nil { v = []byte{} } x.xxx_hidden_Salt = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 4) } func (x *GetRangeHashRequest_Body) SetType(v grpc1.ChecksumType) { x.xxx_hidden_Type = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 4) } func (x *GetRangeHashRequest_Body) HasAddress() bool { if x == nil { return false } return x.xxx_hidden_Address != nil } func (x *GetRangeHashRequest_Body) HasSalt() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 2) } func (x *GetRangeHashRequest_Body) HasType() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 3) } func (x *GetRangeHashRequest_Body) ClearAddress() { x.xxx_hidden_Address = nil } func (x *GetRangeHashRequest_Body) ClearSalt() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) x.xxx_hidden_Salt = nil } func (x *GetRangeHashRequest_Body) ClearType() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3) x.xxx_hidden_Type = grpc1.ChecksumType_CHECKSUM_TYPE_UNSPECIFIED } type GetRangeHashRequest_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Address of the object that containing the requested payload range Address *grpc1.Address // List of object's payload ranges to calculate homomorphic hash Ranges []*Range // Binary salt to XOR object's payload ranges before hash calculation Salt []byte // Checksum algorithm type Type *grpc1.ChecksumType } func (b0 GetRangeHashRequest_Body_builder) Build() *GetRangeHashRequest_Body { m0 := &GetRangeHashRequest_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Address = b.Address x.xxx_hidden_Ranges = &b.Ranges if b.Salt != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 4) x.xxx_hidden_Salt = b.Salt } if b.Type != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 4) x.xxx_hidden_Type = *b.Type } return m0 } // Get hash of object's payload part response body. type GetRangeHashResponse_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Type grpc1.ChecksumType `protobuf:"varint,1,opt,name=type,enum=neo.fs.v2.refs.ChecksumType" json:"type,omitempty"` xxx_hidden_HashList [][]byte `protobuf:"bytes,2,rep,name=hash_list,json=hashList" json:"hash_list,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetRangeHashResponse_Body) Reset() { *x = GetRangeHashResponse_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetRangeHashResponse_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetRangeHashResponse_Body) ProtoMessage() {} func (x *GetRangeHashResponse_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *GetRangeHashResponse_Body) GetType() grpc1.ChecksumType { if x != nil { if protoimpl.X.Present(&(x.XXX_presence[0]), 0) { return x.xxx_hidden_Type } } return grpc1.ChecksumType(0) } func (x *GetRangeHashResponse_Body) GetHashList() [][]byte { if x != nil { return x.xxx_hidden_HashList } return nil } func (x *GetRangeHashResponse_Body) SetType(v grpc1.ChecksumType) { x.xxx_hidden_Type = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2) } func (x *GetRangeHashResponse_Body) SetHashList(v [][]byte) { x.xxx_hidden_HashList = v } func (x *GetRangeHashResponse_Body) HasType() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 0) } func (x *GetRangeHashResponse_Body) ClearType() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0) x.xxx_hidden_Type = grpc1.ChecksumType_CHECKSUM_TYPE_UNSPECIFIED } type GetRangeHashResponse_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Checksum algorithm type Type *grpc1.ChecksumType // List of range hashes in a binary format HashList [][]byte } func (b0 GetRangeHashResponse_Body_builder) Build() *GetRangeHashResponse_Body { m0 := &GetRangeHashResponse_Body{} b, x := &b0, m0 _, _ = b, x if b.Type != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2) x.xxx_hidden_Type = *b.Type } x.xxx_hidden_HashList = b.HashList return m0 } // PUT Single request body type PutSingleRequest_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Object *Object `protobuf:"bytes,1,opt,name=object" json:"object,omitempty"` xxx_hidden_CopiesNumber []uint32 `protobuf:"varint,2,rep,packed,name=copies_number,json=copiesNumber" json:"copies_number,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PutSingleRequest_Body) Reset() { *x = PutSingleRequest_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PutSingleRequest_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*PutSingleRequest_Body) ProtoMessage() {} func (x *PutSingleRequest_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PutSingleRequest_Body) GetObject() *Object { if x != nil { return x.xxx_hidden_Object } return nil } func (x *PutSingleRequest_Body) GetCopiesNumber() []uint32 { if x != nil { return x.xxx_hidden_CopiesNumber } return nil } func (x *PutSingleRequest_Body) SetObject(v *Object) { x.xxx_hidden_Object = v } func (x *PutSingleRequest_Body) SetCopiesNumber(v []uint32) { x.xxx_hidden_CopiesNumber = v } func (x *PutSingleRequest_Body) HasObject() bool { if x == nil { return false } return x.xxx_hidden_Object != nil } func (x *PutSingleRequest_Body) ClearObject() { x.xxx_hidden_Object = nil } type PutSingleRequest_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // Prepared object with payload. Object *Object // Number of copies of the object to store within the RPC call. By default, // object is processed according to the container's placement policy. // Every number is treated as a minimal number of // nodes in a corresponding placement vector that must store an object // to complete the request successfully. The length MUST equal the placement // vectors number, otherwise request is considered malformed. CopiesNumber []uint32 } func (b0 PutSingleRequest_Body_builder) Build() *PutSingleRequest_Body { m0 := &PutSingleRequest_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Object = b.Object x.xxx_hidden_CopiesNumber = b.CopiesNumber return m0 } // PUT Single Object response body type PutSingleResponse_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PutSingleResponse_Body) Reset() { *x = PutSingleResponse_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PutSingleResponse_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*PutSingleResponse_Body) ProtoMessage() {} func (x *PutSingleResponse_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } type PutSingleResponse_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. } func (b0 PutSingleResponse_Body_builder) Build() *PutSingleResponse_Body { m0 := &PutSingleResponse_Body{} b, x := &b0, m0 _, _ = b, x return m0 } // PATCH request body type PatchRequest_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_Address *grpc1.Address `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` xxx_hidden_NewAttributes *[]*Header_Attribute `protobuf:"bytes,2,rep,name=new_attributes,json=newAttributes" json:"new_attributes,omitempty"` xxx_hidden_ReplaceAttributes bool `protobuf:"varint,3,opt,name=replace_attributes,json=replaceAttributes" json:"replace_attributes,omitempty"` xxx_hidden_Patch *PatchRequest_Body_Patch `protobuf:"bytes,4,opt,name=patch" json:"patch,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PatchRequest_Body) Reset() { *x = PatchRequest_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PatchRequest_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*PatchRequest_Body) ProtoMessage() {} func (x *PatchRequest_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PatchRequest_Body) GetAddress() *grpc1.Address { if x != nil { return x.xxx_hidden_Address } return nil } func (x *PatchRequest_Body) GetNewAttributes() []*Header_Attribute { if x != nil { if x.xxx_hidden_NewAttributes != nil { return *x.xxx_hidden_NewAttributes } } return nil } func (x *PatchRequest_Body) GetReplaceAttributes() bool { if x != nil { return x.xxx_hidden_ReplaceAttributes } return false } func (x *PatchRequest_Body) GetPatch() *PatchRequest_Body_Patch { if x != nil { return x.xxx_hidden_Patch } return nil } func (x *PatchRequest_Body) SetAddress(v *grpc1.Address) { x.xxx_hidden_Address = v } func (x *PatchRequest_Body) SetNewAttributes(v []*Header_Attribute) { x.xxx_hidden_NewAttributes = &v } func (x *PatchRequest_Body) SetReplaceAttributes(v bool) { x.xxx_hidden_ReplaceAttributes = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 4) } func (x *PatchRequest_Body) SetPatch(v *PatchRequest_Body_Patch) { x.xxx_hidden_Patch = v } func (x *PatchRequest_Body) HasAddress() bool { if x == nil { return false } return x.xxx_hidden_Address != nil } func (x *PatchRequest_Body) HasReplaceAttributes() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 2) } func (x *PatchRequest_Body) HasPatch() bool { if x == nil { return false } return x.xxx_hidden_Patch != nil } func (x *PatchRequest_Body) ClearAddress() { x.xxx_hidden_Address = nil } func (x *PatchRequest_Body) ClearReplaceAttributes() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2) x.xxx_hidden_ReplaceAttributes = false } func (x *PatchRequest_Body) ClearPatch() { x.xxx_hidden_Patch = nil } type PatchRequest_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // The address of the object that is requested to get patched. Address *grpc1.Address // New attributes for the object. See `replace_attributes` flag usage to // define how new attributes should be set. NewAttributes []*Header_Attribute // If this flag is set, then the object's attributes will be entirely // replaced by `new_attributes` list. The empty `new_attributes` list with // `replace_attributes = true` just resets attributes list for the object. // // Default `false` value for this flag means the attributes will be just // merged. If the incoming `new_attributes` list contains already existing // key, then it just replaces it while merging the lists. ReplaceAttributes *bool // The patch that is applied for the object. Patch *PatchRequest_Body_Patch } func (b0 PatchRequest_Body_builder) Build() *PatchRequest_Body { m0 := &PatchRequest_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Address = b.Address x.xxx_hidden_NewAttributes = &b.NewAttributes if b.ReplaceAttributes != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 4) x.xxx_hidden_ReplaceAttributes = *b.ReplaceAttributes } x.xxx_hidden_Patch = b.Patch return m0 } // The patch for the object's payload. type PatchRequest_Body_Patch struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_SourceRange *Range `protobuf:"bytes,1,opt,name=source_range,json=sourceRange" json:"source_range,omitempty"` xxx_hidden_Chunk []byte `protobuf:"bytes,2,opt,name=chunk" json:"chunk,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PatchRequest_Body_Patch) Reset() { *x = PatchRequest_Body_Patch{} mi := &file_api_object_grpc_service_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PatchRequest_Body_Patch) String() string { return protoimpl.X.MessageStringOf(x) } func (*PatchRequest_Body_Patch) ProtoMessage() {} func (x *PatchRequest_Body_Patch) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PatchRequest_Body_Patch) GetSourceRange() *Range { if x != nil { return x.xxx_hidden_SourceRange } return nil } func (x *PatchRequest_Body_Patch) GetChunk() []byte { if x != nil { return x.xxx_hidden_Chunk } return nil } func (x *PatchRequest_Body_Patch) SetSourceRange(v *Range) { x.xxx_hidden_SourceRange = v } func (x *PatchRequest_Body_Patch) SetChunk(v []byte) { if v == nil { v = []byte{} } x.xxx_hidden_Chunk = v protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2) } func (x *PatchRequest_Body_Patch) HasSourceRange() bool { if x == nil { return false } return x.xxx_hidden_SourceRange != nil } func (x *PatchRequest_Body_Patch) HasChunk() bool { if x == nil { return false } return protoimpl.X.Present(&(x.XXX_presence[0]), 1) } func (x *PatchRequest_Body_Patch) ClearSourceRange() { x.xxx_hidden_SourceRange = nil } func (x *PatchRequest_Body_Patch) ClearChunk() { protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1) x.xxx_hidden_Chunk = nil } type PatchRequest_Body_Patch_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // The range of the source object for which the payload is replaced by the // patch's chunk. If the range's `length = 0`, then the patch's chunk is // just appended to the original payload starting from the `offest` // without any replace. SourceRange *Range // The chunk that is being appended to or that replaces the original // payload on the given range. Chunk []byte } func (b0 PatchRequest_Body_Patch_builder) Build() *PatchRequest_Body_Patch { m0 := &PatchRequest_Body_Patch{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_SourceRange = b.SourceRange if b.Chunk != nil { protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2) x.xxx_hidden_Chunk = b.Chunk } return m0 } // PATCH response body type PatchResponse_Body struct { state protoimpl.MessageState `protogen:"opaque.v1"` xxx_hidden_ObjectId *grpc1.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId" json:"object_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PatchResponse_Body) Reset() { *x = PatchResponse_Body{} mi := &file_api_object_grpc_service_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PatchResponse_Body) String() string { return protoimpl.X.MessageStringOf(x) } func (*PatchResponse_Body) ProtoMessage() {} func (x *PatchResponse_Body) ProtoReflect() protoreflect.Message { mi := &file_api_object_grpc_service_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } func (x *PatchResponse_Body) GetObjectId() *grpc1.ObjectID { if x != nil { return x.xxx_hidden_ObjectId } return nil } func (x *PatchResponse_Body) SetObjectId(v *grpc1.ObjectID) { x.xxx_hidden_ObjectId = v } func (x *PatchResponse_Body) HasObjectId() bool { if x == nil { return false } return x.xxx_hidden_ObjectId != nil } func (x *PatchResponse_Body) ClearObjectId() { x.xxx_hidden_ObjectId = nil } type PatchResponse_Body_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. // The object ID of the saved patched object. ObjectId *grpc1.ObjectID } func (b0 PatchResponse_Body_builder) Build() *PatchResponse_Body { m0 := &PatchResponse_Body{} b, x := &b0, m0 _, _ = b, x x.xxx_hidden_ObjectId = b.ObjectId return m0 } var File_api_object_grpc_service_proto protoreflect.FileDescriptor var file_api_object_grpc_service_proto_rawDesc = []byte{ 0x0a, 0x1d, 0x61, 0x70, 0x69, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x1b, 0x61, 0x70, 0x69, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x66, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x02, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x4b, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x72, 0x61, 0x77, 0x22, 0xee, 0x04, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x8a, 0x03, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x3d, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x07, 0x65, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x65, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0xa8, 0x01, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x22, 0x9b, 0x04, 0x0a, 0x0a, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0xbb, 0x02, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x3c, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 0xcd, 0x01, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x22, 0xa0, 0x02, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x3d, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x9e, 0x02, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x3d, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x35, 0x0a, 0x09, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x22, 0xc9, 0x02, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x68, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x72, 0x61, 0x77, 0x22, 0x80, 0x01, 0x0a, 0x13, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xec, 0x03, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x86, 0x02, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x3f, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x07, 0x65, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x65, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x06, 0x0a, 0x04, 0x68, 0x65, 0x61, 0x64, 0x22, 0xfb, 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x95, 0x02, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x6c, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x06, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xe3, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x7a, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x72, 0x61, 0x77, 0x22, 0x8d, 0x03, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x9f, 0x01, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x07, 0x65, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x65, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x22, 0xa2, 0x03, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0xb0, 0x01, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xca, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x55, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x68, 0x61, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xc8, 0x02, 0x0a, 0x10, 0x50, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x5d, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x30, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xf5, 0x01, 0x0a, 0x11, 0x50, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x06, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x22, 0xb3, 0x04, 0x0a, 0x0c, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0xcf, 0x02, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x49, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x59, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3a, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x22, 0xa4, 0x02, 0x0a, 0x0d, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x3d, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x32, 0xd4, 0x05, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x1c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x44, 0x0a, 0x03, 0x50, 0x75, 0x74, 0x12, 0x1c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x4b, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x1d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x21, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x5d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x09, 0x50, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x22, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1e, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x42, 0x62, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x2e, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x54, 0x72, 0x75, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x61, 0x62, 0x2f, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xaa, 0x02, 0x1a, 0x4e, 0x65, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07, } var file_api_object_grpc_service_proto_msgTypes = make([]protoimpl.MessageInfo, 42) var file_api_object_grpc_service_proto_goTypes = []any{ (*GetRequest)(nil), // 0: neo.fs.v2.object.GetRequest (*GetResponse)(nil), // 1: neo.fs.v2.object.GetResponse (*PutRequest)(nil), // 2: neo.fs.v2.object.PutRequest (*PutResponse)(nil), // 3: neo.fs.v2.object.PutResponse (*DeleteRequest)(nil), // 4: neo.fs.v2.object.DeleteRequest (*DeleteResponse)(nil), // 5: neo.fs.v2.object.DeleteResponse (*HeadRequest)(nil), // 6: neo.fs.v2.object.HeadRequest (*HeaderWithSignature)(nil), // 7: neo.fs.v2.object.HeaderWithSignature (*HeadResponse)(nil), // 8: neo.fs.v2.object.HeadResponse (*SearchRequest)(nil), // 9: neo.fs.v2.object.SearchRequest (*SearchResponse)(nil), // 10: neo.fs.v2.object.SearchResponse (*Range)(nil), // 11: neo.fs.v2.object.Range (*GetRangeRequest)(nil), // 12: neo.fs.v2.object.GetRangeRequest (*GetRangeResponse)(nil), // 13: neo.fs.v2.object.GetRangeResponse (*GetRangeHashRequest)(nil), // 14: neo.fs.v2.object.GetRangeHashRequest (*GetRangeHashResponse)(nil), // 15: neo.fs.v2.object.GetRangeHashResponse (*PutSingleRequest)(nil), // 16: neo.fs.v2.object.PutSingleRequest (*PutSingleResponse)(nil), // 17: neo.fs.v2.object.PutSingleResponse (*PatchRequest)(nil), // 18: neo.fs.v2.object.PatchRequest (*PatchResponse)(nil), // 19: neo.fs.v2.object.PatchResponse (*GetRequest_Body)(nil), // 20: neo.fs.v2.object.GetRequest.Body (*GetResponse_Body)(nil), // 21: neo.fs.v2.object.GetResponse.Body (*GetResponse_Body_Init)(nil), // 22: neo.fs.v2.object.GetResponse.Body.Init (*PutRequest_Body)(nil), // 23: neo.fs.v2.object.PutRequest.Body (*PutRequest_Body_Init)(nil), // 24: neo.fs.v2.object.PutRequest.Body.Init (*PutResponse_Body)(nil), // 25: neo.fs.v2.object.PutResponse.Body (*DeleteRequest_Body)(nil), // 26: neo.fs.v2.object.DeleteRequest.Body (*DeleteResponse_Body)(nil), // 27: neo.fs.v2.object.DeleteResponse.Body (*HeadRequest_Body)(nil), // 28: neo.fs.v2.object.HeadRequest.Body (*HeadResponse_Body)(nil), // 29: neo.fs.v2.object.HeadResponse.Body (*SearchRequest_Body)(nil), // 30: neo.fs.v2.object.SearchRequest.Body (*SearchRequest_Body_Filter)(nil), // 31: neo.fs.v2.object.SearchRequest.Body.Filter (*SearchResponse_Body)(nil), // 32: neo.fs.v2.object.SearchResponse.Body (*GetRangeRequest_Body)(nil), // 33: neo.fs.v2.object.GetRangeRequest.Body (*GetRangeResponse_Body)(nil), // 34: neo.fs.v2.object.GetRangeResponse.Body (*GetRangeHashRequest_Body)(nil), // 35: neo.fs.v2.object.GetRangeHashRequest.Body (*GetRangeHashResponse_Body)(nil), // 36: neo.fs.v2.object.GetRangeHashResponse.Body (*PutSingleRequest_Body)(nil), // 37: neo.fs.v2.object.PutSingleRequest.Body (*PutSingleResponse_Body)(nil), // 38: neo.fs.v2.object.PutSingleResponse.Body (*PatchRequest_Body)(nil), // 39: neo.fs.v2.object.PatchRequest.Body (*PatchRequest_Body_Patch)(nil), // 40: neo.fs.v2.object.PatchRequest.Body.Patch (*PatchResponse_Body)(nil), // 41: neo.fs.v2.object.PatchResponse.Body (*grpc.RequestMetaHeader)(nil), // 42: neo.fs.v2.session.RequestMetaHeader (*grpc.RequestVerificationHeader)(nil), // 43: neo.fs.v2.session.RequestVerificationHeader (*grpc.ResponseMetaHeader)(nil), // 44: neo.fs.v2.session.ResponseMetaHeader (*grpc.ResponseVerificationHeader)(nil), // 45: neo.fs.v2.session.ResponseVerificationHeader (*Header)(nil), // 46: neo.fs.v2.object.Header (*grpc1.Signature)(nil), // 47: neo.fs.v2.refs.Signature (*grpc1.Address)(nil), // 48: neo.fs.v2.refs.Address (*SplitInfo)(nil), // 49: neo.fs.v2.object.SplitInfo (*ECInfo)(nil), // 50: neo.fs.v2.object.ECInfo (*grpc1.ObjectID)(nil), // 51: neo.fs.v2.refs.ObjectID (*ShortHeader)(nil), // 52: neo.fs.v2.object.ShortHeader (*grpc1.ContainerID)(nil), // 53: neo.fs.v2.refs.ContainerID (MatchType)(0), // 54: neo.fs.v2.object.MatchType (grpc1.ChecksumType)(0), // 55: neo.fs.v2.refs.ChecksumType (*Object)(nil), // 56: neo.fs.v2.object.Object (*Header_Attribute)(nil), // 57: neo.fs.v2.object.Header.Attribute } var file_api_object_grpc_service_proto_depIdxs = []int32{ 20, // 0: neo.fs.v2.object.GetRequest.body:type_name -> neo.fs.v2.object.GetRequest.Body 42, // 1: neo.fs.v2.object.GetRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 43, // 2: neo.fs.v2.object.GetRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 21, // 3: neo.fs.v2.object.GetResponse.body:type_name -> neo.fs.v2.object.GetResponse.Body 44, // 4: neo.fs.v2.object.GetResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 45, // 5: neo.fs.v2.object.GetResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 23, // 6: neo.fs.v2.object.PutRequest.body:type_name -> neo.fs.v2.object.PutRequest.Body 42, // 7: neo.fs.v2.object.PutRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 43, // 8: neo.fs.v2.object.PutRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 25, // 9: neo.fs.v2.object.PutResponse.body:type_name -> neo.fs.v2.object.PutResponse.Body 44, // 10: neo.fs.v2.object.PutResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 45, // 11: neo.fs.v2.object.PutResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 26, // 12: neo.fs.v2.object.DeleteRequest.body:type_name -> neo.fs.v2.object.DeleteRequest.Body 42, // 13: neo.fs.v2.object.DeleteRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 43, // 14: neo.fs.v2.object.DeleteRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 27, // 15: neo.fs.v2.object.DeleteResponse.body:type_name -> neo.fs.v2.object.DeleteResponse.Body 44, // 16: neo.fs.v2.object.DeleteResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 45, // 17: neo.fs.v2.object.DeleteResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 28, // 18: neo.fs.v2.object.HeadRequest.body:type_name -> neo.fs.v2.object.HeadRequest.Body 42, // 19: neo.fs.v2.object.HeadRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 43, // 20: neo.fs.v2.object.HeadRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 46, // 21: neo.fs.v2.object.HeaderWithSignature.header:type_name -> neo.fs.v2.object.Header 47, // 22: neo.fs.v2.object.HeaderWithSignature.signature:type_name -> neo.fs.v2.refs.Signature 29, // 23: neo.fs.v2.object.HeadResponse.body:type_name -> neo.fs.v2.object.HeadResponse.Body 44, // 24: neo.fs.v2.object.HeadResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 45, // 25: neo.fs.v2.object.HeadResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 30, // 26: neo.fs.v2.object.SearchRequest.body:type_name -> neo.fs.v2.object.SearchRequest.Body 42, // 27: neo.fs.v2.object.SearchRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 43, // 28: neo.fs.v2.object.SearchRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 32, // 29: neo.fs.v2.object.SearchResponse.body:type_name -> neo.fs.v2.object.SearchResponse.Body 44, // 30: neo.fs.v2.object.SearchResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 45, // 31: neo.fs.v2.object.SearchResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 33, // 32: neo.fs.v2.object.GetRangeRequest.body:type_name -> neo.fs.v2.object.GetRangeRequest.Body 42, // 33: neo.fs.v2.object.GetRangeRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 43, // 34: neo.fs.v2.object.GetRangeRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 34, // 35: neo.fs.v2.object.GetRangeResponse.body:type_name -> neo.fs.v2.object.GetRangeResponse.Body 44, // 36: neo.fs.v2.object.GetRangeResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 45, // 37: neo.fs.v2.object.GetRangeResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 35, // 38: neo.fs.v2.object.GetRangeHashRequest.body:type_name -> neo.fs.v2.object.GetRangeHashRequest.Body 42, // 39: neo.fs.v2.object.GetRangeHashRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 43, // 40: neo.fs.v2.object.GetRangeHashRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 36, // 41: neo.fs.v2.object.GetRangeHashResponse.body:type_name -> neo.fs.v2.object.GetRangeHashResponse.Body 44, // 42: neo.fs.v2.object.GetRangeHashResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 45, // 43: neo.fs.v2.object.GetRangeHashResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 37, // 44: neo.fs.v2.object.PutSingleRequest.body:type_name -> neo.fs.v2.object.PutSingleRequest.Body 42, // 45: neo.fs.v2.object.PutSingleRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 43, // 46: neo.fs.v2.object.PutSingleRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 38, // 47: neo.fs.v2.object.PutSingleResponse.body:type_name -> neo.fs.v2.object.PutSingleResponse.Body 44, // 48: neo.fs.v2.object.PutSingleResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 45, // 49: neo.fs.v2.object.PutSingleResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 39, // 50: neo.fs.v2.object.PatchRequest.body:type_name -> neo.fs.v2.object.PatchRequest.Body 42, // 51: neo.fs.v2.object.PatchRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 43, // 52: neo.fs.v2.object.PatchRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 41, // 53: neo.fs.v2.object.PatchResponse.body:type_name -> neo.fs.v2.object.PatchResponse.Body 44, // 54: neo.fs.v2.object.PatchResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 45, // 55: neo.fs.v2.object.PatchResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 48, // 56: neo.fs.v2.object.GetRequest.Body.address:type_name -> neo.fs.v2.refs.Address 22, // 57: neo.fs.v2.object.GetResponse.Body.init:type_name -> neo.fs.v2.object.GetResponse.Body.Init 49, // 58: neo.fs.v2.object.GetResponse.Body.split_info:type_name -> neo.fs.v2.object.SplitInfo 50, // 59: neo.fs.v2.object.GetResponse.Body.ec_info:type_name -> neo.fs.v2.object.ECInfo 51, // 60: neo.fs.v2.object.GetResponse.Body.Init.object_id:type_name -> neo.fs.v2.refs.ObjectID 47, // 61: neo.fs.v2.object.GetResponse.Body.Init.signature:type_name -> neo.fs.v2.refs.Signature 46, // 62: neo.fs.v2.object.GetResponse.Body.Init.header:type_name -> neo.fs.v2.object.Header 24, // 63: neo.fs.v2.object.PutRequest.Body.init:type_name -> neo.fs.v2.object.PutRequest.Body.Init 51, // 64: neo.fs.v2.object.PutRequest.Body.Init.object_id:type_name -> neo.fs.v2.refs.ObjectID 47, // 65: neo.fs.v2.object.PutRequest.Body.Init.signature:type_name -> neo.fs.v2.refs.Signature 46, // 66: neo.fs.v2.object.PutRequest.Body.Init.header:type_name -> neo.fs.v2.object.Header 51, // 67: neo.fs.v2.object.PutResponse.Body.object_id:type_name -> neo.fs.v2.refs.ObjectID 48, // 68: neo.fs.v2.object.DeleteRequest.Body.address:type_name -> neo.fs.v2.refs.Address 48, // 69: neo.fs.v2.object.DeleteResponse.Body.tombstone:type_name -> neo.fs.v2.refs.Address 48, // 70: neo.fs.v2.object.HeadRequest.Body.address:type_name -> neo.fs.v2.refs.Address 7, // 71: neo.fs.v2.object.HeadResponse.Body.header:type_name -> neo.fs.v2.object.HeaderWithSignature 52, // 72: neo.fs.v2.object.HeadResponse.Body.short_header:type_name -> neo.fs.v2.object.ShortHeader 49, // 73: neo.fs.v2.object.HeadResponse.Body.split_info:type_name -> neo.fs.v2.object.SplitInfo 50, // 74: neo.fs.v2.object.HeadResponse.Body.ec_info:type_name -> neo.fs.v2.object.ECInfo 53, // 75: neo.fs.v2.object.SearchRequest.Body.container_id:type_name -> neo.fs.v2.refs.ContainerID 31, // 76: neo.fs.v2.object.SearchRequest.Body.filters:type_name -> neo.fs.v2.object.SearchRequest.Body.Filter 54, // 77: neo.fs.v2.object.SearchRequest.Body.Filter.match_type:type_name -> neo.fs.v2.object.MatchType 51, // 78: neo.fs.v2.object.SearchResponse.Body.id_list:type_name -> neo.fs.v2.refs.ObjectID 48, // 79: neo.fs.v2.object.GetRangeRequest.Body.address:type_name -> neo.fs.v2.refs.Address 11, // 80: neo.fs.v2.object.GetRangeRequest.Body.range:type_name -> neo.fs.v2.object.Range 49, // 81: neo.fs.v2.object.GetRangeResponse.Body.split_info:type_name -> neo.fs.v2.object.SplitInfo 50, // 82: neo.fs.v2.object.GetRangeResponse.Body.ec_info:type_name -> neo.fs.v2.object.ECInfo 48, // 83: neo.fs.v2.object.GetRangeHashRequest.Body.address:type_name -> neo.fs.v2.refs.Address 11, // 84: neo.fs.v2.object.GetRangeHashRequest.Body.ranges:type_name -> neo.fs.v2.object.Range 55, // 85: neo.fs.v2.object.GetRangeHashRequest.Body.type:type_name -> neo.fs.v2.refs.ChecksumType 55, // 86: neo.fs.v2.object.GetRangeHashResponse.Body.type:type_name -> neo.fs.v2.refs.ChecksumType 56, // 87: neo.fs.v2.object.PutSingleRequest.Body.object:type_name -> neo.fs.v2.object.Object 48, // 88: neo.fs.v2.object.PatchRequest.Body.address:type_name -> neo.fs.v2.refs.Address 57, // 89: neo.fs.v2.object.PatchRequest.Body.new_attributes:type_name -> neo.fs.v2.object.Header.Attribute 40, // 90: neo.fs.v2.object.PatchRequest.Body.patch:type_name -> neo.fs.v2.object.PatchRequest.Body.Patch 11, // 91: neo.fs.v2.object.PatchRequest.Body.Patch.source_range:type_name -> neo.fs.v2.object.Range 51, // 92: neo.fs.v2.object.PatchResponse.Body.object_id:type_name -> neo.fs.v2.refs.ObjectID 0, // 93: neo.fs.v2.object.ObjectService.Get:input_type -> neo.fs.v2.object.GetRequest 2, // 94: neo.fs.v2.object.ObjectService.Put:input_type -> neo.fs.v2.object.PutRequest 4, // 95: neo.fs.v2.object.ObjectService.Delete:input_type -> neo.fs.v2.object.DeleteRequest 6, // 96: neo.fs.v2.object.ObjectService.Head:input_type -> neo.fs.v2.object.HeadRequest 9, // 97: neo.fs.v2.object.ObjectService.Search:input_type -> neo.fs.v2.object.SearchRequest 12, // 98: neo.fs.v2.object.ObjectService.GetRange:input_type -> neo.fs.v2.object.GetRangeRequest 14, // 99: neo.fs.v2.object.ObjectService.GetRangeHash:input_type -> neo.fs.v2.object.GetRangeHashRequest 16, // 100: neo.fs.v2.object.ObjectService.PutSingle:input_type -> neo.fs.v2.object.PutSingleRequest 18, // 101: neo.fs.v2.object.ObjectService.Patch:input_type -> neo.fs.v2.object.PatchRequest 1, // 102: neo.fs.v2.object.ObjectService.Get:output_type -> neo.fs.v2.object.GetResponse 3, // 103: neo.fs.v2.object.ObjectService.Put:output_type -> neo.fs.v2.object.PutResponse 5, // 104: neo.fs.v2.object.ObjectService.Delete:output_type -> neo.fs.v2.object.DeleteResponse 8, // 105: neo.fs.v2.object.ObjectService.Head:output_type -> neo.fs.v2.object.HeadResponse 10, // 106: neo.fs.v2.object.ObjectService.Search:output_type -> neo.fs.v2.object.SearchResponse 13, // 107: neo.fs.v2.object.ObjectService.GetRange:output_type -> neo.fs.v2.object.GetRangeResponse 15, // 108: neo.fs.v2.object.ObjectService.GetRangeHash:output_type -> neo.fs.v2.object.GetRangeHashResponse 17, // 109: neo.fs.v2.object.ObjectService.PutSingle:output_type -> neo.fs.v2.object.PutSingleResponse 19, // 110: neo.fs.v2.object.ObjectService.Patch:output_type -> neo.fs.v2.object.PatchResponse 102, // [102:111] is the sub-list for method output_type 93, // [93:102] is the sub-list for method input_type 93, // [93:93] is the sub-list for extension type_name 93, // [93:93] is the sub-list for extension extendee 0, // [0:93] is the sub-list for field type_name } func init() { file_api_object_grpc_service_proto_init() } func file_api_object_grpc_service_proto_init() { if File_api_object_grpc_service_proto != nil { return } file_api_object_grpc_types_proto_init() file_api_object_grpc_service_proto_msgTypes[21].OneofWrappers = []any{ (*getResponse_Body_Init_)(nil), (*getResponse_Body_Chunk)(nil), (*getResponse_Body_SplitInfo)(nil), (*getResponse_Body_EcInfo)(nil), } file_api_object_grpc_service_proto_msgTypes[23].OneofWrappers = []any{ (*putRequest_Body_Init_)(nil), (*putRequest_Body_Chunk)(nil), } file_api_object_grpc_service_proto_msgTypes[29].OneofWrappers = []any{ (*headResponse_Body_Header)(nil), (*headResponse_Body_ShortHeader)(nil), (*headResponse_Body_SplitInfo)(nil), (*headResponse_Body_EcInfo)(nil), } file_api_object_grpc_service_proto_msgTypes[34].OneofWrappers = []any{ (*getRangeResponse_Body_Chunk)(nil), (*getRangeResponse_Body_SplitInfo)(nil), (*getRangeResponse_Body_EcInfo)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_object_grpc_service_proto_rawDesc, NumEnums: 0, NumMessages: 42, NumExtensions: 0, NumServices: 1, }, GoTypes: file_api_object_grpc_service_proto_goTypes, DependencyIndexes: file_api_object_grpc_service_proto_depIdxs, MessageInfos: file_api_object_grpc_service_proto_msgTypes, }.Build() File_api_object_grpc_service_proto = out.File file_api_object_grpc_service_proto_rawDesc = nil file_api_object_grpc_service_proto_goTypes = nil file_api_object_grpc_service_proto_depIdxs = nil }