frostfs-sdk-go/api/object/grpc/service_protoopaque.pb.go
Evgenii Stratonikov 328d214d2d
All checks were successful
DCO / DCO (pull_request) Successful in 26s
Tests and linters / Tests (pull_request) Successful in 46s
Tests and linters / Lint (pull_request) Successful in 1m52s
[#317] api: Revert easyproto marshaler usage
It has caused a noticeable degradation in node.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-01-09 11:46:09 +03:00

6116 lines
207 KiB
Go
Generated

// 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
}