blob: 7008fd5a2705efb5b4aabe575a644ac54b646798 [file] [log] [blame]
//*
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//*
// These .proto interfaces are private and Unstable.
// Please see http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/InterfaceClassification.html
// for what changes are allowed for a *Unstable* .proto interface.
// This file contains protocol buffers that are used to transfer data
// to and from the datanode.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.24.0
// protoc v3.15.6
// source: DatanodeClientProtocol.proto
package datanode
import (
context "context"
proto "github.com/golang/protobuf/proto"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
type Type int32
const (
Type_CreateContainer Type = 1
Type_ReadContainer Type = 2
Type_UpdateContainer Type = 3
Type_DeleteContainer Type = 4
Type_ListContainer Type = 5
Type_PutBlock Type = 6
Type_GetBlock Type = 7
Type_DeleteBlock Type = 8
Type_ListBlock Type = 9
Type_ReadChunk Type = 10
Type_DeleteChunk Type = 11
Type_WriteChunk Type = 12
Type_ListChunk Type = 13
Type_CompactChunk Type = 14
//* Combines Block and Chunk Operation into Single RPC.
Type_PutSmallFile Type = 15
Type_GetSmallFile Type = 16
Type_CloseContainer Type = 17
Type_GetCommittedBlockLength Type = 18
)
// Enum value maps for Type.
var (
Type_name = map[int32]string{
1: "CreateContainer",
2: "ReadContainer",
3: "UpdateContainer",
4: "DeleteContainer",
5: "ListContainer",
6: "PutBlock",
7: "GetBlock",
8: "DeleteBlock",
9: "ListBlock",
10: "ReadChunk",
11: "DeleteChunk",
12: "WriteChunk",
13: "ListChunk",
14: "CompactChunk",
15: "PutSmallFile",
16: "GetSmallFile",
17: "CloseContainer",
18: "GetCommittedBlockLength",
}
Type_value = map[string]int32{
"CreateContainer": 1,
"ReadContainer": 2,
"UpdateContainer": 3,
"DeleteContainer": 4,
"ListContainer": 5,
"PutBlock": 6,
"GetBlock": 7,
"DeleteBlock": 8,
"ListBlock": 9,
"ReadChunk": 10,
"DeleteChunk": 11,
"WriteChunk": 12,
"ListChunk": 13,
"CompactChunk": 14,
"PutSmallFile": 15,
"GetSmallFile": 16,
"CloseContainer": 17,
"GetCommittedBlockLength": 18,
}
)
func (x Type) Enum() *Type {
p := new(Type)
*p = x
return p
}
func (x Type) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Type) Descriptor() protoreflect.EnumDescriptor {
return file_DatanodeClientProtocol_proto_enumTypes[0].Descriptor()
}
func (Type) Type() protoreflect.EnumType {
return &file_DatanodeClientProtocol_proto_enumTypes[0]
}
func (x Type) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *Type) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = Type(num)
return nil
}
// Deprecated: Use Type.Descriptor instead.
func (Type) EnumDescriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{0}
}
type Result int32
const (
Result_SUCCESS Result = 1
Result_UNSUPPORTED_REQUEST Result = 2
Result_MALFORMED_REQUEST Result = 3
Result_CONTAINER_INTERNAL_ERROR Result = 4
Result_INVALID_CONFIG Result = 5
Result_INVALID_FILE_HASH_FOUND Result = 6
Result_CONTAINER_EXISTS Result = 7
Result_NO_SUCH_ALGORITHM Result = 8
Result_CONTAINER_NOT_FOUND Result = 9
Result_IO_EXCEPTION Result = 10
Result_UNABLE_TO_READ_METADATA_DB Result = 11
Result_NO_SUCH_BLOCK Result = 12
Result_OVERWRITE_FLAG_REQUIRED Result = 13
Result_UNABLE_TO_FIND_DATA_DIR Result = 14
Result_INVALID_WRITE_SIZE Result = 15
Result_CHECKSUM_MISMATCH Result = 16
Result_UNABLE_TO_FIND_CHUNK Result = 17
Result_PROTOC_DECODING_ERROR Result = 18
Result_INVALID_ARGUMENT Result = 19
Result_PUT_SMALL_FILE_ERROR Result = 20
Result_GET_SMALL_FILE_ERROR Result = 21
Result_CLOSED_CONTAINER_IO Result = 22
Result_ERROR_IN_COMPACT_DB Result = 24
Result_UNCLOSED_CONTAINER_IO Result = 25
Result_DELETE_ON_OPEN_CONTAINER Result = 26
Result_CLOSED_CONTAINER_RETRY Result = 27
Result_INVALID_CONTAINER_STATE Result = 28
Result_DISK_OUT_OF_SPACE Result = 29
Result_CONTAINER_ALREADY_EXISTS Result = 30
Result_CONTAINER_METADATA_ERROR Result = 31
Result_CONTAINER_FILES_CREATE_ERROR Result = 32
Result_CONTAINER_CHECKSUM_ERROR Result = 33
Result_UNKNOWN_CONTAINER_TYPE Result = 34
Result_BLOCK_NOT_COMMITTED Result = 35
Result_CONTAINER_UNHEALTHY Result = 36
Result_UNKNOWN_BCSID Result = 37
Result_BCSID_MISMATCH Result = 38
Result_CONTAINER_NOT_OPEN Result = 39
Result_CONTAINER_MISSING Result = 40
Result_BLOCK_TOKEN_VERIFICATION_FAILED Result = 41
Result_ERROR_IN_DB_SYNC Result = 42
)
// Enum value maps for Result.
var (
Result_name = map[int32]string{
1: "SUCCESS",
2: "UNSUPPORTED_REQUEST",
3: "MALFORMED_REQUEST",
4: "CONTAINER_INTERNAL_ERROR",
5: "INVALID_CONFIG",
6: "INVALID_FILE_HASH_FOUND",
7: "CONTAINER_EXISTS",
8: "NO_SUCH_ALGORITHM",
9: "CONTAINER_NOT_FOUND",
10: "IO_EXCEPTION",
11: "UNABLE_TO_READ_METADATA_DB",
12: "NO_SUCH_BLOCK",
13: "OVERWRITE_FLAG_REQUIRED",
14: "UNABLE_TO_FIND_DATA_DIR",
15: "INVALID_WRITE_SIZE",
16: "CHECKSUM_MISMATCH",
17: "UNABLE_TO_FIND_CHUNK",
18: "PROTOC_DECODING_ERROR",
19: "INVALID_ARGUMENT",
20: "PUT_SMALL_FILE_ERROR",
21: "GET_SMALL_FILE_ERROR",
22: "CLOSED_CONTAINER_IO",
24: "ERROR_IN_COMPACT_DB",
25: "UNCLOSED_CONTAINER_IO",
26: "DELETE_ON_OPEN_CONTAINER",
27: "CLOSED_CONTAINER_RETRY",
28: "INVALID_CONTAINER_STATE",
29: "DISK_OUT_OF_SPACE",
30: "CONTAINER_ALREADY_EXISTS",
31: "CONTAINER_METADATA_ERROR",
32: "CONTAINER_FILES_CREATE_ERROR",
33: "CONTAINER_CHECKSUM_ERROR",
34: "UNKNOWN_CONTAINER_TYPE",
35: "BLOCK_NOT_COMMITTED",
36: "CONTAINER_UNHEALTHY",
37: "UNKNOWN_BCSID",
38: "BCSID_MISMATCH",
39: "CONTAINER_NOT_OPEN",
40: "CONTAINER_MISSING",
41: "BLOCK_TOKEN_VERIFICATION_FAILED",
42: "ERROR_IN_DB_SYNC",
}
Result_value = map[string]int32{
"SUCCESS": 1,
"UNSUPPORTED_REQUEST": 2,
"MALFORMED_REQUEST": 3,
"CONTAINER_INTERNAL_ERROR": 4,
"INVALID_CONFIG": 5,
"INVALID_FILE_HASH_FOUND": 6,
"CONTAINER_EXISTS": 7,
"NO_SUCH_ALGORITHM": 8,
"CONTAINER_NOT_FOUND": 9,
"IO_EXCEPTION": 10,
"UNABLE_TO_READ_METADATA_DB": 11,
"NO_SUCH_BLOCK": 12,
"OVERWRITE_FLAG_REQUIRED": 13,
"UNABLE_TO_FIND_DATA_DIR": 14,
"INVALID_WRITE_SIZE": 15,
"CHECKSUM_MISMATCH": 16,
"UNABLE_TO_FIND_CHUNK": 17,
"PROTOC_DECODING_ERROR": 18,
"INVALID_ARGUMENT": 19,
"PUT_SMALL_FILE_ERROR": 20,
"GET_SMALL_FILE_ERROR": 21,
"CLOSED_CONTAINER_IO": 22,
"ERROR_IN_COMPACT_DB": 24,
"UNCLOSED_CONTAINER_IO": 25,
"DELETE_ON_OPEN_CONTAINER": 26,
"CLOSED_CONTAINER_RETRY": 27,
"INVALID_CONTAINER_STATE": 28,
"DISK_OUT_OF_SPACE": 29,
"CONTAINER_ALREADY_EXISTS": 30,
"CONTAINER_METADATA_ERROR": 31,
"CONTAINER_FILES_CREATE_ERROR": 32,
"CONTAINER_CHECKSUM_ERROR": 33,
"UNKNOWN_CONTAINER_TYPE": 34,
"BLOCK_NOT_COMMITTED": 35,
"CONTAINER_UNHEALTHY": 36,
"UNKNOWN_BCSID": 37,
"BCSID_MISMATCH": 38,
"CONTAINER_NOT_OPEN": 39,
"CONTAINER_MISSING": 40,
"BLOCK_TOKEN_VERIFICATION_FAILED": 41,
"ERROR_IN_DB_SYNC": 42,
}
)
func (x Result) Enum() *Result {
p := new(Result)
*p = x
return p
}
func (x Result) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Result) Descriptor() protoreflect.EnumDescriptor {
return file_DatanodeClientProtocol_proto_enumTypes[1].Descriptor()
}
func (Result) Type() protoreflect.EnumType {
return &file_DatanodeClientProtocol_proto_enumTypes[1]
}
func (x Result) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *Result) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = Result(num)
return nil
}
// Deprecated: Use Result.Descriptor instead.
func (Result) EnumDescriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{1}
}
type ContainerType int32
const (
ContainerType_KeyValueContainer ContainerType = 1
)
// Enum value maps for ContainerType.
var (
ContainerType_name = map[int32]string{
1: "KeyValueContainer",
}
ContainerType_value = map[string]int32{
"KeyValueContainer": 1,
}
)
func (x ContainerType) Enum() *ContainerType {
p := new(ContainerType)
*p = x
return p
}
func (x ContainerType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ContainerType) Descriptor() protoreflect.EnumDescriptor {
return file_DatanodeClientProtocol_proto_enumTypes[2].Descriptor()
}
func (ContainerType) Type() protoreflect.EnumType {
return &file_DatanodeClientProtocol_proto_enumTypes[2]
}
func (x ContainerType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *ContainerType) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = ContainerType(num)
return nil
}
// Deprecated: Use ContainerType.Descriptor instead.
func (ContainerType) EnumDescriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{2}
}
type ChecksumType int32
const (
ChecksumType_NONE ChecksumType = 1
ChecksumType_CRC32 ChecksumType = 2
ChecksumType_CRC32C ChecksumType = 3
ChecksumType_SHA256 ChecksumType = 4
ChecksumType_MD5 ChecksumType = 5
)
// Enum value maps for ChecksumType.
var (
ChecksumType_name = map[int32]string{
1: "NONE",
2: "CRC32",
3: "CRC32C",
4: "SHA256",
5: "MD5",
}
ChecksumType_value = map[string]int32{
"NONE": 1,
"CRC32": 2,
"CRC32C": 3,
"SHA256": 4,
"MD5": 5,
}
)
func (x ChecksumType) Enum() *ChecksumType {
p := new(ChecksumType)
*p = x
return p
}
func (x ChecksumType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ChecksumType) Descriptor() protoreflect.EnumDescriptor {
return file_DatanodeClientProtocol_proto_enumTypes[3].Descriptor()
}
func (ChecksumType) Type() protoreflect.EnumType {
return &file_DatanodeClientProtocol_proto_enumTypes[3]
}
func (x ChecksumType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *ChecksumType) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = ChecksumType(num)
return nil
}
// Deprecated: Use ChecksumType.Descriptor instead.
func (ChecksumType) EnumDescriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{3}
}
type ContainerDataProto_State int32
const (
ContainerDataProto_OPEN ContainerDataProto_State = 1
ContainerDataProto_CLOSING ContainerDataProto_State = 2
ContainerDataProto_QUASI_CLOSED ContainerDataProto_State = 3
ContainerDataProto_CLOSED ContainerDataProto_State = 4
ContainerDataProto_UNHEALTHY ContainerDataProto_State = 5
ContainerDataProto_INVALID ContainerDataProto_State = 6
ContainerDataProto_DELETED ContainerDataProto_State = 7
)
// Enum value maps for ContainerDataProto_State.
var (
ContainerDataProto_State_name = map[int32]string{
1: "OPEN",
2: "CLOSING",
3: "QUASI_CLOSED",
4: "CLOSED",
5: "UNHEALTHY",
6: "INVALID",
7: "DELETED",
}
ContainerDataProto_State_value = map[string]int32{
"OPEN": 1,
"CLOSING": 2,
"QUASI_CLOSED": 3,
"CLOSED": 4,
"UNHEALTHY": 5,
"INVALID": 6,
"DELETED": 7,
}
)
func (x ContainerDataProto_State) Enum() *ContainerDataProto_State {
p := new(ContainerDataProto_State)
*p = x
return p
}
func (x ContainerDataProto_State) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ContainerDataProto_State) Descriptor() protoreflect.EnumDescriptor {
return file_DatanodeClientProtocol_proto_enumTypes[4].Descriptor()
}
func (ContainerDataProto_State) Type() protoreflect.EnumType {
return &file_DatanodeClientProtocol_proto_enumTypes[4]
}
func (x ContainerDataProto_State) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Do not use.
func (x *ContainerDataProto_State) UnmarshalJSON(b []byte) error {
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
if err != nil {
return err
}
*x = ContainerDataProto_State(num)
return nil
}
// Deprecated: Use ContainerDataProto_State.Descriptor instead.
func (ContainerDataProto_State) EnumDescriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{4, 0}
}
//*
// Block ID that uniquely identify a block in Datanode.
type DatanodeBlockID struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ContainerID *int64 `protobuf:"varint,1,req,name=containerID" json:"containerID,omitempty"`
LocalID *int64 `protobuf:"varint,2,req,name=localID" json:"localID,omitempty"`
BlockCommitSequenceId *uint64 `protobuf:"varint,3,opt,name=blockCommitSequenceId,def=0" json:"blockCommitSequenceId,omitempty"`
}
// Default values for DatanodeBlockID fields.
const (
Default_DatanodeBlockID_BlockCommitSequenceId = uint64(0)
)
func (x *DatanodeBlockID) Reset() {
*x = DatanodeBlockID{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DatanodeBlockID) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DatanodeBlockID) ProtoMessage() {}
func (x *DatanodeBlockID) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DatanodeBlockID.ProtoReflect.Descriptor instead.
func (*DatanodeBlockID) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{0}
}
func (x *DatanodeBlockID) GetContainerID() int64 {
if x != nil && x.ContainerID != nil {
return *x.ContainerID
}
return 0
}
func (x *DatanodeBlockID) GetLocalID() int64 {
if x != nil && x.LocalID != nil {
return *x.LocalID
}
return 0
}
func (x *DatanodeBlockID) GetBlockCommitSequenceId() uint64 {
if x != nil && x.BlockCommitSequenceId != nil {
return *x.BlockCommitSequenceId
}
return Default_DatanodeBlockID_BlockCommitSequenceId
}
type KeyValue struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}
func (x *KeyValue) Reset() {
*x = KeyValue{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *KeyValue) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*KeyValue) ProtoMessage() {}
func (x *KeyValue) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use KeyValue.ProtoReflect.Descriptor instead.
func (*KeyValue) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{1}
}
func (x *KeyValue) GetKey() string {
if x != nil && x.Key != nil {
return *x.Key
}
return ""
}
func (x *KeyValue) GetValue() string {
if x != nil && x.Value != nil {
return *x.Value
}
return ""
}
type ContainerCommandRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CmdType *Type `protobuf:"varint,1,req,name=cmdType,enum=hadoop.hdds.datanode.Type" json:"cmdType,omitempty"` // Type of the command
// A string that identifies this command, we generate Trace ID in Ozone
// frontend and this allows us to trace that command all over ozone.
TraceID *string `protobuf:"bytes,2,opt,name=traceID" json:"traceID,omitempty"`
ContainerID *int64 `protobuf:"varint,3,req,name=containerID" json:"containerID,omitempty"`
DatanodeUuid *string `protobuf:"bytes,4,req,name=datanodeUuid" json:"datanodeUuid,omitempty"`
PipelineID *string `protobuf:"bytes,5,opt,name=pipelineID" json:"pipelineID,omitempty"`
// One of the following command is available when the corresponding
// cmdType is set. At the protocol level we allow only
// one command in each packet.
// TODO : Upgrade to Protobuf 2.6 or later.
CreateContainer *CreateContainerRequestProto `protobuf:"bytes,6,opt,name=createContainer" json:"createContainer,omitempty"`
ReadContainer *ReadContainerRequestProto `protobuf:"bytes,7,opt,name=readContainer" json:"readContainer,omitempty"`
UpdateContainer *UpdateContainerRequestProto `protobuf:"bytes,8,opt,name=updateContainer" json:"updateContainer,omitempty"`
DeleteContainer *DeleteContainerRequestProto `protobuf:"bytes,9,opt,name=deleteContainer" json:"deleteContainer,omitempty"`
ListContainer *ListContainerRequestProto `protobuf:"bytes,10,opt,name=listContainer" json:"listContainer,omitempty"`
CloseContainer *CloseContainerRequestProto `protobuf:"bytes,11,opt,name=closeContainer" json:"closeContainer,omitempty"`
PutBlock *PutBlockRequestProto `protobuf:"bytes,12,opt,name=putBlock" json:"putBlock,omitempty"`
GetBlock *GetBlockRequestProto `protobuf:"bytes,13,opt,name=getBlock" json:"getBlock,omitempty"`
DeleteBlock *DeleteBlockRequestProto `protobuf:"bytes,14,opt,name=deleteBlock" json:"deleteBlock,omitempty"`
ListBlock *ListBlockRequestProto `protobuf:"bytes,15,opt,name=listBlock" json:"listBlock,omitempty"`
ReadChunk *ReadChunkRequestProto `protobuf:"bytes,16,opt,name=readChunk" json:"readChunk,omitempty"`
WriteChunk *WriteChunkRequestProto `protobuf:"bytes,17,opt,name=writeChunk" json:"writeChunk,omitempty"`
DeleteChunk *DeleteChunkRequestProto `protobuf:"bytes,18,opt,name=deleteChunk" json:"deleteChunk,omitempty"`
ListChunk *ListChunkRequestProto `protobuf:"bytes,19,opt,name=listChunk" json:"listChunk,omitempty"`
PutSmallFile *PutSmallFileRequestProto `protobuf:"bytes,20,opt,name=putSmallFile" json:"putSmallFile,omitempty"`
GetSmallFile *GetSmallFileRequestProto `protobuf:"bytes,21,opt,name=getSmallFile" json:"getSmallFile,omitempty"`
GetCommittedBlockLength *GetCommittedBlockLengthRequestProto `protobuf:"bytes,22,opt,name=getCommittedBlockLength" json:"getCommittedBlockLength,omitempty"`
EncodedToken *string `protobuf:"bytes,23,opt,name=encodedToken" json:"encodedToken,omitempty"`
}
func (x *ContainerCommandRequestProto) Reset() {
*x = ContainerCommandRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ContainerCommandRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ContainerCommandRequestProto) ProtoMessage() {}
func (x *ContainerCommandRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ContainerCommandRequestProto.ProtoReflect.Descriptor instead.
func (*ContainerCommandRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{2}
}
func (x *ContainerCommandRequestProto) GetCmdType() Type {
if x != nil && x.CmdType != nil {
return *x.CmdType
}
return Type_CreateContainer
}
func (x *ContainerCommandRequestProto) GetTraceID() string {
if x != nil && x.TraceID != nil {
return *x.TraceID
}
return ""
}
func (x *ContainerCommandRequestProto) GetContainerID() int64 {
if x != nil && x.ContainerID != nil {
return *x.ContainerID
}
return 0
}
func (x *ContainerCommandRequestProto) GetDatanodeUuid() string {
if x != nil && x.DatanodeUuid != nil {
return *x.DatanodeUuid
}
return ""
}
func (x *ContainerCommandRequestProto) GetPipelineID() string {
if x != nil && x.PipelineID != nil {
return *x.PipelineID
}
return ""
}
func (x *ContainerCommandRequestProto) GetCreateContainer() *CreateContainerRequestProto {
if x != nil {
return x.CreateContainer
}
return nil
}
func (x *ContainerCommandRequestProto) GetReadContainer() *ReadContainerRequestProto {
if x != nil {
return x.ReadContainer
}
return nil
}
func (x *ContainerCommandRequestProto) GetUpdateContainer() *UpdateContainerRequestProto {
if x != nil {
return x.UpdateContainer
}
return nil
}
func (x *ContainerCommandRequestProto) GetDeleteContainer() *DeleteContainerRequestProto {
if x != nil {
return x.DeleteContainer
}
return nil
}
func (x *ContainerCommandRequestProto) GetListContainer() *ListContainerRequestProto {
if x != nil {
return x.ListContainer
}
return nil
}
func (x *ContainerCommandRequestProto) GetCloseContainer() *CloseContainerRequestProto {
if x != nil {
return x.CloseContainer
}
return nil
}
func (x *ContainerCommandRequestProto) GetPutBlock() *PutBlockRequestProto {
if x != nil {
return x.PutBlock
}
return nil
}
func (x *ContainerCommandRequestProto) GetGetBlock() *GetBlockRequestProto {
if x != nil {
return x.GetBlock
}
return nil
}
func (x *ContainerCommandRequestProto) GetDeleteBlock() *DeleteBlockRequestProto {
if x != nil {
return x.DeleteBlock
}
return nil
}
func (x *ContainerCommandRequestProto) GetListBlock() *ListBlockRequestProto {
if x != nil {
return x.ListBlock
}
return nil
}
func (x *ContainerCommandRequestProto) GetReadChunk() *ReadChunkRequestProto {
if x != nil {
return x.ReadChunk
}
return nil
}
func (x *ContainerCommandRequestProto) GetWriteChunk() *WriteChunkRequestProto {
if x != nil {
return x.WriteChunk
}
return nil
}
func (x *ContainerCommandRequestProto) GetDeleteChunk() *DeleteChunkRequestProto {
if x != nil {
return x.DeleteChunk
}
return nil
}
func (x *ContainerCommandRequestProto) GetListChunk() *ListChunkRequestProto {
if x != nil {
return x.ListChunk
}
return nil
}
func (x *ContainerCommandRequestProto) GetPutSmallFile() *PutSmallFileRequestProto {
if x != nil {
return x.PutSmallFile
}
return nil
}
func (x *ContainerCommandRequestProto) GetGetSmallFile() *GetSmallFileRequestProto {
if x != nil {
return x.GetSmallFile
}
return nil
}
func (x *ContainerCommandRequestProto) GetGetCommittedBlockLength() *GetCommittedBlockLengthRequestProto {
if x != nil {
return x.GetCommittedBlockLength
}
return nil
}
func (x *ContainerCommandRequestProto) GetEncodedToken() string {
if x != nil && x.EncodedToken != nil {
return *x.EncodedToken
}
return ""
}
type ContainerCommandResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CmdType *Type `protobuf:"varint,1,req,name=cmdType,enum=hadoop.hdds.datanode.Type" json:"cmdType,omitempty"`
TraceID *string `protobuf:"bytes,2,opt,name=traceID" json:"traceID,omitempty"`
Result *Result `protobuf:"varint,3,req,name=result,enum=hadoop.hdds.datanode.Result" json:"result,omitempty"`
Message *string `protobuf:"bytes,4,opt,name=message" json:"message,omitempty"`
CreateContainer *CreateContainerResponseProto `protobuf:"bytes,5,opt,name=createContainer" json:"createContainer,omitempty"`
ReadContainer *ReadContainerResponseProto `protobuf:"bytes,6,opt,name=readContainer" json:"readContainer,omitempty"`
UpdateContainer *UpdateContainerResponseProto `protobuf:"bytes,7,opt,name=updateContainer" json:"updateContainer,omitempty"`
DeleteContainer *DeleteContainerResponseProto `protobuf:"bytes,8,opt,name=deleteContainer" json:"deleteContainer,omitempty"`
ListContainer *ListContainerResponseProto `protobuf:"bytes,9,opt,name=listContainer" json:"listContainer,omitempty"`
CloseContainer *CloseContainerResponseProto `protobuf:"bytes,10,opt,name=closeContainer" json:"closeContainer,omitempty"`
PutBlock *PutBlockResponseProto `protobuf:"bytes,11,opt,name=putBlock" json:"putBlock,omitempty"`
GetBlock *GetBlockResponseProto `protobuf:"bytes,12,opt,name=getBlock" json:"getBlock,omitempty"`
DeleteBlock *DeleteBlockResponseProto `protobuf:"bytes,13,opt,name=deleteBlock" json:"deleteBlock,omitempty"`
ListBlock *ListBlockResponseProto `protobuf:"bytes,14,opt,name=listBlock" json:"listBlock,omitempty"`
WriteChunk *WriteChunkResponseProto `protobuf:"bytes,15,opt,name=writeChunk" json:"writeChunk,omitempty"`
ReadChunk *ReadChunkResponseProto `protobuf:"bytes,16,opt,name=readChunk" json:"readChunk,omitempty"`
DeleteChunk *DeleteChunkResponseProto `protobuf:"bytes,17,opt,name=deleteChunk" json:"deleteChunk,omitempty"`
ListChunk *ListChunkResponseProto `protobuf:"bytes,18,opt,name=listChunk" json:"listChunk,omitempty"`
PutSmallFile *PutSmallFileResponseProto `protobuf:"bytes,19,opt,name=putSmallFile" json:"putSmallFile,omitempty"`
GetSmallFile *GetSmallFileResponseProto `protobuf:"bytes,20,opt,name=getSmallFile" json:"getSmallFile,omitempty"`
GetCommittedBlockLength *GetCommittedBlockLengthResponseProto `protobuf:"bytes,21,opt,name=getCommittedBlockLength" json:"getCommittedBlockLength,omitempty"`
}
func (x *ContainerCommandResponseProto) Reset() {
*x = ContainerCommandResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ContainerCommandResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ContainerCommandResponseProto) ProtoMessage() {}
func (x *ContainerCommandResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ContainerCommandResponseProto.ProtoReflect.Descriptor instead.
func (*ContainerCommandResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{3}
}
func (x *ContainerCommandResponseProto) GetCmdType() Type {
if x != nil && x.CmdType != nil {
return *x.CmdType
}
return Type_CreateContainer
}
func (x *ContainerCommandResponseProto) GetTraceID() string {
if x != nil && x.TraceID != nil {
return *x.TraceID
}
return ""
}
func (x *ContainerCommandResponseProto) GetResult() Result {
if x != nil && x.Result != nil {
return *x.Result
}
return Result_SUCCESS
}
func (x *ContainerCommandResponseProto) GetMessage() string {
if x != nil && x.Message != nil {
return *x.Message
}
return ""
}
func (x *ContainerCommandResponseProto) GetCreateContainer() *CreateContainerResponseProto {
if x != nil {
return x.CreateContainer
}
return nil
}
func (x *ContainerCommandResponseProto) GetReadContainer() *ReadContainerResponseProto {
if x != nil {
return x.ReadContainer
}
return nil
}
func (x *ContainerCommandResponseProto) GetUpdateContainer() *UpdateContainerResponseProto {
if x != nil {
return x.UpdateContainer
}
return nil
}
func (x *ContainerCommandResponseProto) GetDeleteContainer() *DeleteContainerResponseProto {
if x != nil {
return x.DeleteContainer
}
return nil
}
func (x *ContainerCommandResponseProto) GetListContainer() *ListContainerResponseProto {
if x != nil {
return x.ListContainer
}
return nil
}
func (x *ContainerCommandResponseProto) GetCloseContainer() *CloseContainerResponseProto {
if x != nil {
return x.CloseContainer
}
return nil
}
func (x *ContainerCommandResponseProto) GetPutBlock() *PutBlockResponseProto {
if x != nil {
return x.PutBlock
}
return nil
}
func (x *ContainerCommandResponseProto) GetGetBlock() *GetBlockResponseProto {
if x != nil {
return x.GetBlock
}
return nil
}
func (x *ContainerCommandResponseProto) GetDeleteBlock() *DeleteBlockResponseProto {
if x != nil {
return x.DeleteBlock
}
return nil
}
func (x *ContainerCommandResponseProto) GetListBlock() *ListBlockResponseProto {
if x != nil {
return x.ListBlock
}
return nil
}
func (x *ContainerCommandResponseProto) GetWriteChunk() *WriteChunkResponseProto {
if x != nil {
return x.WriteChunk
}
return nil
}
func (x *ContainerCommandResponseProto) GetReadChunk() *ReadChunkResponseProto {
if x != nil {
return x.ReadChunk
}
return nil
}
func (x *ContainerCommandResponseProto) GetDeleteChunk() *DeleteChunkResponseProto {
if x != nil {
return x.DeleteChunk
}
return nil
}
func (x *ContainerCommandResponseProto) GetListChunk() *ListChunkResponseProto {
if x != nil {
return x.ListChunk
}
return nil
}
func (x *ContainerCommandResponseProto) GetPutSmallFile() *PutSmallFileResponseProto {
if x != nil {
return x.PutSmallFile
}
return nil
}
func (x *ContainerCommandResponseProto) GetGetSmallFile() *GetSmallFileResponseProto {
if x != nil {
return x.GetSmallFile
}
return nil
}
func (x *ContainerCommandResponseProto) GetGetCommittedBlockLength() *GetCommittedBlockLengthResponseProto {
if x != nil {
return x.GetCommittedBlockLength
}
return nil
}
type ContainerDataProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ContainerID *int64 `protobuf:"varint,1,req,name=containerID" json:"containerID,omitempty"`
Metadata []*KeyValue `protobuf:"bytes,2,rep,name=metadata" json:"metadata,omitempty"`
ContainerPath *string `protobuf:"bytes,4,opt,name=containerPath" json:"containerPath,omitempty"`
BytesUsed *int64 `protobuf:"varint,6,opt,name=bytesUsed" json:"bytesUsed,omitempty"`
Size *int64 `protobuf:"varint,7,opt,name=size" json:"size,omitempty"`
BlockCount *int64 `protobuf:"varint,8,opt,name=blockCount" json:"blockCount,omitempty"`
State *ContainerDataProto_State `protobuf:"varint,9,opt,name=state,enum=hadoop.hdds.datanode.ContainerDataProto_State,def=1" json:"state,omitempty"`
ContainerType *ContainerType `protobuf:"varint,10,opt,name=containerType,enum=hadoop.hdds.datanode.ContainerType,def=1" json:"containerType,omitempty"`
}
// Default values for ContainerDataProto fields.
const (
Default_ContainerDataProto_State = ContainerDataProto_OPEN
Default_ContainerDataProto_ContainerType = ContainerType_KeyValueContainer
)
func (x *ContainerDataProto) Reset() {
*x = ContainerDataProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ContainerDataProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ContainerDataProto) ProtoMessage() {}
func (x *ContainerDataProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ContainerDataProto.ProtoReflect.Descriptor instead.
func (*ContainerDataProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{4}
}
func (x *ContainerDataProto) GetContainerID() int64 {
if x != nil && x.ContainerID != nil {
return *x.ContainerID
}
return 0
}
func (x *ContainerDataProto) GetMetadata() []*KeyValue {
if x != nil {
return x.Metadata
}
return nil
}
func (x *ContainerDataProto) GetContainerPath() string {
if x != nil && x.ContainerPath != nil {
return *x.ContainerPath
}
return ""
}
func (x *ContainerDataProto) GetBytesUsed() int64 {
if x != nil && x.BytesUsed != nil {
return *x.BytesUsed
}
return 0
}
func (x *ContainerDataProto) GetSize() int64 {
if x != nil && x.Size != nil {
return *x.Size
}
return 0
}
func (x *ContainerDataProto) GetBlockCount() int64 {
if x != nil && x.BlockCount != nil {
return *x.BlockCount
}
return 0
}
func (x *ContainerDataProto) GetState() ContainerDataProto_State {
if x != nil && x.State != nil {
return *x.State
}
return Default_ContainerDataProto_State
}
func (x *ContainerDataProto) GetContainerType() ContainerType {
if x != nil && x.ContainerType != nil {
return *x.ContainerType
}
return Default_ContainerDataProto_ContainerType
}
type Container2BCSIDMapProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// repeated Container2BCSIDMapEntryProto container2BCSID = 1;
Container2BCSID map[int64]int64 `protobuf:"bytes,1,rep,name=container2BCSID" json:"container2BCSID,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
}
func (x *Container2BCSIDMapProto) Reset() {
*x = Container2BCSIDMapProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Container2BCSIDMapProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Container2BCSIDMapProto) ProtoMessage() {}
func (x *Container2BCSIDMapProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Container2BCSIDMapProto.ProtoReflect.Descriptor instead.
func (*Container2BCSIDMapProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{5}
}
func (x *Container2BCSIDMapProto) GetContainer2BCSID() map[int64]int64 {
if x != nil {
return x.Container2BCSID
}
return nil
}
// Container Messages.
type CreateContainerRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Metadata []*KeyValue `protobuf:"bytes,2,rep,name=metadata" json:"metadata,omitempty"`
ContainerType *ContainerType `protobuf:"varint,3,opt,name=containerType,enum=hadoop.hdds.datanode.ContainerType,def=1" json:"containerType,omitempty"`
}
// Default values for CreateContainerRequestProto fields.
const (
Default_CreateContainerRequestProto_ContainerType = ContainerType_KeyValueContainer
)
func (x *CreateContainerRequestProto) Reset() {
*x = CreateContainerRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateContainerRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateContainerRequestProto) ProtoMessage() {}
func (x *CreateContainerRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateContainerRequestProto.ProtoReflect.Descriptor instead.
func (*CreateContainerRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{6}
}
func (x *CreateContainerRequestProto) GetMetadata() []*KeyValue {
if x != nil {
return x.Metadata
}
return nil
}
func (x *CreateContainerRequestProto) GetContainerType() ContainerType {
if x != nil && x.ContainerType != nil {
return *x.ContainerType
}
return Default_CreateContainerRequestProto_ContainerType
}
type CreateContainerResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CreateContainerResponseProto) Reset() {
*x = CreateContainerResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateContainerResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateContainerResponseProto) ProtoMessage() {}
func (x *CreateContainerResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateContainerResponseProto.ProtoReflect.Descriptor instead.
func (*CreateContainerResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{7}
}
type ReadContainerRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ReadContainerRequestProto) Reset() {
*x = ReadContainerRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReadContainerRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReadContainerRequestProto) ProtoMessage() {}
func (x *ReadContainerRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReadContainerRequestProto.ProtoReflect.Descriptor instead.
func (*ReadContainerRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{8}
}
type ReadContainerResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ContainerData *ContainerDataProto `protobuf:"bytes,1,opt,name=containerData" json:"containerData,omitempty"`
}
func (x *ReadContainerResponseProto) Reset() {
*x = ReadContainerResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReadContainerResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReadContainerResponseProto) ProtoMessage() {}
func (x *ReadContainerResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReadContainerResponseProto.ProtoReflect.Descriptor instead.
func (*ReadContainerResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{9}
}
func (x *ReadContainerResponseProto) GetContainerData() *ContainerDataProto {
if x != nil {
return x.ContainerData
}
return nil
}
type UpdateContainerRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Metadata []*KeyValue `protobuf:"bytes,2,rep,name=metadata" json:"metadata,omitempty"`
ForceUpdate *bool `protobuf:"varint,3,opt,name=forceUpdate,def=0" json:"forceUpdate,omitempty"`
}
// Default values for UpdateContainerRequestProto fields.
const (
Default_UpdateContainerRequestProto_ForceUpdate = bool(false)
)
func (x *UpdateContainerRequestProto) Reset() {
*x = UpdateContainerRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateContainerRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateContainerRequestProto) ProtoMessage() {}
func (x *UpdateContainerRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateContainerRequestProto.ProtoReflect.Descriptor instead.
func (*UpdateContainerRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{10}
}
func (x *UpdateContainerRequestProto) GetMetadata() []*KeyValue {
if x != nil {
return x.Metadata
}
return nil
}
func (x *UpdateContainerRequestProto) GetForceUpdate() bool {
if x != nil && x.ForceUpdate != nil {
return *x.ForceUpdate
}
return Default_UpdateContainerRequestProto_ForceUpdate
}
type UpdateContainerResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *UpdateContainerResponseProto) Reset() {
*x = UpdateContainerResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateContainerResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateContainerResponseProto) ProtoMessage() {}
func (x *UpdateContainerResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateContainerResponseProto.ProtoReflect.Descriptor instead.
func (*UpdateContainerResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{11}
}
type DeleteContainerRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ForceDelete *bool `protobuf:"varint,2,opt,name=forceDelete,def=0" json:"forceDelete,omitempty"`
}
// Default values for DeleteContainerRequestProto fields.
const (
Default_DeleteContainerRequestProto_ForceDelete = bool(false)
)
func (x *DeleteContainerRequestProto) Reset() {
*x = DeleteContainerRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteContainerRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteContainerRequestProto) ProtoMessage() {}
func (x *DeleteContainerRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteContainerRequestProto.ProtoReflect.Descriptor instead.
func (*DeleteContainerRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{12}
}
func (x *DeleteContainerRequestProto) GetForceDelete() bool {
if x != nil && x.ForceDelete != nil {
return *x.ForceDelete
}
return Default_DeleteContainerRequestProto_ForceDelete
}
type DeleteContainerResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DeleteContainerResponseProto) Reset() {
*x = DeleteContainerResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteContainerResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteContainerResponseProto) ProtoMessage() {}
func (x *DeleteContainerResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteContainerResponseProto.ProtoReflect.Descriptor instead.
func (*DeleteContainerResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{13}
}
type ListContainerRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Count *uint32 `protobuf:"varint,2,opt,name=count" json:"count,omitempty"` // Max Results to return
}
func (x *ListContainerRequestProto) Reset() {
*x = ListContainerRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListContainerRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListContainerRequestProto) ProtoMessage() {}
func (x *ListContainerRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListContainerRequestProto.ProtoReflect.Descriptor instead.
func (*ListContainerRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{14}
}
func (x *ListContainerRequestProto) GetCount() uint32 {
if x != nil && x.Count != nil {
return *x.Count
}
return 0
}
type ListContainerResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ContainerData []*ContainerDataProto `protobuf:"bytes,1,rep,name=containerData" json:"containerData,omitempty"`
}
func (x *ListContainerResponseProto) Reset() {
*x = ListContainerResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListContainerResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListContainerResponseProto) ProtoMessage() {}
func (x *ListContainerResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListContainerResponseProto.ProtoReflect.Descriptor instead.
func (*ListContainerResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{15}
}
func (x *ListContainerResponseProto) GetContainerData() []*ContainerDataProto {
if x != nil {
return x.ContainerData
}
return nil
}
type CloseContainerRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CloseContainerRequestProto) Reset() {
*x = CloseContainerRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CloseContainerRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CloseContainerRequestProto) ProtoMessage() {}
func (x *CloseContainerRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CloseContainerRequestProto.ProtoReflect.Descriptor instead.
func (*CloseContainerRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{16}
}
type CloseContainerResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hash *string `protobuf:"bytes,1,opt,name=hash" json:"hash,omitempty"`
ContainerID *int64 `protobuf:"varint,2,opt,name=containerID" json:"containerID,omitempty"`
}
func (x *CloseContainerResponseProto) Reset() {
*x = CloseContainerResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CloseContainerResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CloseContainerResponseProto) ProtoMessage() {}
func (x *CloseContainerResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CloseContainerResponseProto.ProtoReflect.Descriptor instead.
func (*CloseContainerResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{17}
}
func (x *CloseContainerResponseProto) GetHash() string {
if x != nil && x.Hash != nil {
return *x.Hash
}
return ""
}
func (x *CloseContainerResponseProto) GetContainerID() int64 {
if x != nil && x.ContainerID != nil {
return *x.ContainerID
}
return 0
}
type BlockData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockID *DatanodeBlockID `protobuf:"bytes,1,req,name=blockID" json:"blockID,omitempty"`
Flags *int64 `protobuf:"varint,2,opt,name=flags" json:"flags,omitempty"` // for future use.
Metadata []*KeyValue `protobuf:"bytes,3,rep,name=metadata" json:"metadata,omitempty"`
Chunks []*ChunkInfo `protobuf:"bytes,4,rep,name=chunks" json:"chunks,omitempty"`
Size *int64 `protobuf:"varint,5,opt,name=size" json:"size,omitempty"`
}
func (x *BlockData) Reset() {
*x = BlockData{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BlockData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BlockData) ProtoMessage() {}
func (x *BlockData) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BlockData.ProtoReflect.Descriptor instead.
func (*BlockData) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{18}
}
func (x *BlockData) GetBlockID() *DatanodeBlockID {
if x != nil {
return x.BlockID
}
return nil
}
func (x *BlockData) GetFlags() int64 {
if x != nil && x.Flags != nil {
return *x.Flags
}
return 0
}
func (x *BlockData) GetMetadata() []*KeyValue {
if x != nil {
return x.Metadata
}
return nil
}
func (x *BlockData) GetChunks() []*ChunkInfo {
if x != nil {
return x.Chunks
}
return nil
}
func (x *BlockData) GetSize() int64 {
if x != nil && x.Size != nil {
return *x.Size
}
return 0
}
// Block Messages.
type PutBlockRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockData *BlockData `protobuf:"bytes,1,req,name=blockData" json:"blockData,omitempty"`
Eof *bool `protobuf:"varint,2,opt,name=eof" json:"eof,omitempty"`
}
func (x *PutBlockRequestProto) Reset() {
*x = PutBlockRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PutBlockRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PutBlockRequestProto) ProtoMessage() {}
func (x *PutBlockRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PutBlockRequestProto.ProtoReflect.Descriptor instead.
func (*PutBlockRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{19}
}
func (x *PutBlockRequestProto) GetBlockData() *BlockData {
if x != nil {
return x.BlockData
}
return nil
}
func (x *PutBlockRequestProto) GetEof() bool {
if x != nil && x.Eof != nil {
return *x.Eof
}
return false
}
type PutBlockResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CommittedBlockLength *GetCommittedBlockLengthResponseProto `protobuf:"bytes,1,req,name=committedBlockLength" json:"committedBlockLength,omitempty"`
}
func (x *PutBlockResponseProto) Reset() {
*x = PutBlockResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PutBlockResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PutBlockResponseProto) ProtoMessage() {}
func (x *PutBlockResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PutBlockResponseProto.ProtoReflect.Descriptor instead.
func (*PutBlockResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{20}
}
func (x *PutBlockResponseProto) GetCommittedBlockLength() *GetCommittedBlockLengthResponseProto {
if x != nil {
return x.CommittedBlockLength
}
return nil
}
type GetBlockRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockID *DatanodeBlockID `protobuf:"bytes,1,req,name=blockID" json:"blockID,omitempty"`
}
func (x *GetBlockRequestProto) Reset() {
*x = GetBlockRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlockRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlockRequestProto) ProtoMessage() {}
func (x *GetBlockRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetBlockRequestProto.ProtoReflect.Descriptor instead.
func (*GetBlockRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{21}
}
func (x *GetBlockRequestProto) GetBlockID() *DatanodeBlockID {
if x != nil {
return x.BlockID
}
return nil
}
type GetBlockResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockData *BlockData `protobuf:"bytes,1,req,name=blockData" json:"blockData,omitempty"`
}
func (x *GetBlockResponseProto) Reset() {
*x = GetBlockResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBlockResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBlockResponseProto) ProtoMessage() {}
func (x *GetBlockResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetBlockResponseProto.ProtoReflect.Descriptor instead.
func (*GetBlockResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{22}
}
func (x *GetBlockResponseProto) GetBlockData() *BlockData {
if x != nil {
return x.BlockData
}
return nil
}
type DeleteBlockRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockID *DatanodeBlockID `protobuf:"bytes,1,req,name=blockID" json:"blockID,omitempty"`
}
func (x *DeleteBlockRequestProto) Reset() {
*x = DeleteBlockRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteBlockRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteBlockRequestProto) ProtoMessage() {}
func (x *DeleteBlockRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteBlockRequestProto.ProtoReflect.Descriptor instead.
func (*DeleteBlockRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{23}
}
func (x *DeleteBlockRequestProto) GetBlockID() *DatanodeBlockID {
if x != nil {
return x.BlockID
}
return nil
}
type GetCommittedBlockLengthRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockID *DatanodeBlockID `protobuf:"bytes,1,req,name=blockID" json:"blockID,omitempty"`
}
func (x *GetCommittedBlockLengthRequestProto) Reset() {
*x = GetCommittedBlockLengthRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCommittedBlockLengthRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCommittedBlockLengthRequestProto) ProtoMessage() {}
func (x *GetCommittedBlockLengthRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetCommittedBlockLengthRequestProto.ProtoReflect.Descriptor instead.
func (*GetCommittedBlockLengthRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{24}
}
func (x *GetCommittedBlockLengthRequestProto) GetBlockID() *DatanodeBlockID {
if x != nil {
return x.BlockID
}
return nil
}
type GetCommittedBlockLengthResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockID *DatanodeBlockID `protobuf:"bytes,1,req,name=blockID" json:"blockID,omitempty"`
BlockLength *int64 `protobuf:"varint,2,req,name=blockLength" json:"blockLength,omitempty"`
}
func (x *GetCommittedBlockLengthResponseProto) Reset() {
*x = GetCommittedBlockLengthResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCommittedBlockLengthResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCommittedBlockLengthResponseProto) ProtoMessage() {}
func (x *GetCommittedBlockLengthResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetCommittedBlockLengthResponseProto.ProtoReflect.Descriptor instead.
func (*GetCommittedBlockLengthResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{25}
}
func (x *GetCommittedBlockLengthResponseProto) GetBlockID() *DatanodeBlockID {
if x != nil {
return x.BlockID
}
return nil
}
func (x *GetCommittedBlockLengthResponseProto) GetBlockLength() int64 {
if x != nil && x.BlockLength != nil {
return *x.BlockLength
}
return 0
}
type DeleteBlockResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DeleteBlockResponseProto) Reset() {
*x = DeleteBlockResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteBlockResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteBlockResponseProto) ProtoMessage() {}
func (x *DeleteBlockResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteBlockResponseProto.ProtoReflect.Descriptor instead.
func (*DeleteBlockResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{26}
}
type ListBlockRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StartLocalID *int64 `protobuf:"varint,2,opt,name=startLocalID" json:"startLocalID,omitempty"`
Count *uint32 `protobuf:"varint,3,req,name=count" json:"count,omitempty"`
}
func (x *ListBlockRequestProto) Reset() {
*x = ListBlockRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListBlockRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListBlockRequestProto) ProtoMessage() {}
func (x *ListBlockRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListBlockRequestProto.ProtoReflect.Descriptor instead.
func (*ListBlockRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{27}
}
func (x *ListBlockRequestProto) GetStartLocalID() int64 {
if x != nil && x.StartLocalID != nil {
return *x.StartLocalID
}
return 0
}
func (x *ListBlockRequestProto) GetCount() uint32 {
if x != nil && x.Count != nil {
return *x.Count
}
return 0
}
type ListBlockResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockData []*BlockData `protobuf:"bytes,1,rep,name=blockData" json:"blockData,omitempty"`
}
func (x *ListBlockResponseProto) Reset() {
*x = ListBlockResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListBlockResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListBlockResponseProto) ProtoMessage() {}
func (x *ListBlockResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListBlockResponseProto.ProtoReflect.Descriptor instead.
func (*ListBlockResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{28}
}
func (x *ListBlockResponseProto) GetBlockData() []*BlockData {
if x != nil {
return x.BlockData
}
return nil
}
type ChunkInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ChunkName *string `protobuf:"bytes,1,req,name=chunkName" json:"chunkName,omitempty"`
Offset *uint64 `protobuf:"varint,2,req,name=offset" json:"offset,omitempty"`
Len *uint64 `protobuf:"varint,3,req,name=len" json:"len,omitempty"`
Metadata []*KeyValue `protobuf:"bytes,4,rep,name=metadata" json:"metadata,omitempty"`
ChecksumData *ChecksumData `protobuf:"bytes,5,req,name=checksumData" json:"checksumData,omitempty"`
}
func (x *ChunkInfo) Reset() {
*x = ChunkInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChunkInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChunkInfo) ProtoMessage() {}
func (x *ChunkInfo) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChunkInfo.ProtoReflect.Descriptor instead.
func (*ChunkInfo) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{29}
}
func (x *ChunkInfo) GetChunkName() string {
if x != nil && x.ChunkName != nil {
return *x.ChunkName
}
return ""
}
func (x *ChunkInfo) GetOffset() uint64 {
if x != nil && x.Offset != nil {
return *x.Offset
}
return 0
}
func (x *ChunkInfo) GetLen() uint64 {
if x != nil && x.Len != nil {
return *x.Len
}
return 0
}
func (x *ChunkInfo) GetMetadata() []*KeyValue {
if x != nil {
return x.Metadata
}
return nil
}
func (x *ChunkInfo) GetChecksumData() *ChecksumData {
if x != nil {
return x.ChecksumData
}
return nil
}
type ChecksumData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Type *ChecksumType `protobuf:"varint,1,req,name=type,enum=hadoop.hdds.datanode.ChecksumType" json:"type,omitempty"`
BytesPerChecksum *uint32 `protobuf:"varint,2,req,name=bytesPerChecksum" json:"bytesPerChecksum,omitempty"`
Checksums [][]byte `protobuf:"bytes,3,rep,name=checksums" json:"checksums,omitempty"`
}
func (x *ChecksumData) Reset() {
*x = ChecksumData{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ChecksumData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ChecksumData) ProtoMessage() {}
func (x *ChecksumData) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ChecksumData.ProtoReflect.Descriptor instead.
func (*ChecksumData) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{30}
}
func (x *ChecksumData) GetType() ChecksumType {
if x != nil && x.Type != nil {
return *x.Type
}
return ChecksumType_NONE
}
func (x *ChecksumData) GetBytesPerChecksum() uint32 {
if x != nil && x.BytesPerChecksum != nil {
return *x.BytesPerChecksum
}
return 0
}
func (x *ChecksumData) GetChecksums() [][]byte {
if x != nil {
return x.Checksums
}
return nil
}
type WriteChunkRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockID *DatanodeBlockID `protobuf:"bytes,1,req,name=blockID" json:"blockID,omitempty"`
ChunkData *ChunkInfo `protobuf:"bytes,2,req,name=chunkData" json:"chunkData,omitempty"`
Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"`
}
func (x *WriteChunkRequestProto) Reset() {
*x = WriteChunkRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WriteChunkRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteChunkRequestProto) ProtoMessage() {}
func (x *WriteChunkRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WriteChunkRequestProto.ProtoReflect.Descriptor instead.
func (*WriteChunkRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{31}
}
func (x *WriteChunkRequestProto) GetBlockID() *DatanodeBlockID {
if x != nil {
return x.BlockID
}
return nil
}
func (x *WriteChunkRequestProto) GetChunkData() *ChunkInfo {
if x != nil {
return x.ChunkData
}
return nil
}
func (x *WriteChunkRequestProto) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
type WriteChunkResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *WriteChunkResponseProto) Reset() {
*x = WriteChunkResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WriteChunkResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteChunkResponseProto) ProtoMessage() {}
func (x *WriteChunkResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use WriteChunkResponseProto.ProtoReflect.Descriptor instead.
func (*WriteChunkResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{32}
}
type ReadChunkRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockID *DatanodeBlockID `protobuf:"bytes,1,req,name=blockID" json:"blockID,omitempty"`
ChunkData *ChunkInfo `protobuf:"bytes,2,req,name=chunkData" json:"chunkData,omitempty"`
}
func (x *ReadChunkRequestProto) Reset() {
*x = ReadChunkRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReadChunkRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReadChunkRequestProto) ProtoMessage() {}
func (x *ReadChunkRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReadChunkRequestProto.ProtoReflect.Descriptor instead.
func (*ReadChunkRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{33}
}
func (x *ReadChunkRequestProto) GetBlockID() *DatanodeBlockID {
if x != nil {
return x.BlockID
}
return nil
}
func (x *ReadChunkRequestProto) GetChunkData() *ChunkInfo {
if x != nil {
return x.ChunkData
}
return nil
}
type ReadChunkResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockID *DatanodeBlockID `protobuf:"bytes,1,req,name=blockID" json:"blockID,omitempty"`
ChunkData *ChunkInfo `protobuf:"bytes,2,req,name=chunkData" json:"chunkData,omitempty"`
Data []byte `protobuf:"bytes,3,req,name=data" json:"data,omitempty"`
}
func (x *ReadChunkResponseProto) Reset() {
*x = ReadChunkResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReadChunkResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReadChunkResponseProto) ProtoMessage() {}
func (x *ReadChunkResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReadChunkResponseProto.ProtoReflect.Descriptor instead.
func (*ReadChunkResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{34}
}
func (x *ReadChunkResponseProto) GetBlockID() *DatanodeBlockID {
if x != nil {
return x.BlockID
}
return nil
}
func (x *ReadChunkResponseProto) GetChunkData() *ChunkInfo {
if x != nil {
return x.ChunkData
}
return nil
}
func (x *ReadChunkResponseProto) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
type DeleteChunkRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockID *DatanodeBlockID `protobuf:"bytes,1,req,name=blockID" json:"blockID,omitempty"`
ChunkData *ChunkInfo `protobuf:"bytes,2,req,name=chunkData" json:"chunkData,omitempty"`
}
func (x *DeleteChunkRequestProto) Reset() {
*x = DeleteChunkRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteChunkRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteChunkRequestProto) ProtoMessage() {}
func (x *DeleteChunkRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteChunkRequestProto.ProtoReflect.Descriptor instead.
func (*DeleteChunkRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{35}
}
func (x *DeleteChunkRequestProto) GetBlockID() *DatanodeBlockID {
if x != nil {
return x.BlockID
}
return nil
}
func (x *DeleteChunkRequestProto) GetChunkData() *ChunkInfo {
if x != nil {
return x.ChunkData
}
return nil
}
type DeleteChunkResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DeleteChunkResponseProto) Reset() {
*x = DeleteChunkResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteChunkResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteChunkResponseProto) ProtoMessage() {}
func (x *DeleteChunkResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeleteChunkResponseProto.ProtoReflect.Descriptor instead.
func (*DeleteChunkResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{36}
}
type ListChunkRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
BlockID *DatanodeBlockID `protobuf:"bytes,1,req,name=blockID" json:"blockID,omitempty"`
PrevChunkName *string `protobuf:"bytes,2,req,name=prevChunkName" json:"prevChunkName,omitempty"`
Count *uint32 `protobuf:"varint,3,req,name=count" json:"count,omitempty"`
}
func (x *ListChunkRequestProto) Reset() {
*x = ListChunkRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListChunkRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListChunkRequestProto) ProtoMessage() {}
func (x *ListChunkRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[37]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListChunkRequestProto.ProtoReflect.Descriptor instead.
func (*ListChunkRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{37}
}
func (x *ListChunkRequestProto) GetBlockID() *DatanodeBlockID {
if x != nil {
return x.BlockID
}
return nil
}
func (x *ListChunkRequestProto) GetPrevChunkName() string {
if x != nil && x.PrevChunkName != nil {
return *x.PrevChunkName
}
return ""
}
func (x *ListChunkRequestProto) GetCount() uint32 {
if x != nil && x.Count != nil {
return *x.Count
}
return 0
}
type ListChunkResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ChunkData []*ChunkInfo `protobuf:"bytes,1,rep,name=chunkData" json:"chunkData,omitempty"`
}
func (x *ListChunkResponseProto) Reset() {
*x = ListChunkResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListChunkResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListChunkResponseProto) ProtoMessage() {}
func (x *ListChunkResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[38]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListChunkResponseProto.ProtoReflect.Descriptor instead.
func (*ListChunkResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{38}
}
func (x *ListChunkResponseProto) GetChunkData() []*ChunkInfo {
if x != nil {
return x.ChunkData
}
return nil
}
type PutSmallFileRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Block *PutBlockRequestProto `protobuf:"bytes,1,req,name=block" json:"block,omitempty"`
ChunkInfo *ChunkInfo `protobuf:"bytes,2,req,name=chunkInfo" json:"chunkInfo,omitempty"`
Data []byte `protobuf:"bytes,3,req,name=data" json:"data,omitempty"`
}
func (x *PutSmallFileRequestProto) Reset() {
*x = PutSmallFileRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PutSmallFileRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PutSmallFileRequestProto) ProtoMessage() {}
func (x *PutSmallFileRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[39]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PutSmallFileRequestProto.ProtoReflect.Descriptor instead.
func (*PutSmallFileRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{39}
}
func (x *PutSmallFileRequestProto) GetBlock() *PutBlockRequestProto {
if x != nil {
return x.Block
}
return nil
}
func (x *PutSmallFileRequestProto) GetChunkInfo() *ChunkInfo {
if x != nil {
return x.ChunkInfo
}
return nil
}
func (x *PutSmallFileRequestProto) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
type PutSmallFileResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CommittedBlockLength *GetCommittedBlockLengthResponseProto `protobuf:"bytes,1,req,name=committedBlockLength" json:"committedBlockLength,omitempty"`
}
func (x *PutSmallFileResponseProto) Reset() {
*x = PutSmallFileResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PutSmallFileResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PutSmallFileResponseProto) ProtoMessage() {}
func (x *PutSmallFileResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[40]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PutSmallFileResponseProto.ProtoReflect.Descriptor instead.
func (*PutSmallFileResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{40}
}
func (x *PutSmallFileResponseProto) GetCommittedBlockLength() *GetCommittedBlockLengthResponseProto {
if x != nil {
return x.CommittedBlockLength
}
return nil
}
type GetSmallFileRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Block *GetBlockRequestProto `protobuf:"bytes,1,req,name=block" json:"block,omitempty"`
}
func (x *GetSmallFileRequestProto) Reset() {
*x = GetSmallFileRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSmallFileRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSmallFileRequestProto) ProtoMessage() {}
func (x *GetSmallFileRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[41]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSmallFileRequestProto.ProtoReflect.Descriptor instead.
func (*GetSmallFileRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{41}
}
func (x *GetSmallFileRequestProto) GetBlock() *GetBlockRequestProto {
if x != nil {
return x.Block
}
return nil
}
type GetSmallFileResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data *ReadChunkResponseProto `protobuf:"bytes,1,req,name=data" json:"data,omitempty"`
}
func (x *GetSmallFileResponseProto) Reset() {
*x = GetSmallFileResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetSmallFileResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetSmallFileResponseProto) ProtoMessage() {}
func (x *GetSmallFileResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[42]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetSmallFileResponseProto.ProtoReflect.Descriptor instead.
func (*GetSmallFileResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{42}
}
func (x *GetSmallFileResponseProto) GetData() *ReadChunkResponseProto {
if x != nil {
return x.Data
}
return nil
}
type CopyContainerRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ContainerID *int64 `protobuf:"varint,1,req,name=containerID" json:"containerID,omitempty"`
ReadOffset *uint64 `protobuf:"varint,2,req,name=readOffset" json:"readOffset,omitempty"`
Len *uint64 `protobuf:"varint,3,opt,name=len" json:"len,omitempty"`
}
func (x *CopyContainerRequestProto) Reset() {
*x = CopyContainerRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CopyContainerRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CopyContainerRequestProto) ProtoMessage() {}
func (x *CopyContainerRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[43]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CopyContainerRequestProto.ProtoReflect.Descriptor instead.
func (*CopyContainerRequestProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{43}
}
func (x *CopyContainerRequestProto) GetContainerID() int64 {
if x != nil && x.ContainerID != nil {
return *x.ContainerID
}
return 0
}
func (x *CopyContainerRequestProto) GetReadOffset() uint64 {
if x != nil && x.ReadOffset != nil {
return *x.ReadOffset
}
return 0
}
func (x *CopyContainerRequestProto) GetLen() uint64 {
if x != nil && x.Len != nil {
return *x.Len
}
return 0
}
type CopyContainerResponseProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ContainerID *int64 `protobuf:"varint,1,req,name=containerID" json:"containerID,omitempty"`
ReadOffset *uint64 `protobuf:"varint,2,req,name=readOffset" json:"readOffset,omitempty"`
Len *uint64 `protobuf:"varint,3,req,name=len" json:"len,omitempty"`
Eof *bool `protobuf:"varint,4,req,name=eof" json:"eof,omitempty"`
Data []byte `protobuf:"bytes,5,req,name=data" json:"data,omitempty"`
Checksum *int64 `protobuf:"varint,6,opt,name=checksum" json:"checksum,omitempty"`
}
func (x *CopyContainerResponseProto) Reset() {
*x = CopyContainerResponseProto{}
if protoimpl.UnsafeEnabled {
mi := &file_DatanodeClientProtocol_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CopyContainerResponseProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CopyContainerResponseProto) ProtoMessage() {}
func (x *CopyContainerResponseProto) ProtoReflect() protoreflect.Message {
mi := &file_DatanodeClientProtocol_proto_msgTypes[44]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CopyContainerResponseProto.ProtoReflect.Descriptor instead.
func (*CopyContainerResponseProto) Descriptor() ([]byte, []int) {
return file_DatanodeClientProtocol_proto_rawDescGZIP(), []int{44}
}
func (x *CopyContainerResponseProto) GetContainerID() int64 {
if x != nil && x.ContainerID != nil {
return *x.ContainerID
}
return 0
}
func (x *CopyContainerResponseProto) GetReadOffset() uint64 {
if x != nil && x.ReadOffset != nil {
return *x.ReadOffset
}
return 0
}
func (x *CopyContainerResponseProto) GetLen() uint64 {
if x != nil && x.Len != nil {
return *x.Len
}
return 0
}
func (x *CopyContainerResponseProto) GetEof() bool {
if x != nil && x.Eof != nil {
return *x.Eof
}
return false
}
func (x *CopyContainerResponseProto) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
func (x *CopyContainerResponseProto) GetChecksum() int64 {
if x != nil && x.Checksum != nil {
return *x.Checksum
}
return 0
}
var File_DatanodeClientProtocol_proto protoreflect.FileDescriptor
var file_DatanodeClientProtocol_proto_rawDesc = []byte{
0x0a, 0x1c, 0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14,
0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61,
0x6e, 0x6f, 0x64, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64,
0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x03, 0x52, 0x0b, 0x63,
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f,
0x63, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x02, 0x20, 0x02, 0x28, 0x03, 0x52, 0x07, 0x6c, 0x6f, 0x63,
0x61, 0x6c, 0x49, 0x44, 0x12, 0x37, 0x0a, 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6d,
0x6d, 0x69, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x04, 0x3a, 0x01, 0x30, 0x52, 0x15, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6d,
0x6d, 0x69, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x22, 0x32, 0x0a,
0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x22, 0x95, 0x0d, 0x0a, 0x1c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x43,
0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
0x02, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64,
0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
0x07, 0x63, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63,
0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65,
0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49,
0x44, 0x18, 0x03, 0x20, 0x02, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65,
0x55, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61,
0x6e, 0x6f, 0x64, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x69, 0x70, 0x65,
0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x69,
0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x5b, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43,
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e,
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68,
0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e,
0x6f, 0x64, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0d, 0x72,
0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x0f,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18,
0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68,
0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x0f, 0x64, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e,
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61,
0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0d,
0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x58, 0x0a,
0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68,
0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6c, 0x6f,
0x73, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x75, 0x74, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x64, 0x6f,
0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65,
0x2e, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x70, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12,
0x46, 0x0a, 0x08, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x67,
0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68,
0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e,
0x6f, 0x64, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x64, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61,
0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f,
0x64, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x12, 0x49, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b,
0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e,
0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x52, 0x65,
0x61, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x4c,
0x0a, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x11, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43,
0x68, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x52, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x4f, 0x0a, 0x0b,
0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x12, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43,
0x68, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x49, 0x0a,
0x09, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2b, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64,
0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x75, 0x6e,
0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x6c,
0x69, 0x73, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x52, 0x0a, 0x0c, 0x70, 0x75, 0x74, 0x53,
0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74,
0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x50, 0x75, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69,
0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0c,
0x70, 0x75, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x52, 0x0a, 0x0c,
0x67, 0x65, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6d, 0x61,
0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x52, 0x0c, 0x67, 0x65, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65,
0x12, 0x73, 0x0a, 0x17, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x16, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x39, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d,
0x69, 0x74, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x17, 0x67, 0x65,
0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c,
0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64,
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x63,
0x6f, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xed, 0x0c, 0x0a, 0x1d, 0x43, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x34, 0x0a, 0x07, 0x63,
0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x68,
0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e,
0x6f, 0x64, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x63, 0x6d, 0x64, 0x54, 0x79, 0x70,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x12, 0x34, 0x0a, 0x06, 0x72,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x68, 0x61,
0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f,
0x64, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5c, 0x0a, 0x0f, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x05,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64,
0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x0d, 0x72, 0x65, 0x61,
0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x30, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64,
0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
0x72, 0x12, 0x5c, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61,
0x69, 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x64,
0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64,
0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0f,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12,
0x5c, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f,
0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0f, 0x64, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x56, 0x0a,
0x0d, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x09,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64,
0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e,
0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61,
0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
0x12, 0x47, 0x0a, 0x08, 0x70, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52,
0x08, 0x70, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x47, 0x0a, 0x08, 0x67, 0x65, 0x74,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61,
0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f,
0x64, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x67, 0x65, 0x74, 0x42, 0x6c, 0x6f,
0x63, 0x6b, 0x12, 0x50, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70,
0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4a, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70,
0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x12, 0x4d, 0x0a, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64,
0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x57, 0x72, 0x69, 0x74,
0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x52, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12,
0x4a, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x10, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x43, 0x68,
0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x50, 0x0a, 0x0b, 0x64,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2e, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64,
0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68,
0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x4a, 0x0a,
0x09, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2c, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64,
0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x75, 0x6e,
0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09,
0x6c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x53, 0x0a, 0x0c, 0x70, 0x75, 0x74,
0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x2f, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61,
0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x50, 0x75, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46,
0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x52, 0x0c, 0x70, 0x75, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x53,
0x0a, 0x0c, 0x67, 0x65, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x14,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64,
0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53,
0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0c, 0x67, 0x65, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46,
0x69, 0x6c, 0x65, 0x12, 0x74, 0x0a, 0x17, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x15,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64,
0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43,
0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e,
0x67, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x52, 0x17, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0xfb, 0x03, 0x0a, 0x12, 0x43, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18,
0x01, 0x20, 0x02, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
0x49, 0x44, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64,
0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24,
0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x55, 0x73, 0x65,
0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x55, 0x73,
0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63,
0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68,
0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6f, 0x6e,
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x53, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x04, 0x4f, 0x50, 0x45, 0x4e, 0x52, 0x05, 0x73, 0x74, 0x61,
0x74, 0x65, 0x12, 0x5c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54,
0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x64, 0x6f,
0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65,
0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x11,
0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
0x72, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65,
0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x45,
0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x02,
0x12, 0x10, 0x0a, 0x0c, 0x51, 0x55, 0x41, 0x53, 0x49, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44,
0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d,
0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x05, 0x12, 0x0b, 0x0a,
0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45,
0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x07, 0x22, 0xcb, 0x01, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x72, 0x32, 0x42, 0x43, 0x53, 0x49, 0x44, 0x4d, 0x61, 0x70, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x6c, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
0x32, 0x42, 0x43, 0x53, 0x49, 0x44, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x68,
0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e,
0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x32, 0x42, 0x43,
0x53, 0x49, 0x44, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x72, 0x32, 0x42, 0x43, 0x53, 0x49, 0x44, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x32, 0x42, 0x43, 0x53, 0x49,
0x44, 0x1a, 0x42, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x32, 0x42,
0x43, 0x53, 0x49, 0x44, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb7, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70,
0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4b,
0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
0x61, 0x12, 0x5c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x79,
0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f,
0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x11, 0x4b,
0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22,
0x1e, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0x1b, 0x0a, 0x19, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x1a,
0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x4e, 0x0a, 0x0d, 0x63, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x28, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0d, 0x63, 0x6f, 0x6e,
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x82, 0x01, 0x0a, 0x1b, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68,
0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e,
0x6f, 0x64, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c,
0x73, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22,
0x1e, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0x46, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x27,
0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x63,
0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x43,
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x6c, 0x0a, 0x1a, 0x4c, 0x69,
0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x4e, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x28, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61,
0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61,
0x69, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x6c, 0x6f, 0x73,
0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x1b, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43,
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e,
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x22, 0xeb, 0x01, 0x0a, 0x09,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x07, 0x62, 0x6c, 0x6f,
0x63, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x64,
0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64,
0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49,
0x44, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c,
0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73,
0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x06,
0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68,
0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e,
0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63,
0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x67, 0x0a, 0x14, 0x50, 0x75, 0x74,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x3d, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01,
0x20, 0x02, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64,
0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61,
0x12, 0x10, 0x0a, 0x03, 0x65, 0x6f, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x65,
0x6f, 0x66, 0x22, 0x87, 0x01, 0x0a, 0x15, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x6e, 0x0a, 0x14,
0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65,
0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x68, 0x61, 0x64,
0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64,
0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65,
0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x57, 0x0a, 0x14,
0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3f, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x18,
0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68,
0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x61, 0x74,
0x61, 0x6e, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x62, 0x6c,
0x6f, 0x63, 0x6b, 0x49, 0x44, 0x22, 0x56, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63,
0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3d,
0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x02, 0x28,
0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61,
0x74, 0x61, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x22, 0x5a, 0x0a,
0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3f, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63,
0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x64, 0x6f,
0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65,
0x2e, 0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44,
0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x22, 0x66, 0x0a, 0x23, 0x47, 0x65, 0x74,
0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65,
0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x3f, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28,
0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64,
0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49,
0x44, 0x22, 0x89, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74,
0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3f, 0x0a, 0x07, 0x62, 0x6c,
0x6f, 0x63, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61,
0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f,
0x64, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
0x49, 0x44, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x62,
0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x02, 0x28, 0x03,
0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x1a, 0x0a,
0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x15, 0x4c, 0x69, 0x73,
0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c,
0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4c,
0x6f, 0x63, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x03, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x57, 0x0a, 0x16,
0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3d, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x44,
0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x64, 0x6f,
0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65,
0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63,
0x6b, 0x44, 0x61, 0x74, 0x61, 0x22, 0xd7, 0x01, 0x0a, 0x09, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x49,
0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65,
0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x02, 0x28,
0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x65, 0x6e,
0x18, 0x03, 0x20, 0x02, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x12, 0x3a, 0x0a, 0x08, 0x6d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61,
0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b,
0x73, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x22, 0x2e,
0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61,
0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x44, 0x61, 0x74,
0x61, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x22,
0x90, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x44, 0x61, 0x74, 0x61,
0x12, 0x36, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x22,
0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74,
0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x54, 0x79,
0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x79, 0x74, 0x65,
0x73, 0x50, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x02,
0x28, 0x0d, 0x52, 0x10, 0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
0x6d, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x16, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e,
0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3f, 0x0a,
0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x25,
0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74,
0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x42, 0x6c,
0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x3d,
0x0a, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x02, 0x28,
0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a,
0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74,
0x61, 0x22, 0x19, 0x0a, 0x17, 0x57, 0x72, 0x69, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a,
0x15, 0x52, 0x65, 0x61, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3f, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49,
0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70,
0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44,
0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52, 0x07,
0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b,
0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x64,
0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64,
0x65, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x63, 0x68, 0x75,
0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x22, 0xac, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x61, 0x64, 0x43,
0x68, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x3f, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02,
0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f,
0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b,
0x49, 0x44, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18,
0x02, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68,
0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x75,
0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74,
0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x52,
0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x99, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x3f, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02,
0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73,
0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f,
0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b,
0x49, 0x44, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18,
0x02, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68,
0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x75,
0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74,
0x61, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01,
0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3f, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b,
0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f,
0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e,
0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52,
0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76,
0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52,
0x0d, 0x70, 0x72, 0x65, 0x76, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x05, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x22, 0x57, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x75, 0x6e,
0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3d,
0x0a, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1f, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e,
0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x22, 0xaf, 0x01,
0x0a, 0x18, 0x50, 0x75, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x6c,
0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x64, 0x6f,
0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65,
0x2e, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3d, 0x0a, 0x09,
0x63, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0b, 0x32,
0x1f, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61,
0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f,
0x52, 0x09, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x64,
0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22,
0x8b, 0x01, 0x0a, 0x19, 0x50, 0x75, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x6e, 0x0a,
0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c,
0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x68, 0x61,
0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f,
0x64, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x42,
0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74,
0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x5c, 0x0a,
0x18, 0x47, 0x65, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x40, 0x0a, 0x05, 0x62, 0x6c, 0x6f,
0x63, 0x6b, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f,
0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e,
0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x5d, 0x0a, 0x19, 0x47,
0x65, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x40, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e,
0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x52, 0x65,
0x61, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6f, 0x0a, 0x19, 0x43, 0x6f,
0x70, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61,
0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61,
0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x02, 0x28, 0x04, 0x52, 0x0a, 0x72,
0x65, 0x61, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x65, 0x6e,
0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x22, 0xb2, 0x01, 0x0a, 0x1a,
0x43, 0x6f, 0x70, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x03, 0x52,
0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a,
0x72, 0x65, 0x61, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x02, 0x28, 0x04,
0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03,
0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x02, 0x28, 0x04, 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x12, 0x10,
0x0a, 0x03, 0x65, 0x6f, 0x66, 0x18, 0x04, 0x20, 0x02, 0x28, 0x08, 0x52, 0x03, 0x65, 0x6f, 0x66,
0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x04,
0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
0x2a, 0xcd, 0x02, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x10, 0x01, 0x12, 0x11,
0x0a, 0x0d, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x10,
0x02, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61,
0x69, 0x6e, 0x65, 0x72, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x4c,
0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x10, 0x05, 0x12, 0x0c,
0x0a, 0x08, 0x50, 0x75, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08,
0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x4c,
0x69, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x65,
0x61, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x72,
0x69, 0x74, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x10, 0x0c, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x69,
0x73, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x10, 0x0d, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x6f, 0x6d,
0x70, 0x61, 0x63, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x50,
0x75, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x0f, 0x12, 0x10, 0x0a,
0x0c, 0x47, 0x65, 0x74, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x10, 0x12,
0x12, 0x0a, 0x0e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
0x72, 0x10, 0x11, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
0x74, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x10, 0x12,
0x2a, 0x9d, 0x08, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53,
0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x53, 0x55,
0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10,
0x02, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x41, 0x4c, 0x46, 0x4f, 0x52, 0x4d, 0x45, 0x44, 0x5f, 0x52,
0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x4e, 0x54,
0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45,
0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49,
0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e,
0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f,
0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x54, 0x41,
0x49, 0x4e, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x07, 0x12, 0x15, 0x0a,
0x11, 0x4e, 0x4f, 0x5f, 0x53, 0x55, 0x43, 0x48, 0x5f, 0x41, 0x4c, 0x47, 0x4f, 0x52, 0x49, 0x54,
0x48, 0x4d, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45,
0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x09, 0x12, 0x10, 0x0a,
0x0c, 0x49, 0x4f, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x12,
0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41,
0x44, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x44, 0x42, 0x10, 0x0b, 0x12,
0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x5f, 0x53, 0x55, 0x43, 0x48, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b,
0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f,
0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x0d, 0x12,
0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x46, 0x49, 0x4e,
0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x44, 0x49, 0x52, 0x10, 0x0e, 0x12, 0x16, 0x0a, 0x12,
0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x49,
0x5a, 0x45, 0x10, 0x0f, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x53, 0x55, 0x4d,
0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x10, 0x12, 0x18, 0x0a, 0x14, 0x55,
0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x46, 0x49, 0x4e, 0x44, 0x5f, 0x43, 0x48,
0x55, 0x4e, 0x4b, 0x10, 0x11, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x5f,
0x44, 0x45, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x12,
0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55,
0x4d, 0x45, 0x4e, 0x54, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x4d,
0x41, 0x4c, 0x4c, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x14,
0x12, 0x18, 0x0a, 0x14, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x5f, 0x46, 0x49,
0x4c, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x15, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4c,
0x4f, 0x53, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x49,
0x4f, 0x10, 0x16, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x5f,
0x43, 0x4f, 0x4d, 0x50, 0x41, 0x43, 0x54, 0x5f, 0x44, 0x42, 0x10, 0x18, 0x12, 0x19, 0x0a, 0x15,
0x55, 0x4e, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e,
0x45, 0x52, 0x5f, 0x49, 0x4f, 0x10, 0x19, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x45, 0x4c, 0x45, 0x54,
0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49,
0x4e, 0x45, 0x52, 0x10, 0x1a, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x5f,
0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x59, 0x10,
0x1b, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x4f, 0x4e,
0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x1c, 0x12, 0x15,
0x0a, 0x11, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x50,
0x41, 0x43, 0x45, 0x10, 0x1d, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e,
0x45, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54,
0x53, 0x10, 0x1e, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52,
0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
0x1f, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x46,
0x49, 0x4c, 0x45, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f,
0x52, 0x10, 0x20, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52,
0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x53, 0x55, 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
0x21, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x43, 0x4f, 0x4e,
0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x22, 0x12, 0x17, 0x0a,
0x13, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49,
0x54, 0x54, 0x45, 0x44, 0x10, 0x23, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49,
0x4e, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x24, 0x12,
0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x42, 0x43, 0x53, 0x49, 0x44,
0x10, 0x25, 0x12, 0x12, 0x0a, 0x0e, 0x42, 0x43, 0x53, 0x49, 0x44, 0x5f, 0x4d, 0x49, 0x53, 0x4d,
0x41, 0x54, 0x43, 0x48, 0x10, 0x26, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49,
0x4e, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x27, 0x12, 0x15,
0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x53, 0x53,
0x49, 0x4e, 0x47, 0x10, 0x28, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54,
0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f,
0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x29, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x52,
0x52, 0x4f, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x44, 0x42, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x2a,
0x2a, 0x26, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x79, 0x70,
0x65, 0x12, 0x15, 0x0a, 0x11, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e,
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x10, 0x01, 0x2a, 0x44, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63,
0x6b, 0x73, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45,
0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x52, 0x43, 0x33, 0x32, 0x10, 0x02, 0x12, 0x0a, 0x0a,
0x06, 0x43, 0x52, 0x43, 0x33, 0x32, 0x43, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x48, 0x41,
0x32, 0x35, 0x36, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x44, 0x35, 0x10, 0x05, 0x32, 0x95,
0x01, 0x0a, 0x1c, 0x58, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
0x75, 0x0a, 0x04, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x32, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70,
0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43,
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x2e, 0x68, 0x61,
0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f,
0x64, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d,
0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x32, 0x8f, 0x01, 0x0a, 0x1c, 0x49, 0x6e, 0x74, 0x72, 0x61,
0x44, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
0x6f, 0x61, 0x64, 0x12, 0x2f, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64, 0x64,
0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x43,
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64,
0x64, 0x73, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x43, 0x6f, 0x70, 0x79,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x30, 0x01, 0x42, 0x73, 0x0a, 0x2e, 0x6f, 0x72, 0x67, 0x2e,
0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x68, 0x61, 0x64, 0x6f, 0x6f, 0x70, 0x2e, 0x68, 0x64,
0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x64, 0x61, 0x74, 0x61,
0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x0f, 0x43, 0x6f, 0x6e, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x2d, 0x67, 0x69, 0x74,
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x6f,
0x7a, 0x6f, 0x6e, 0x65, 0x2d, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x64, 0x65, 0xa0, 0x01, 0x01,
}
var (
file_DatanodeClientProtocol_proto_rawDescOnce sync.Once
file_DatanodeClientProtocol_proto_rawDescData = file_DatanodeClientProtocol_proto_rawDesc
)
func file_DatanodeClientProtocol_proto_rawDescGZIP() []byte {
file_DatanodeClientProtocol_proto_rawDescOnce.Do(func() {
file_DatanodeClientProtocol_proto_rawDescData = protoimpl.X.CompressGZIP(file_DatanodeClientProtocol_proto_rawDescData)
})
return file_DatanodeClientProtocol_proto_rawDescData
}
var file_DatanodeClientProtocol_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
var file_DatanodeClientProtocol_proto_msgTypes = make([]protoimpl.MessageInfo, 46)
var file_DatanodeClientProtocol_proto_goTypes = []interface{}{
(Type)(0), // 0: hadoop.hdds.datanode.Type
(Result)(0), // 1: hadoop.hdds.datanode.Result
(ContainerType)(0), // 2: hadoop.hdds.datanode.ContainerType
(ChecksumType)(0), // 3: hadoop.hdds.datanode.ChecksumType
(ContainerDataProto_State)(0), // 4: hadoop.hdds.datanode.ContainerDataProto.State
(*DatanodeBlockID)(nil), // 5: hadoop.hdds.datanode.DatanodeBlockID
(*KeyValue)(nil), // 6: hadoop.hdds.datanode.KeyValue
(*ContainerCommandRequestProto)(nil), // 7: hadoop.hdds.datanode.ContainerCommandRequestProto
(*ContainerCommandResponseProto)(nil), // 8: hadoop.hdds.datanode.ContainerCommandResponseProto
(*ContainerDataProto)(nil), // 9: hadoop.hdds.datanode.ContainerDataProto
(*Container2BCSIDMapProto)(nil), // 10: hadoop.hdds.datanode.Container2BCSIDMapProto
(*CreateContainerRequestProto)(nil), // 11: hadoop.hdds.datanode.CreateContainerRequestProto
(*CreateContainerResponseProto)(nil), // 12: hadoop.hdds.datanode.CreateContainerResponseProto
(*ReadContainerRequestProto)(nil), // 13: hadoop.hdds.datanode.ReadContainerRequestProto
(*ReadContainerResponseProto)(nil), // 14: hadoop.hdds.datanode.ReadContainerResponseProto
(*UpdateContainerRequestProto)(nil), // 15: hadoop.hdds.datanode.UpdateContainerRequestProto
(*UpdateContainerResponseProto)(nil), // 16: hadoop.hdds.datanode.UpdateContainerResponseProto
(*DeleteContainerRequestProto)(nil), // 17: hadoop.hdds.datanode.DeleteContainerRequestProto
(*DeleteContainerResponseProto)(nil), // 18: hadoop.hdds.datanode.DeleteContainerResponseProto
(*ListContainerRequestProto)(nil), // 19: hadoop.hdds.datanode.ListContainerRequestProto
(*ListContainerResponseProto)(nil), // 20: hadoop.hdds.datanode.ListContainerResponseProto
(*CloseContainerRequestProto)(nil), // 21: hadoop.hdds.datanode.CloseContainerRequestProto
(*CloseContainerResponseProto)(nil), // 22: hadoop.hdds.datanode.CloseContainerResponseProto
(*BlockData)(nil), // 23: hadoop.hdds.datanode.BlockData
(*PutBlockRequestProto)(nil), // 24: hadoop.hdds.datanode.PutBlockRequestProto
(*PutBlockResponseProto)(nil), // 25: hadoop.hdds.datanode.PutBlockResponseProto
(*GetBlockRequestProto)(nil), // 26: hadoop.hdds.datanode.GetBlockRequestProto
(*GetBlockResponseProto)(nil), // 27: hadoop.hdds.datanode.GetBlockResponseProto
(*DeleteBlockRequestProto)(nil), // 28: hadoop.hdds.datanode.DeleteBlockRequestProto
(*GetCommittedBlockLengthRequestProto)(nil), // 29: hadoop.hdds.datanode.GetCommittedBlockLengthRequestProto
(*GetCommittedBlockLengthResponseProto)(nil), // 30: hadoop.hdds.datanode.GetCommittedBlockLengthResponseProto
(*DeleteBlockResponseProto)(nil), // 31: hadoop.hdds.datanode.DeleteBlockResponseProto
(*ListBlockRequestProto)(nil), // 32: hadoop.hdds.datanode.ListBlockRequestProto
(*ListBlockResponseProto)(nil), // 33: hadoop.hdds.datanode.ListBlockResponseProto
(*ChunkInfo)(nil), // 34: hadoop.hdds.datanode.ChunkInfo
(*ChecksumData)(nil), // 35: hadoop.hdds.datanode.ChecksumData
(*WriteChunkRequestProto)(nil), // 36: hadoop.hdds.datanode.WriteChunkRequestProto
(*WriteChunkResponseProto)(nil), // 37: hadoop.hdds.datanode.WriteChunkResponseProto
(*ReadChunkRequestProto)(nil), // 38: hadoop.hdds.datanode.ReadChunkRequestProto
(*ReadChunkResponseProto)(nil), // 39: hadoop.hdds.datanode.ReadChunkResponseProto
(*DeleteChunkRequestProto)(nil), // 40: hadoop.hdds.datanode.DeleteChunkRequestProto
(*DeleteChunkResponseProto)(nil), // 41: hadoop.hdds.datanode.DeleteChunkResponseProto
(*ListChunkRequestProto)(nil), // 42: hadoop.hdds.datanode.ListChunkRequestProto
(*ListChunkResponseProto)(nil), // 43: hadoop.hdds.datanode.ListChunkResponseProto
(*PutSmallFileRequestProto)(nil), // 44: hadoop.hdds.datanode.PutSmallFileRequestProto
(*PutSmallFileResponseProto)(nil), // 45: hadoop.hdds.datanode.PutSmallFileResponseProto
(*GetSmallFileRequestProto)(nil), // 46: hadoop.hdds.datanode.GetSmallFileRequestProto
(*GetSmallFileResponseProto)(nil), // 47: hadoop.hdds.datanode.GetSmallFileResponseProto
(*CopyContainerRequestProto)(nil), // 48: hadoop.hdds.datanode.CopyContainerRequestProto
(*CopyContainerResponseProto)(nil), // 49: hadoop.hdds.datanode.CopyContainerResponseProto
nil, // 50: hadoop.hdds.datanode.Container2BCSIDMapProto.Container2BCSIDEntry
}
var file_DatanodeClientProtocol_proto_depIdxs = []int32{
0, // 0: hadoop.hdds.datanode.ContainerCommandRequestProto.cmdType:type_name -> hadoop.hdds.datanode.Type
11, // 1: hadoop.hdds.datanode.ContainerCommandRequestProto.createContainer:type_name -> hadoop.hdds.datanode.CreateContainerRequestProto
13, // 2: hadoop.hdds.datanode.ContainerCommandRequestProto.readContainer:type_name -> hadoop.hdds.datanode.ReadContainerRequestProto
15, // 3: hadoop.hdds.datanode.ContainerCommandRequestProto.updateContainer:type_name -> hadoop.hdds.datanode.UpdateContainerRequestProto
17, // 4: hadoop.hdds.datanode.ContainerCommandRequestProto.deleteContainer:type_name -> hadoop.hdds.datanode.DeleteContainerRequestProto
19, // 5: hadoop.hdds.datanode.ContainerCommandRequestProto.listContainer:type_name -> hadoop.hdds.datanode.ListContainerRequestProto
21, // 6: hadoop.hdds.datanode.ContainerCommandRequestProto.closeContainer:type_name -> hadoop.hdds.datanode.CloseContainerRequestProto
24, // 7: hadoop.hdds.datanode.ContainerCommandRequestProto.putBlock:type_name -> hadoop.hdds.datanode.PutBlockRequestProto
26, // 8: hadoop.hdds.datanode.ContainerCommandRequestProto.getBlock:type_name -> hadoop.hdds.datanode.GetBlockRequestProto
28, // 9: hadoop.hdds.datanode.ContainerCommandRequestProto.deleteBlock:type_name -> hadoop.hdds.datanode.DeleteBlockRequestProto
32, // 10: hadoop.hdds.datanode.ContainerCommandRequestProto.listBlock:type_name -> hadoop.hdds.datanode.ListBlockRequestProto
38, // 11: hadoop.hdds.datanode.ContainerCommandRequestProto.readChunk:type_name -> hadoop.hdds.datanode.ReadChunkRequestProto
36, // 12: hadoop.hdds.datanode.ContainerCommandRequestProto.writeChunk:type_name -> hadoop.hdds.datanode.WriteChunkRequestProto
40, // 13: hadoop.hdds.datanode.ContainerCommandRequestProto.deleteChunk:type_name -> hadoop.hdds.datanode.DeleteChunkRequestProto
42, // 14: hadoop.hdds.datanode.ContainerCommandRequestProto.listChunk:type_name -> hadoop.hdds.datanode.ListChunkRequestProto
44, // 15: hadoop.hdds.datanode.ContainerCommandRequestProto.putSmallFile:type_name -> hadoop.hdds.datanode.PutSmallFileRequestProto
46, // 16: hadoop.hdds.datanode.ContainerCommandRequestProto.getSmallFile:type_name -> hadoop.hdds.datanode.GetSmallFileRequestProto
29, // 17: hadoop.hdds.datanode.ContainerCommandRequestProto.getCommittedBlockLength:type_name -> hadoop.hdds.datanode.GetCommittedBlockLengthRequestProto
0, // 18: hadoop.hdds.datanode.ContainerCommandResponseProto.cmdType:type_name -> hadoop.hdds.datanode.Type
1, // 19: hadoop.hdds.datanode.ContainerCommandResponseProto.result:type_name -> hadoop.hdds.datanode.Result
12, // 20: hadoop.hdds.datanode.ContainerCommandResponseProto.createContainer:type_name -> hadoop.hdds.datanode.CreateContainerResponseProto
14, // 21: hadoop.hdds.datanode.ContainerCommandResponseProto.readContainer:type_name -> hadoop.hdds.datanode.ReadContainerResponseProto
16, // 22: hadoop.hdds.datanode.ContainerCommandResponseProto.updateContainer:type_name -> hadoop.hdds.datanode.UpdateContainerResponseProto
18, // 23: hadoop.hdds.datanode.ContainerCommandResponseProto.deleteContainer:type_name -> hadoop.hdds.datanode.DeleteContainerResponseProto
20, // 24: hadoop.hdds.datanode.ContainerCommandResponseProto.listContainer:type_name -> hadoop.hdds.datanode.ListContainerResponseProto
22, // 25: hadoop.hdds.datanode.ContainerCommandResponseProto.closeContainer:type_name -> hadoop.hdds.datanode.CloseContainerResponseProto
25, // 26: hadoop.hdds.datanode.ContainerCommandResponseProto.putBlock:type_name -> hadoop.hdds.datanode.PutBlockResponseProto
27, // 27: hadoop.hdds.datanode.ContainerCommandResponseProto.getBlock:type_name -> hadoop.hdds.datanode.GetBlockResponseProto
31, // 28: hadoop.hdds.datanode.ContainerCommandResponseProto.deleteBlock:type_name -> hadoop.hdds.datanode.DeleteBlockResponseProto
33, // 29: hadoop.hdds.datanode.ContainerCommandResponseProto.listBlock:type_name -> hadoop.hdds.datanode.ListBlockResponseProto
37, // 30: hadoop.hdds.datanode.ContainerCommandResponseProto.writeChunk:type_name -> hadoop.hdds.datanode.WriteChunkResponseProto
39, // 31: hadoop.hdds.datanode.ContainerCommandResponseProto.readChunk:type_name -> hadoop.hdds.datanode.ReadChunkResponseProto
41, // 32: hadoop.hdds.datanode.ContainerCommandResponseProto.deleteChunk:type_name -> hadoop.hdds.datanode.DeleteChunkResponseProto
43, // 33: hadoop.hdds.datanode.ContainerCommandResponseProto.listChunk:type_name -> hadoop.hdds.datanode.ListChunkResponseProto
45, // 34: hadoop.hdds.datanode.ContainerCommandResponseProto.putSmallFile:type_name -> hadoop.hdds.datanode.PutSmallFileResponseProto
47, // 35: hadoop.hdds.datanode.ContainerCommandResponseProto.getSmallFile:type_name -> hadoop.hdds.datanode.GetSmallFileResponseProto
30, // 36: hadoop.hdds.datanode.ContainerCommandResponseProto.getCommittedBlockLength:type_name -> hadoop.hdds.datanode.GetCommittedBlockLengthResponseProto
6, // 37: hadoop.hdds.datanode.ContainerDataProto.metadata:type_name -> hadoop.hdds.datanode.KeyValue
4, // 38: hadoop.hdds.datanode.ContainerDataProto.state:type_name -> hadoop.hdds.datanode.ContainerDataProto.State
2, // 39: hadoop.hdds.datanode.ContainerDataProto.containerType:type_name -> hadoop.hdds.datanode.ContainerType
50, // 40: hadoop.hdds.datanode.Container2BCSIDMapProto.container2BCSID:type_name -> hadoop.hdds.datanode.Container2BCSIDMapProto.Container2BCSIDEntry
6, // 41: hadoop.hdds.datanode.CreateContainerRequestProto.metadata:type_name -> hadoop.hdds.datanode.KeyValue
2, // 42: hadoop.hdds.datanode.CreateContainerRequestProto.containerType:type_name -> hadoop.hdds.datanode.ContainerType
9, // 43: hadoop.hdds.datanode.ReadContainerResponseProto.containerData:type_name -> hadoop.hdds.datanode.ContainerDataProto
6, // 44: hadoop.hdds.datanode.UpdateContainerRequestProto.metadata:type_name -> hadoop.hdds.datanode.KeyValue
9, // 45: hadoop.hdds.datanode.ListContainerResponseProto.containerData:type_name -> hadoop.hdds.datanode.ContainerDataProto
5, // 46: hadoop.hdds.datanode.BlockData.blockID:type_name -> hadoop.hdds.datanode.DatanodeBlockID
6, // 47: hadoop.hdds.datanode.BlockData.metadata:type_name -> hadoop.hdds.datanode.KeyValue
34, // 48: hadoop.hdds.datanode.BlockData.chunks:type_name -> hadoop.hdds.datanode.ChunkInfo
23, // 49: hadoop.hdds.datanode.PutBlockRequestProto.blockData:type_name -> hadoop.hdds.datanode.BlockData
30, // 50: hadoop.hdds.datanode.PutBlockResponseProto.committedBlockLength:type_name -> hadoop.hdds.datanode.GetCommittedBlockLengthResponseProto
5, // 51: hadoop.hdds.datanode.GetBlockRequestProto.blockID:type_name -> hadoop.hdds.datanode.DatanodeBlockID
23, // 52: hadoop.hdds.datanode.GetBlockResponseProto.blockData:type_name -> hadoop.hdds.datanode.BlockData
5, // 53: hadoop.hdds.datanode.DeleteBlockRequestProto.blockID:type_name -> hadoop.hdds.datanode.DatanodeBlockID
5, // 54: hadoop.hdds.datanode.GetCommittedBlockLengthRequestProto.blockID:type_name -> hadoop.hdds.datanode.DatanodeBlockID
5, // 55: hadoop.hdds.datanode.GetCommittedBlockLengthResponseProto.blockID:type_name -> hadoop.hdds.datanode.DatanodeBlockID
23, // 56: hadoop.hdds.datanode.ListBlockResponseProto.blockData:type_name -> hadoop.hdds.datanode.BlockData
6, // 57: hadoop.hdds.datanode.ChunkInfo.metadata:type_name -> hadoop.hdds.datanode.KeyValue
35, // 58: hadoop.hdds.datanode.ChunkInfo.checksumData:type_name -> hadoop.hdds.datanode.ChecksumData
3, // 59: hadoop.hdds.datanode.ChecksumData.type:type_name -> hadoop.hdds.datanode.ChecksumType
5, // 60: hadoop.hdds.datanode.WriteChunkRequestProto.blockID:type_name -> hadoop.hdds.datanode.DatanodeBlockID
34, // 61: hadoop.hdds.datanode.WriteChunkRequestProto.chunkData:type_name -> hadoop.hdds.datanode.ChunkInfo
5, // 62: hadoop.hdds.datanode.ReadChunkRequestProto.blockID:type_name -> hadoop.hdds.datanode.DatanodeBlockID
34, // 63: hadoop.hdds.datanode.ReadChunkRequestProto.chunkData:type_name -> hadoop.hdds.datanode.ChunkInfo
5, // 64: hadoop.hdds.datanode.ReadChunkResponseProto.blockID:type_name -> hadoop.hdds.datanode.DatanodeBlockID
34, // 65: hadoop.hdds.datanode.ReadChunkResponseProto.chunkData:type_name -> hadoop.hdds.datanode.ChunkInfo
5, // 66: hadoop.hdds.datanode.DeleteChunkRequestProto.blockID:type_name -> hadoop.hdds.datanode.DatanodeBlockID
34, // 67: hadoop.hdds.datanode.DeleteChunkRequestProto.chunkData:type_name -> hadoop.hdds.datanode.ChunkInfo
5, // 68: hadoop.hdds.datanode.ListChunkRequestProto.blockID:type_name -> hadoop.hdds.datanode.DatanodeBlockID
34, // 69: hadoop.hdds.datanode.ListChunkResponseProto.chunkData:type_name -> hadoop.hdds.datanode.ChunkInfo
24, // 70: hadoop.hdds.datanode.PutSmallFileRequestProto.block:type_name -> hadoop.hdds.datanode.PutBlockRequestProto
34, // 71: hadoop.hdds.datanode.PutSmallFileRequestProto.chunkInfo:type_name -> hadoop.hdds.datanode.ChunkInfo
30, // 72: hadoop.hdds.datanode.PutSmallFileResponseProto.committedBlockLength:type_name -> hadoop.hdds.datanode.GetCommittedBlockLengthResponseProto
26, // 73: hadoop.hdds.datanode.GetSmallFileRequestProto.block:type_name -> hadoop.hdds.datanode.GetBlockRequestProto
39, // 74: hadoop.hdds.datanode.GetSmallFileResponseProto.data:type_name -> hadoop.hdds.datanode.ReadChunkResponseProto
7, // 75: hadoop.hdds.datanode.XceiverClientProtocolService.send:input_type -> hadoop.hdds.datanode.ContainerCommandRequestProto
48, // 76: hadoop.hdds.datanode.IntraDatanodeProtocolService.download:input_type -> hadoop.hdds.datanode.CopyContainerRequestProto
8, // 77: hadoop.hdds.datanode.XceiverClientProtocolService.send:output_type -> hadoop.hdds.datanode.ContainerCommandResponseProto
49, // 78: hadoop.hdds.datanode.IntraDatanodeProtocolService.download:output_type -> hadoop.hdds.datanode.CopyContainerResponseProto
77, // [77:79] is the sub-list for method output_type
75, // [75:77] is the sub-list for method input_type
75, // [75:75] is the sub-list for extension type_name
75, // [75:75] is the sub-list for extension extendee
0, // [0:75] is the sub-list for field type_name
}
func init() { file_DatanodeClientProtocol_proto_init() }
func file_DatanodeClientProtocol_proto_init() {
if File_DatanodeClientProtocol_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_DatanodeClientProtocol_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DatanodeBlockID); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*KeyValue); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ContainerCommandRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ContainerCommandResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ContainerDataProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Container2BCSIDMapProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateContainerRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateContainerResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReadContainerRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReadContainerResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateContainerRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateContainerResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteContainerRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteContainerResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListContainerRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListContainerResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CloseContainerRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CloseContainerResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BlockData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PutBlockRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PutBlockResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlockRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBlockResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteBlockRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetCommittedBlockLengthRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetCommittedBlockLengthResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteBlockResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListBlockRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListBlockResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChunkInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChecksumData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WriteChunkRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WriteChunkResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReadChunkRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReadChunkResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteChunkRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteChunkResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListChunkRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListChunkResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PutSmallFileRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PutSmallFileResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSmallFileRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetSmallFileResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CopyContainerRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_DatanodeClientProtocol_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CopyContainerResponseProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_DatanodeClientProtocol_proto_rawDesc,
NumEnums: 5,
NumMessages: 46,
NumExtensions: 0,
NumServices: 2,
},
GoTypes: file_DatanodeClientProtocol_proto_goTypes,
DependencyIndexes: file_DatanodeClientProtocol_proto_depIdxs,
EnumInfos: file_DatanodeClientProtocol_proto_enumTypes,
MessageInfos: file_DatanodeClientProtocol_proto_msgTypes,
}.Build()
File_DatanodeClientProtocol_proto = out.File
file_DatanodeClientProtocol_proto_rawDesc = nil
file_DatanodeClientProtocol_proto_goTypes = nil
file_DatanodeClientProtocol_proto_depIdxs = nil
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6
// XceiverClientProtocolServiceClient is the client API for XceiverClientProtocolService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type XceiverClientProtocolServiceClient interface {
// A client-to-datanode RPC to send container commands
Send(ctx context.Context, opts ...grpc.CallOption) (XceiverClientProtocolService_SendClient, error)
}
type xceiverClientProtocolServiceClient struct {
cc grpc.ClientConnInterface
}
func NewXceiverClientProtocolServiceClient(cc grpc.ClientConnInterface) XceiverClientProtocolServiceClient {
return &xceiverClientProtocolServiceClient{cc}
}
func (c *xceiverClientProtocolServiceClient) Send(ctx context.Context, opts ...grpc.CallOption) (XceiverClientProtocolService_SendClient, error) {
stream, err := c.cc.NewStream(ctx, &_XceiverClientProtocolService_serviceDesc.Streams[0], "/hadoop.hdds.datanode.XceiverClientProtocolService/send", opts...)
if err != nil {
return nil, err
}
x := &xceiverClientProtocolServiceSendClient{stream}
return x, nil
}
type XceiverClientProtocolService_SendClient interface {
Send(*ContainerCommandRequestProto) error
Recv() (*ContainerCommandResponseProto, error)
grpc.ClientStream
}
type xceiverClientProtocolServiceSendClient struct {
grpc.ClientStream
}
func (x *xceiverClientProtocolServiceSendClient) Send(m *ContainerCommandRequestProto) error {
return x.ClientStream.SendMsg(m)
}
func (x *xceiverClientProtocolServiceSendClient) Recv() (*ContainerCommandResponseProto, error) {
m := new(ContainerCommandResponseProto)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// XceiverClientProtocolServiceServer is the server API for XceiverClientProtocolService service.
type XceiverClientProtocolServiceServer interface {
// A client-to-datanode RPC to send container commands
Send(XceiverClientProtocolService_SendServer) error
}
// UnimplementedXceiverClientProtocolServiceServer can be embedded to have forward compatible implementations.
type UnimplementedXceiverClientProtocolServiceServer struct {
}
func (*UnimplementedXceiverClientProtocolServiceServer) Send(XceiverClientProtocolService_SendServer) error {
return status.Errorf(codes.Unimplemented, "method Send not implemented")
}
func RegisterXceiverClientProtocolServiceServer(s *grpc.Server, srv XceiverClientProtocolServiceServer) {
s.RegisterService(&_XceiverClientProtocolService_serviceDesc, srv)
}
func _XceiverClientProtocolService_Send_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(XceiverClientProtocolServiceServer).Send(&xceiverClientProtocolServiceSendServer{stream})
}
type XceiverClientProtocolService_SendServer interface {
Send(*ContainerCommandResponseProto) error
Recv() (*ContainerCommandRequestProto, error)
grpc.ServerStream
}
type xceiverClientProtocolServiceSendServer struct {
grpc.ServerStream
}
func (x *xceiverClientProtocolServiceSendServer) Send(m *ContainerCommandResponseProto) error {
return x.ServerStream.SendMsg(m)
}
func (x *xceiverClientProtocolServiceSendServer) Recv() (*ContainerCommandRequestProto, error) {
m := new(ContainerCommandRequestProto)
if err := x.ServerStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
var _XceiverClientProtocolService_serviceDesc = grpc.ServiceDesc{
ServiceName: "hadoop.hdds.datanode.XceiverClientProtocolService",
HandlerType: (*XceiverClientProtocolServiceServer)(nil),
Methods: []grpc.MethodDesc{},
Streams: []grpc.StreamDesc{
{
StreamName: "send",
Handler: _XceiverClientProtocolService_Send_Handler,
ServerStreams: true,
ClientStreams: true,
},
},
Metadata: "DatanodeClientProtocol.proto",
}
// IntraDatanodeProtocolServiceClient is the client API for IntraDatanodeProtocolService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type IntraDatanodeProtocolServiceClient interface {
// An intradatanode service to copy the raw container data between nodes
Download(ctx context.Context, in *CopyContainerRequestProto, opts ...grpc.CallOption) (IntraDatanodeProtocolService_DownloadClient, error)
}
type intraDatanodeProtocolServiceClient struct {
cc grpc.ClientConnInterface
}
func NewIntraDatanodeProtocolServiceClient(cc grpc.ClientConnInterface) IntraDatanodeProtocolServiceClient {
return &intraDatanodeProtocolServiceClient{cc}
}
func (c *intraDatanodeProtocolServiceClient) Download(ctx context.Context, in *CopyContainerRequestProto, opts ...grpc.CallOption) (IntraDatanodeProtocolService_DownloadClient, error) {
stream, err := c.cc.NewStream(ctx, &_IntraDatanodeProtocolService_serviceDesc.Streams[0], "/hadoop.hdds.datanode.IntraDatanodeProtocolService/download", opts...)
if err != nil {
return nil, err
}
x := &intraDatanodeProtocolServiceDownloadClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type IntraDatanodeProtocolService_DownloadClient interface {
Recv() (*CopyContainerResponseProto, error)
grpc.ClientStream
}
type intraDatanodeProtocolServiceDownloadClient struct {
grpc.ClientStream
}
func (x *intraDatanodeProtocolServiceDownloadClient) Recv() (*CopyContainerResponseProto, error) {
m := new(CopyContainerResponseProto)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// IntraDatanodeProtocolServiceServer is the server API for IntraDatanodeProtocolService service.
type IntraDatanodeProtocolServiceServer interface {
// An intradatanode service to copy the raw container data between nodes
Download(*CopyContainerRequestProto, IntraDatanodeProtocolService_DownloadServer) error
}
// UnimplementedIntraDatanodeProtocolServiceServer can be embedded to have forward compatible implementations.
type UnimplementedIntraDatanodeProtocolServiceServer struct {
}
func (*UnimplementedIntraDatanodeProtocolServiceServer) Download(*CopyContainerRequestProto, IntraDatanodeProtocolService_DownloadServer) error {
return status.Errorf(codes.Unimplemented, "method Download not implemented")
}
func RegisterIntraDatanodeProtocolServiceServer(s *grpc.Server, srv IntraDatanodeProtocolServiceServer) {
s.RegisterService(&_IntraDatanodeProtocolService_serviceDesc, srv)
}
func _IntraDatanodeProtocolService_Download_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(CopyContainerRequestProto)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(IntraDatanodeProtocolServiceServer).Download(m, &intraDatanodeProtocolServiceDownloadServer{stream})
}
type IntraDatanodeProtocolService_DownloadServer interface {
Send(*CopyContainerResponseProto) error
grpc.ServerStream
}
type intraDatanodeProtocolServiceDownloadServer struct {
grpc.ServerStream
}
func (x *intraDatanodeProtocolServiceDownloadServer) Send(m *CopyContainerResponseProto) error {
return x.ServerStream.SendMsg(m)
}
var _IntraDatanodeProtocolService_serviceDesc = grpc.ServiceDesc{
ServiceName: "hadoop.hdds.datanode.IntraDatanodeProtocolService",
HandlerType: (*IntraDatanodeProtocolServiceServer)(nil),
Methods: []grpc.MethodDesc{},
Streams: []grpc.StreamDesc{
{
StreamName: "download",
Handler: _IntraDatanodeProtocolService_Download_Handler,
ServerStreams: true,
},
},
Metadata: "DatanodeClientProtocol.proto",
}