blob: feb0e06fbd145478aa72e9a9386c01f7ac5970ff [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.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.24.0
// protoc v3.15.6
// source: raft.proto
package ratis
import (
proto "github.com/golang/protobuf/proto"
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 InstallSnapshotResult int32
const (
InstallSnapshotResult_SUCCESS InstallSnapshotResult = 0
InstallSnapshotResult_NOT_LEADER InstallSnapshotResult = 1
InstallSnapshotResult_IN_PROGRESS InstallSnapshotResult = 2
InstallSnapshotResult_ALREADY_INSTALLED InstallSnapshotResult = 3
InstallSnapshotResult_CONF_MISMATCH InstallSnapshotResult = 4
)
// Enum value maps for InstallSnapshotResult.
var (
InstallSnapshotResult_name = map[int32]string{
0: "SUCCESS",
1: "NOT_LEADER",
2: "IN_PROGRESS",
3: "ALREADY_INSTALLED",
4: "CONF_MISMATCH",
}
InstallSnapshotResult_value = map[string]int32{
"SUCCESS": 0,
"NOT_LEADER": 1,
"IN_PROGRESS": 2,
"ALREADY_INSTALLED": 3,
"CONF_MISMATCH": 4,
}
)
func (x InstallSnapshotResult) Enum() *InstallSnapshotResult {
p := new(InstallSnapshotResult)
*p = x
return p
}
func (x InstallSnapshotResult) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (InstallSnapshotResult) Descriptor() protoreflect.EnumDescriptor {
return file_raft_proto_enumTypes[0].Descriptor()
}
func (InstallSnapshotResult) Type() protoreflect.EnumType {
return &file_raft_proto_enumTypes[0]
}
func (x InstallSnapshotResult) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use InstallSnapshotResult.Descriptor instead.
func (InstallSnapshotResult) EnumDescriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{0}
}
type ReplicationLevel int32
const (
//* Committed at the leader and replicated to the majority of peers.
ReplicationLevel_MAJORITY ReplicationLevel = 0
//* Committed at the leader and replicated to all peers.
//Note that ReplicationLevel.ALL implies ReplicationLevel.MAJORITY.
ReplicationLevel_ALL ReplicationLevel = 1
//* Committed at majority peers.
//Note that ReplicationLevel.MAJORITY_COMMITTED implies ReplicationLevel.MAJORITY.
ReplicationLevel_MAJORITY_COMMITTED ReplicationLevel = 2
//* Committed at all peers.
//Note that ReplicationLevel.ALL_COMMITTED implies ReplicationLevel.ALL
//and ReplicationLevel.MAJORITY_COMMITTED
ReplicationLevel_ALL_COMMITTED ReplicationLevel = 3
)
// Enum value maps for ReplicationLevel.
var (
ReplicationLevel_name = map[int32]string{
0: "MAJORITY",
1: "ALL",
2: "MAJORITY_COMMITTED",
3: "ALL_COMMITTED",
}
ReplicationLevel_value = map[string]int32{
"MAJORITY": 0,
"ALL": 1,
"MAJORITY_COMMITTED": 2,
"ALL_COMMITTED": 3,
}
)
func (x ReplicationLevel) Enum() *ReplicationLevel {
p := new(ReplicationLevel)
*p = x
return p
}
func (x ReplicationLevel) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ReplicationLevel) Descriptor() protoreflect.EnumDescriptor {
return file_raft_proto_enumTypes[1].Descriptor()
}
func (ReplicationLevel) Type() protoreflect.EnumType {
return &file_raft_proto_enumTypes[1]
}
func (x ReplicationLevel) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ReplicationLevel.Descriptor instead.
func (ReplicationLevel) EnumDescriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{1}
}
//* Role of raft peer
type RaftPeerRole int32
const (
RaftPeerRole_LEADER RaftPeerRole = 0
RaftPeerRole_CANDIDATE RaftPeerRole = 1
RaftPeerRole_FOLLOWER RaftPeerRole = 2
)
// Enum value maps for RaftPeerRole.
var (
RaftPeerRole_name = map[int32]string{
0: "LEADER",
1: "CANDIDATE",
2: "FOLLOWER",
}
RaftPeerRole_value = map[string]int32{
"LEADER": 0,
"CANDIDATE": 1,
"FOLLOWER": 2,
}
)
func (x RaftPeerRole) Enum() *RaftPeerRole {
p := new(RaftPeerRole)
*p = x
return p
}
func (x RaftPeerRole) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RaftPeerRole) Descriptor() protoreflect.EnumDescriptor {
return file_raft_proto_enumTypes[2].Descriptor()
}
func (RaftPeerRole) Type() protoreflect.EnumType {
return &file_raft_proto_enumTypes[2]
}
func (x RaftPeerRole) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RaftPeerRole.Descriptor instead.
func (RaftPeerRole) EnumDescriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{2}
}
type AppendEntriesReplyProto_AppendResult int32
const (
AppendEntriesReplyProto_SUCCESS AppendEntriesReplyProto_AppendResult = 0
AppendEntriesReplyProto_NOT_LEADER AppendEntriesReplyProto_AppendResult = 1 // the requester's term is not large enough
AppendEntriesReplyProto_INCONSISTENCY AppendEntriesReplyProto_AppendResult = 2 // gap between the local log and the entries or snapshot installation in progress or
)
// Enum value maps for AppendEntriesReplyProto_AppendResult.
var (
AppendEntriesReplyProto_AppendResult_name = map[int32]string{
0: "SUCCESS",
1: "NOT_LEADER",
2: "INCONSISTENCY",
}
AppendEntriesReplyProto_AppendResult_value = map[string]int32{
"SUCCESS": 0,
"NOT_LEADER": 1,
"INCONSISTENCY": 2,
}
)
func (x AppendEntriesReplyProto_AppendResult) Enum() *AppendEntriesReplyProto_AppendResult {
p := new(AppendEntriesReplyProto_AppendResult)
*p = x
return p
}
func (x AppendEntriesReplyProto_AppendResult) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AppendEntriesReplyProto_AppendResult) Descriptor() protoreflect.EnumDescriptor {
return file_raft_proto_enumTypes[3].Descriptor()
}
func (AppendEntriesReplyProto_AppendResult) Type() protoreflect.EnumType {
return &file_raft_proto_enumTypes[3]
}
func (x AppendEntriesReplyProto_AppendResult) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AppendEntriesReplyProto_AppendResult.Descriptor instead.
func (AppendEntriesReplyProto_AppendResult) EnumDescriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{18, 0}
}
type RaftPeerProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // id of the peer
Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` // e.g. IP address, hostname etc.
}
func (x *RaftPeerProto) Reset() {
*x = RaftPeerProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RaftPeerProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RaftPeerProto) ProtoMessage() {}
func (x *RaftPeerProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RaftPeerProto.ProtoReflect.Descriptor instead.
func (*RaftPeerProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{0}
}
func (x *RaftPeerProto) GetId() []byte {
if x != nil {
return x.Id
}
return nil
}
func (x *RaftPeerProto) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
type RaftGroupIdProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *RaftGroupIdProto) Reset() {
*x = RaftGroupIdProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RaftGroupIdProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RaftGroupIdProto) ProtoMessage() {}
func (x *RaftGroupIdProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RaftGroupIdProto.ProtoReflect.Descriptor instead.
func (*RaftGroupIdProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{1}
}
func (x *RaftGroupIdProto) GetId() []byte {
if x != nil {
return x.Id
}
return nil
}
type RaftGroupProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupId *RaftGroupIdProto `protobuf:"bytes,1,opt,name=groupId,proto3" json:"groupId,omitempty"`
Peers []*RaftPeerProto `protobuf:"bytes,2,rep,name=peers,proto3" json:"peers,omitempty"`
}
func (x *RaftGroupProto) Reset() {
*x = RaftGroupProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RaftGroupProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RaftGroupProto) ProtoMessage() {}
func (x *RaftGroupProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RaftGroupProto.ProtoReflect.Descriptor instead.
func (*RaftGroupProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{2}
}
func (x *RaftGroupProto) GetGroupId() *RaftGroupIdProto {
if x != nil {
return x.GroupId
}
return nil
}
func (x *RaftGroupProto) GetPeers() []*RaftPeerProto {
if x != nil {
return x.Peers
}
return nil
}
type RaftGroupMemberIdProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PeerId []byte `protobuf:"bytes,1,opt,name=peerId,proto3" json:"peerId,omitempty"`
GroupId *RaftGroupIdProto `protobuf:"bytes,2,opt,name=groupId,proto3" json:"groupId,omitempty"`
}
func (x *RaftGroupMemberIdProto) Reset() {
*x = RaftGroupMemberIdProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RaftGroupMemberIdProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RaftGroupMemberIdProto) ProtoMessage() {}
func (x *RaftGroupMemberIdProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RaftGroupMemberIdProto.ProtoReflect.Descriptor instead.
func (*RaftGroupMemberIdProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{3}
}
func (x *RaftGroupMemberIdProto) GetPeerId() []byte {
if x != nil {
return x.PeerId
}
return nil
}
func (x *RaftGroupMemberIdProto) GetGroupId() *RaftGroupIdProto {
if x != nil {
return x.GroupId
}
return nil
}
type RaftConfigurationProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Peers []*RaftPeerProto `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` // the peers in the current or new conf
OldPeers []*RaftPeerProto `protobuf:"bytes,2,rep,name=oldPeers,proto3" json:"oldPeers,omitempty"` // the peers in the old conf
}
func (x *RaftConfigurationProto) Reset() {
*x = RaftConfigurationProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RaftConfigurationProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RaftConfigurationProto) ProtoMessage() {}
func (x *RaftConfigurationProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RaftConfigurationProto.ProtoReflect.Descriptor instead.
func (*RaftConfigurationProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{4}
}
func (x *RaftConfigurationProto) GetPeers() []*RaftPeerProto {
if x != nil {
return x.Peers
}
return nil
}
func (x *RaftConfigurationProto) GetOldPeers() []*RaftPeerProto {
if x != nil {
return x.OldPeers
}
return nil
}
type StateMachineEntryProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
//*
// StateMachine specific data which is not written to log.
// Unlike logEntryData, stateMachineData is managed and stored by the StateMachine but not the RaftLog.
StateMachineData []byte `protobuf:"bytes,1,opt,name=stateMachineData,proto3" json:"stateMachineData,omitempty"`
//*
// When stateMachineData is missing, it is the size of the serialized LogEntryProto along with stateMachineData.
// When stateMachineData is not missing, it must be set to zero.
LogEntryProtoSerializedSize uint32 `protobuf:"varint,2,opt,name=logEntryProtoSerializedSize,proto3" json:"logEntryProtoSerializedSize,omitempty"`
}
func (x *StateMachineEntryProto) Reset() {
*x = StateMachineEntryProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StateMachineEntryProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StateMachineEntryProto) ProtoMessage() {}
func (x *StateMachineEntryProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 StateMachineEntryProto.ProtoReflect.Descriptor instead.
func (*StateMachineEntryProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{5}
}
func (x *StateMachineEntryProto) GetStateMachineData() []byte {
if x != nil {
return x.StateMachineData
}
return nil
}
func (x *StateMachineEntryProto) GetLogEntryProtoSerializedSize() uint32 {
if x != nil {
return x.LogEntryProtoSerializedSize
}
return 0
}
type StateMachineLogEntryProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
//* RaftLog entry data
LogData []byte `protobuf:"bytes,1,opt,name=logData,proto3" json:"logData,omitempty"`
//*
// StateMachine entry.
// StateMachine implementation may use this field to separate StateMachine specific data from the RaftLog data.
StateMachineEntry *StateMachineEntryProto `protobuf:"bytes,2,opt,name=stateMachineEntry,proto3" json:"stateMachineEntry,omitempty"`
// clientId and callId are used to rebuild the retry cache.
ClientId []byte `protobuf:"bytes,14,opt,name=clientId,proto3" json:"clientId,omitempty"`
CallId uint64 `protobuf:"varint,15,opt,name=callId,proto3" json:"callId,omitempty"`
}
func (x *StateMachineLogEntryProto) Reset() {
*x = StateMachineLogEntryProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StateMachineLogEntryProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StateMachineLogEntryProto) ProtoMessage() {}
func (x *StateMachineLogEntryProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 StateMachineLogEntryProto.ProtoReflect.Descriptor instead.
func (*StateMachineLogEntryProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{6}
}
func (x *StateMachineLogEntryProto) GetLogData() []byte {
if x != nil {
return x.LogData
}
return nil
}
func (x *StateMachineLogEntryProto) GetStateMachineEntry() *StateMachineEntryProto {
if x != nil {
return x.StateMachineEntry
}
return nil
}
func (x *StateMachineLogEntryProto) GetClientId() []byte {
if x != nil {
return x.ClientId
}
return nil
}
func (x *StateMachineLogEntryProto) GetCallId() uint64 {
if x != nil {
return x.CallId
}
return 0
}
type MetadataProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CommitIndex uint64 `protobuf:"varint,1,opt,name=commitIndex,proto3" json:"commitIndex,omitempty"`
}
func (x *MetadataProto) Reset() {
*x = MetadataProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetadataProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetadataProto) ProtoMessage() {}
func (x *MetadataProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 MetadataProto.ProtoReflect.Descriptor instead.
func (*MetadataProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{7}
}
func (x *MetadataProto) GetCommitIndex() uint64 {
if x != nil {
return x.CommitIndex
}
return 0
}
type LogEntryProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Term uint64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"`
Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
// Types that are assignable to LogEntryBody:
// *LogEntryProto_StateMachineLogEntry
// *LogEntryProto_ConfigurationEntry
// *LogEntryProto_MetadataEntry
LogEntryBody isLogEntryProto_LogEntryBody `protobuf_oneof:"LogEntryBody"`
}
func (x *LogEntryProto) Reset() {
*x = LogEntryProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LogEntryProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LogEntryProto) ProtoMessage() {}
func (x *LogEntryProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 LogEntryProto.ProtoReflect.Descriptor instead.
func (*LogEntryProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{8}
}
func (x *LogEntryProto) GetTerm() uint64 {
if x != nil {
return x.Term
}
return 0
}
func (x *LogEntryProto) GetIndex() uint64 {
if x != nil {
return x.Index
}
return 0
}
func (m *LogEntryProto) GetLogEntryBody() isLogEntryProto_LogEntryBody {
if m != nil {
return m.LogEntryBody
}
return nil
}
func (x *LogEntryProto) GetStateMachineLogEntry() *StateMachineLogEntryProto {
if x, ok := x.GetLogEntryBody().(*LogEntryProto_StateMachineLogEntry); ok {
return x.StateMachineLogEntry
}
return nil
}
func (x *LogEntryProto) GetConfigurationEntry() *RaftConfigurationProto {
if x, ok := x.GetLogEntryBody().(*LogEntryProto_ConfigurationEntry); ok {
return x.ConfigurationEntry
}
return nil
}
func (x *LogEntryProto) GetMetadataEntry() *MetadataProto {
if x, ok := x.GetLogEntryBody().(*LogEntryProto_MetadataEntry); ok {
return x.MetadataEntry
}
return nil
}
type isLogEntryProto_LogEntryBody interface {
isLogEntryProto_LogEntryBody()
}
type LogEntryProto_StateMachineLogEntry struct {
StateMachineLogEntry *StateMachineLogEntryProto `protobuf:"bytes,3,opt,name=stateMachineLogEntry,proto3,oneof"`
}
type LogEntryProto_ConfigurationEntry struct {
ConfigurationEntry *RaftConfigurationProto `protobuf:"bytes,4,opt,name=configurationEntry,proto3,oneof"`
}
type LogEntryProto_MetadataEntry struct {
MetadataEntry *MetadataProto `protobuf:"bytes,5,opt,name=metadataEntry,proto3,oneof"`
}
func (*LogEntryProto_StateMachineLogEntry) isLogEntryProto_LogEntryBody() {}
func (*LogEntryProto_ConfigurationEntry) isLogEntryProto_LogEntryBody() {}
func (*LogEntryProto_MetadataEntry) isLogEntryProto_LogEntryBody() {}
type TermIndexProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Term uint64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"`
Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
}
func (x *TermIndexProto) Reset() {
*x = TermIndexProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TermIndexProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TermIndexProto) ProtoMessage() {}
func (x *TermIndexProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 TermIndexProto.ProtoReflect.Descriptor instead.
func (*TermIndexProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{9}
}
func (x *TermIndexProto) GetTerm() uint64 {
if x != nil {
return x.Term
}
return 0
}
func (x *TermIndexProto) GetIndex() uint64 {
if x != nil {
return x.Index
}
return 0
}
type RaftRpcRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RequestorId []byte `protobuf:"bytes,1,opt,name=requestorId,proto3" json:"requestorId,omitempty"`
ReplyId []byte `protobuf:"bytes,2,opt,name=replyId,proto3" json:"replyId,omitempty"`
RaftGroupId *RaftGroupIdProto `protobuf:"bytes,3,opt,name=raftGroupId,proto3" json:"raftGroupId,omitempty"`
CallId uint64 `protobuf:"varint,4,opt,name=callId,proto3" json:"callId,omitempty"`
SlidingWindowEntry *SlidingWindowEntry `protobuf:"bytes,15,opt,name=slidingWindowEntry,proto3" json:"slidingWindowEntry,omitempty"`
}
func (x *RaftRpcRequestProto) Reset() {
*x = RaftRpcRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RaftRpcRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RaftRpcRequestProto) ProtoMessage() {}
func (x *RaftRpcRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RaftRpcRequestProto.ProtoReflect.Descriptor instead.
func (*RaftRpcRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{10}
}
func (x *RaftRpcRequestProto) GetRequestorId() []byte {
if x != nil {
return x.RequestorId
}
return nil
}
func (x *RaftRpcRequestProto) GetReplyId() []byte {
if x != nil {
return x.ReplyId
}
return nil
}
func (x *RaftRpcRequestProto) GetRaftGroupId() *RaftGroupIdProto {
if x != nil {
return x.RaftGroupId
}
return nil
}
func (x *RaftRpcRequestProto) GetCallId() uint64 {
if x != nil {
return x.CallId
}
return 0
}
func (x *RaftRpcRequestProto) GetSlidingWindowEntry() *SlidingWindowEntry {
if x != nil {
return x.SlidingWindowEntry
}
return nil
}
type SlidingWindowEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SeqNum uint64 `protobuf:"varint,1,opt,name=seqNum,proto3" json:"seqNum,omitempty"` // 0 for non-sliding-window requests; >= 1 for sliding-window requests
IsFirst bool `protobuf:"varint,2,opt,name=isFirst,proto3" json:"isFirst,omitempty"` // Is this the first request of the sliding window?
}
func (x *SlidingWindowEntry) Reset() {
*x = SlidingWindowEntry{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SlidingWindowEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SlidingWindowEntry) ProtoMessage() {}
func (x *SlidingWindowEntry) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 SlidingWindowEntry.ProtoReflect.Descriptor instead.
func (*SlidingWindowEntry) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{11}
}
func (x *SlidingWindowEntry) GetSeqNum() uint64 {
if x != nil {
return x.SeqNum
}
return 0
}
func (x *SlidingWindowEntry) GetIsFirst() bool {
if x != nil {
return x.IsFirst
}
return false
}
type RaftRpcReplyProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RequestorId []byte `protobuf:"bytes,1,opt,name=requestorId,proto3" json:"requestorId,omitempty"`
ReplyId []byte `protobuf:"bytes,2,opt,name=replyId,proto3" json:"replyId,omitempty"`
RaftGroupId *RaftGroupIdProto `protobuf:"bytes,3,opt,name=raftGroupId,proto3" json:"raftGroupId,omitempty"`
CallId uint64 `protobuf:"varint,4,opt,name=callId,proto3" json:"callId,omitempty"`
Success bool `protobuf:"varint,15,opt,name=success,proto3" json:"success,omitempty"`
}
func (x *RaftRpcReplyProto) Reset() {
*x = RaftRpcReplyProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RaftRpcReplyProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RaftRpcReplyProto) ProtoMessage() {}
func (x *RaftRpcReplyProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RaftRpcReplyProto.ProtoReflect.Descriptor instead.
func (*RaftRpcReplyProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{12}
}
func (x *RaftRpcReplyProto) GetRequestorId() []byte {
if x != nil {
return x.RequestorId
}
return nil
}
func (x *RaftRpcReplyProto) GetReplyId() []byte {
if x != nil {
return x.ReplyId
}
return nil
}
func (x *RaftRpcReplyProto) GetRaftGroupId() *RaftGroupIdProto {
if x != nil {
return x.RaftGroupId
}
return nil
}
func (x *RaftRpcReplyProto) GetCallId() uint64 {
if x != nil {
return x.CallId
}
return 0
}
func (x *RaftRpcReplyProto) GetSuccess() bool {
if x != nil {
return x.Success
}
return false
}
type FileChunkProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` // relative to root
TotalSize uint64 `protobuf:"varint,2,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
FileDigest []byte `protobuf:"bytes,3,opt,name=fileDigest,proto3" json:"fileDigest,omitempty"`
ChunkIndex uint32 `protobuf:"varint,4,opt,name=chunkIndex,proto3" json:"chunkIndex,omitempty"`
Offset uint64 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"`
Data []byte `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"`
Done bool `protobuf:"varint,7,opt,name=done,proto3" json:"done,omitempty"`
}
func (x *FileChunkProto) Reset() {
*x = FileChunkProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FileChunkProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FileChunkProto) ProtoMessage() {}
func (x *FileChunkProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 FileChunkProto.ProtoReflect.Descriptor instead.
func (*FileChunkProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{13}
}
func (x *FileChunkProto) GetFilename() string {
if x != nil {
return x.Filename
}
return ""
}
func (x *FileChunkProto) GetTotalSize() uint64 {
if x != nil {
return x.TotalSize
}
return 0
}
func (x *FileChunkProto) GetFileDigest() []byte {
if x != nil {
return x.FileDigest
}
return nil
}
func (x *FileChunkProto) GetChunkIndex() uint32 {
if x != nil {
return x.ChunkIndex
}
return 0
}
func (x *FileChunkProto) GetOffset() uint64 {
if x != nil {
return x.Offset
}
return 0
}
func (x *FileChunkProto) GetData() []byte {
if x != nil {
return x.Data
}
return nil
}
func (x *FileChunkProto) GetDone() bool {
if x != nil {
return x.Done
}
return false
}
type RequestVoteRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerRequest *RaftRpcRequestProto `protobuf:"bytes,1,opt,name=serverRequest,proto3" json:"serverRequest,omitempty"`
CandidateTerm uint64 `protobuf:"varint,2,opt,name=candidateTerm,proto3" json:"candidateTerm,omitempty"`
CandidateLastEntry *TermIndexProto `protobuf:"bytes,3,opt,name=candidateLastEntry,proto3" json:"candidateLastEntry,omitempty"`
}
func (x *RequestVoteRequestProto) Reset() {
*x = RequestVoteRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestVoteRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestVoteRequestProto) ProtoMessage() {}
func (x *RequestVoteRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RequestVoteRequestProto.ProtoReflect.Descriptor instead.
func (*RequestVoteRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{14}
}
func (x *RequestVoteRequestProto) GetServerRequest() *RaftRpcRequestProto {
if x != nil {
return x.ServerRequest
}
return nil
}
func (x *RequestVoteRequestProto) GetCandidateTerm() uint64 {
if x != nil {
return x.CandidateTerm
}
return 0
}
func (x *RequestVoteRequestProto) GetCandidateLastEntry() *TermIndexProto {
if x != nil {
return x.CandidateLastEntry
}
return nil
}
type RequestVoteReplyProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerReply *RaftRpcReplyProto `protobuf:"bytes,1,opt,name=serverReply,proto3" json:"serverReply,omitempty"`
Term uint64 `protobuf:"varint,2,opt,name=term,proto3" json:"term,omitempty"`
ShouldShutdown bool `protobuf:"varint,3,opt,name=shouldShutdown,proto3" json:"shouldShutdown,omitempty"`
}
func (x *RequestVoteReplyProto) Reset() {
*x = RequestVoteReplyProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestVoteReplyProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestVoteReplyProto) ProtoMessage() {}
func (x *RequestVoteReplyProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RequestVoteReplyProto.ProtoReflect.Descriptor instead.
func (*RequestVoteReplyProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{15}
}
func (x *RequestVoteReplyProto) GetServerReply() *RaftRpcReplyProto {
if x != nil {
return x.ServerReply
}
return nil
}
func (x *RequestVoteReplyProto) GetTerm() uint64 {
if x != nil {
return x.Term
}
return 0
}
func (x *RequestVoteReplyProto) GetShouldShutdown() bool {
if x != nil {
return x.ShouldShutdown
}
return false
}
type CommitInfoProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Server *RaftPeerProto `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
CommitIndex uint64 `protobuf:"varint,2,opt,name=commitIndex,proto3" json:"commitIndex,omitempty"`
}
func (x *CommitInfoProto) Reset() {
*x = CommitInfoProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CommitInfoProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CommitInfoProto) ProtoMessage() {}
func (x *CommitInfoProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 CommitInfoProto.ProtoReflect.Descriptor instead.
func (*CommitInfoProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{16}
}
func (x *CommitInfoProto) GetServer() *RaftPeerProto {
if x != nil {
return x.Server
}
return nil
}
func (x *CommitInfoProto) GetCommitIndex() uint64 {
if x != nil {
return x.CommitIndex
}
return 0
}
type AppendEntriesRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerRequest *RaftRpcRequestProto `protobuf:"bytes,1,opt,name=serverRequest,proto3" json:"serverRequest,omitempty"`
LeaderTerm uint64 `protobuf:"varint,2,opt,name=leaderTerm,proto3" json:"leaderTerm,omitempty"`
PreviousLog *TermIndexProto `protobuf:"bytes,3,opt,name=previousLog,proto3" json:"previousLog,omitempty"`
Entries []*LogEntryProto `protobuf:"bytes,4,rep,name=entries,proto3" json:"entries,omitempty"`
LeaderCommit uint64 `protobuf:"varint,5,opt,name=leaderCommit,proto3" json:"leaderCommit,omitempty"`
Initializing bool `protobuf:"varint,6,opt,name=initializing,proto3" json:"initializing,omitempty"`
CommitInfos []*CommitInfoProto `protobuf:"bytes,15,rep,name=commitInfos,proto3" json:"commitInfos,omitempty"`
}
func (x *AppendEntriesRequestProto) Reset() {
*x = AppendEntriesRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AppendEntriesRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AppendEntriesRequestProto) ProtoMessage() {}
func (x *AppendEntriesRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 AppendEntriesRequestProto.ProtoReflect.Descriptor instead.
func (*AppendEntriesRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{17}
}
func (x *AppendEntriesRequestProto) GetServerRequest() *RaftRpcRequestProto {
if x != nil {
return x.ServerRequest
}
return nil
}
func (x *AppendEntriesRequestProto) GetLeaderTerm() uint64 {
if x != nil {
return x.LeaderTerm
}
return 0
}
func (x *AppendEntriesRequestProto) GetPreviousLog() *TermIndexProto {
if x != nil {
return x.PreviousLog
}
return nil
}
func (x *AppendEntriesRequestProto) GetEntries() []*LogEntryProto {
if x != nil {
return x.Entries
}
return nil
}
func (x *AppendEntriesRequestProto) GetLeaderCommit() uint64 {
if x != nil {
return x.LeaderCommit
}
return 0
}
func (x *AppendEntriesRequestProto) GetInitializing() bool {
if x != nil {
return x.Initializing
}
return false
}
func (x *AppendEntriesRequestProto) GetCommitInfos() []*CommitInfoProto {
if x != nil {
return x.CommitInfos
}
return nil
}
type AppendEntriesReplyProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerReply *RaftRpcReplyProto `protobuf:"bytes,1,opt,name=serverReply,proto3" json:"serverReply,omitempty"`
Term uint64 `protobuf:"varint,2,opt,name=term,proto3" json:"term,omitempty"`
NextIndex uint64 `protobuf:"varint,3,opt,name=nextIndex,proto3" json:"nextIndex,omitempty"`
Result AppendEntriesReplyProto_AppendResult `protobuf:"varint,4,opt,name=result,proto3,enum=ratis.common.AppendEntriesReplyProto_AppendResult" json:"result,omitempty"`
FollowerCommit uint64 `protobuf:"varint,5,opt,name=followerCommit,proto3" json:"followerCommit,omitempty"`
MatchIndex uint64 `protobuf:"varint,6,opt,name=matchIndex,proto3" json:"matchIndex,omitempty"`
}
func (x *AppendEntriesReplyProto) Reset() {
*x = AppendEntriesReplyProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AppendEntriesReplyProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AppendEntriesReplyProto) ProtoMessage() {}
func (x *AppendEntriesReplyProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 AppendEntriesReplyProto.ProtoReflect.Descriptor instead.
func (*AppendEntriesReplyProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{18}
}
func (x *AppendEntriesReplyProto) GetServerReply() *RaftRpcReplyProto {
if x != nil {
return x.ServerReply
}
return nil
}
func (x *AppendEntriesReplyProto) GetTerm() uint64 {
if x != nil {
return x.Term
}
return 0
}
func (x *AppendEntriesReplyProto) GetNextIndex() uint64 {
if x != nil {
return x.NextIndex
}
return 0
}
func (x *AppendEntriesReplyProto) GetResult() AppendEntriesReplyProto_AppendResult {
if x != nil {
return x.Result
}
return AppendEntriesReplyProto_SUCCESS
}
func (x *AppendEntriesReplyProto) GetFollowerCommit() uint64 {
if x != nil {
return x.FollowerCommit
}
return 0
}
func (x *AppendEntriesReplyProto) GetMatchIndex() uint64 {
if x != nil {
return x.MatchIndex
}
return 0
}
type InstallSnapshotRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerRequest *RaftRpcRequestProto `protobuf:"bytes,1,opt,name=serverRequest,proto3" json:"serverRequest,omitempty"`
LeaderTerm uint64 `protobuf:"varint,2,opt,name=leaderTerm,proto3" json:"leaderTerm,omitempty"`
// Types that are assignable to InstallSnapshotRequestBody:
// *InstallSnapshotRequestProto_SnapshotChunk
// *InstallSnapshotRequestProto_Notification
InstallSnapshotRequestBody isInstallSnapshotRequestProto_InstallSnapshotRequestBody `protobuf_oneof:"InstallSnapshotRequestBody"`
}
func (x *InstallSnapshotRequestProto) Reset() {
*x = InstallSnapshotRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InstallSnapshotRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstallSnapshotRequestProto) ProtoMessage() {}
func (x *InstallSnapshotRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 InstallSnapshotRequestProto.ProtoReflect.Descriptor instead.
func (*InstallSnapshotRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{19}
}
func (x *InstallSnapshotRequestProto) GetServerRequest() *RaftRpcRequestProto {
if x != nil {
return x.ServerRequest
}
return nil
}
func (x *InstallSnapshotRequestProto) GetLeaderTerm() uint64 {
if x != nil {
return x.LeaderTerm
}
return 0
}
func (m *InstallSnapshotRequestProto) GetInstallSnapshotRequestBody() isInstallSnapshotRequestProto_InstallSnapshotRequestBody {
if m != nil {
return m.InstallSnapshotRequestBody
}
return nil
}
func (x *InstallSnapshotRequestProto) GetSnapshotChunk() *InstallSnapshotRequestProto_SnapshotChunkProto {
if x, ok := x.GetInstallSnapshotRequestBody().(*InstallSnapshotRequestProto_SnapshotChunk); ok {
return x.SnapshotChunk
}
return nil
}
func (x *InstallSnapshotRequestProto) GetNotification() *InstallSnapshotRequestProto_NotificationProto {
if x, ok := x.GetInstallSnapshotRequestBody().(*InstallSnapshotRequestProto_Notification); ok {
return x.Notification
}
return nil
}
type isInstallSnapshotRequestProto_InstallSnapshotRequestBody interface {
isInstallSnapshotRequestProto_InstallSnapshotRequestBody()
}
type InstallSnapshotRequestProto_SnapshotChunk struct {
SnapshotChunk *InstallSnapshotRequestProto_SnapshotChunkProto `protobuf:"bytes,3,opt,name=snapshotChunk,proto3,oneof"`
}
type InstallSnapshotRequestProto_Notification struct {
Notification *InstallSnapshotRequestProto_NotificationProto `protobuf:"bytes,4,opt,name=notification,proto3,oneof"`
}
func (*InstallSnapshotRequestProto_SnapshotChunk) isInstallSnapshotRequestProto_InstallSnapshotRequestBody() {
}
func (*InstallSnapshotRequestProto_Notification) isInstallSnapshotRequestProto_InstallSnapshotRequestBody() {
}
type InstallSnapshotReplyProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerReply *RaftRpcReplyProto `protobuf:"bytes,1,opt,name=serverReply,proto3" json:"serverReply,omitempty"`
Term uint64 `protobuf:"varint,2,opt,name=term,proto3" json:"term,omitempty"`
Result InstallSnapshotResult `protobuf:"varint,3,opt,name=result,proto3,enum=ratis.common.InstallSnapshotResult" json:"result,omitempty"`
// Types that are assignable to InstallSnapshotReplyBody:
// *InstallSnapshotReplyProto_RequestIndex
// *InstallSnapshotReplyProto_SnapshotIndex
InstallSnapshotReplyBody isInstallSnapshotReplyProto_InstallSnapshotReplyBody `protobuf_oneof:"InstallSnapshotReplyBody"`
}
func (x *InstallSnapshotReplyProto) Reset() {
*x = InstallSnapshotReplyProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InstallSnapshotReplyProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstallSnapshotReplyProto) ProtoMessage() {}
func (x *InstallSnapshotReplyProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 InstallSnapshotReplyProto.ProtoReflect.Descriptor instead.
func (*InstallSnapshotReplyProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{20}
}
func (x *InstallSnapshotReplyProto) GetServerReply() *RaftRpcReplyProto {
if x != nil {
return x.ServerReply
}
return nil
}
func (x *InstallSnapshotReplyProto) GetTerm() uint64 {
if x != nil {
return x.Term
}
return 0
}
func (x *InstallSnapshotReplyProto) GetResult() InstallSnapshotResult {
if x != nil {
return x.Result
}
return InstallSnapshotResult_SUCCESS
}
func (m *InstallSnapshotReplyProto) GetInstallSnapshotReplyBody() isInstallSnapshotReplyProto_InstallSnapshotReplyBody {
if m != nil {
return m.InstallSnapshotReplyBody
}
return nil
}
func (x *InstallSnapshotReplyProto) GetRequestIndex() uint32 {
if x, ok := x.GetInstallSnapshotReplyBody().(*InstallSnapshotReplyProto_RequestIndex); ok {
return x.RequestIndex
}
return 0
}
func (x *InstallSnapshotReplyProto) GetSnapshotIndex() uint64 {
if x, ok := x.GetInstallSnapshotReplyBody().(*InstallSnapshotReplyProto_SnapshotIndex); ok {
return x.SnapshotIndex
}
return 0
}
type isInstallSnapshotReplyProto_InstallSnapshotReplyBody interface {
isInstallSnapshotReplyProto_InstallSnapshotReplyBody()
}
type InstallSnapshotReplyProto_RequestIndex struct {
RequestIndex uint32 `protobuf:"varint,4,opt,name=requestIndex,proto3,oneof"` // index of the snapshot chunk request.
}
type InstallSnapshotReplyProto_SnapshotIndex struct {
SnapshotIndex uint64 `protobuf:"varint,5,opt,name=snapshotIndex,proto3,oneof"` // index of snapshot installed after notification.
}
func (*InstallSnapshotReplyProto_RequestIndex) isInstallSnapshotReplyProto_InstallSnapshotReplyBody() {
}
func (*InstallSnapshotReplyProto_SnapshotIndex) isInstallSnapshotReplyProto_InstallSnapshotReplyBody() {
}
type ClientMessageEntryProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
}
func (x *ClientMessageEntryProto) Reset() {
*x = ClientMessageEntryProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ClientMessageEntryProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ClientMessageEntryProto) ProtoMessage() {}
func (x *ClientMessageEntryProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 ClientMessageEntryProto.ProtoReflect.Descriptor instead.
func (*ClientMessageEntryProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{21}
}
func (x *ClientMessageEntryProto) GetContent() []byte {
if x != nil {
return x.Content
}
return nil
}
type WriteRequestTypeProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *WriteRequestTypeProto) Reset() {
*x = WriteRequestTypeProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WriteRequestTypeProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WriteRequestTypeProto) ProtoMessage() {}
func (x *WriteRequestTypeProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 WriteRequestTypeProto.ProtoReflect.Descriptor instead.
func (*WriteRequestTypeProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{22}
}
type ReadRequestTypeProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ReadRequestTypeProto) Reset() {
*x = ReadRequestTypeProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReadRequestTypeProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReadRequestTypeProto) ProtoMessage() {}
func (x *ReadRequestTypeProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 ReadRequestTypeProto.ProtoReflect.Descriptor instead.
func (*ReadRequestTypeProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{23}
}
type StaleReadRequestTypeProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MinIndex uint64 `protobuf:"varint,1,opt,name=minIndex,proto3" json:"minIndex,omitempty"`
}
func (x *StaleReadRequestTypeProto) Reset() {
*x = StaleReadRequestTypeProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StaleReadRequestTypeProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StaleReadRequestTypeProto) ProtoMessage() {}
func (x *StaleReadRequestTypeProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 StaleReadRequestTypeProto.ProtoReflect.Descriptor instead.
func (*StaleReadRequestTypeProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{24}
}
func (x *StaleReadRequestTypeProto) GetMinIndex() uint64 {
if x != nil {
return x.MinIndex
}
return 0
}
type WatchRequestTypeProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
Replication ReplicationLevel `protobuf:"varint,2,opt,name=replication,proto3,enum=ratis.common.ReplicationLevel" json:"replication,omitempty"`
}
func (x *WatchRequestTypeProto) Reset() {
*x = WatchRequestTypeProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *WatchRequestTypeProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*WatchRequestTypeProto) ProtoMessage() {}
func (x *WatchRequestTypeProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 WatchRequestTypeProto.ProtoReflect.Descriptor instead.
func (*WatchRequestTypeProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{25}
}
func (x *WatchRequestTypeProto) GetIndex() uint64 {
if x != nil {
return x.Index
}
return 0
}
func (x *WatchRequestTypeProto) GetReplication() ReplicationLevel {
if x != nil {
return x.Replication
}
return ReplicationLevel_MAJORITY
}
// normal client request
type RaftClientRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RpcRequest *RaftRpcRequestProto `protobuf:"bytes,1,opt,name=rpcRequest,proto3" json:"rpcRequest,omitempty"`
Message *ClientMessageEntryProto `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
// Types that are assignable to Type:
// *RaftClientRequestProto_Write
// *RaftClientRequestProto_Read
// *RaftClientRequestProto_StaleRead
// *RaftClientRequestProto_Watch
Type isRaftClientRequestProto_Type `protobuf_oneof:"Type"`
}
func (x *RaftClientRequestProto) Reset() {
*x = RaftClientRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RaftClientRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RaftClientRequestProto) ProtoMessage() {}
func (x *RaftClientRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RaftClientRequestProto.ProtoReflect.Descriptor instead.
func (*RaftClientRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{26}
}
func (x *RaftClientRequestProto) GetRpcRequest() *RaftRpcRequestProto {
if x != nil {
return x.RpcRequest
}
return nil
}
func (x *RaftClientRequestProto) GetMessage() *ClientMessageEntryProto {
if x != nil {
return x.Message
}
return nil
}
func (m *RaftClientRequestProto) GetType() isRaftClientRequestProto_Type {
if m != nil {
return m.Type
}
return nil
}
func (x *RaftClientRequestProto) GetWrite() *WriteRequestTypeProto {
if x, ok := x.GetType().(*RaftClientRequestProto_Write); ok {
return x.Write
}
return nil
}
func (x *RaftClientRequestProto) GetRead() *ReadRequestTypeProto {
if x, ok := x.GetType().(*RaftClientRequestProto_Read); ok {
return x.Read
}
return nil
}
func (x *RaftClientRequestProto) GetStaleRead() *StaleReadRequestTypeProto {
if x, ok := x.GetType().(*RaftClientRequestProto_StaleRead); ok {
return x.StaleRead
}
return nil
}
func (x *RaftClientRequestProto) GetWatch() *WatchRequestTypeProto {
if x, ok := x.GetType().(*RaftClientRequestProto_Watch); ok {
return x.Watch
}
return nil
}
type isRaftClientRequestProto_Type interface {
isRaftClientRequestProto_Type()
}
type RaftClientRequestProto_Write struct {
Write *WriteRequestTypeProto `protobuf:"bytes,3,opt,name=write,proto3,oneof"`
}
type RaftClientRequestProto_Read struct {
Read *ReadRequestTypeProto `protobuf:"bytes,4,opt,name=read,proto3,oneof"`
}
type RaftClientRequestProto_StaleRead struct {
StaleRead *StaleReadRequestTypeProto `protobuf:"bytes,5,opt,name=staleRead,proto3,oneof"`
}
type RaftClientRequestProto_Watch struct {
Watch *WatchRequestTypeProto `protobuf:"bytes,6,opt,name=watch,proto3,oneof"`
}
func (*RaftClientRequestProto_Write) isRaftClientRequestProto_Type() {}
func (*RaftClientRequestProto_Read) isRaftClientRequestProto_Type() {}
func (*RaftClientRequestProto_StaleRead) isRaftClientRequestProto_Type() {}
func (*RaftClientRequestProto_Watch) isRaftClientRequestProto_Type() {}
type NotLeaderExceptionProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SuggestedLeader *RaftPeerProto `protobuf:"bytes,1,opt,name=suggestedLeader,proto3" json:"suggestedLeader,omitempty"`
PeersInConf []*RaftPeerProto `protobuf:"bytes,2,rep,name=peersInConf,proto3" json:"peersInConf,omitempty"`
}
func (x *NotLeaderExceptionProto) Reset() {
*x = NotLeaderExceptionProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotLeaderExceptionProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotLeaderExceptionProto) ProtoMessage() {}
func (x *NotLeaderExceptionProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 NotLeaderExceptionProto.ProtoReflect.Descriptor instead.
func (*NotLeaderExceptionProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{27}
}
func (x *NotLeaderExceptionProto) GetSuggestedLeader() *RaftPeerProto {
if x != nil {
return x.SuggestedLeader
}
return nil
}
func (x *NotLeaderExceptionProto) GetPeersInConf() []*RaftPeerProto {
if x != nil {
return x.PeersInConf
}
return nil
}
type LeaderNotReadyExceptionProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerId *RaftGroupMemberIdProto `protobuf:"bytes,1,opt,name=serverId,proto3" json:"serverId,omitempty"` // id of the leader
}
func (x *LeaderNotReadyExceptionProto) Reset() {
*x = LeaderNotReadyExceptionProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LeaderNotReadyExceptionProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LeaderNotReadyExceptionProto) ProtoMessage() {}
func (x *LeaderNotReadyExceptionProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 LeaderNotReadyExceptionProto.ProtoReflect.Descriptor instead.
func (*LeaderNotReadyExceptionProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{28}
}
func (x *LeaderNotReadyExceptionProto) GetServerId() *RaftGroupMemberIdProto {
if x != nil {
return x.ServerId
}
return nil
}
type NotReplicatedExceptionProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CallId uint64 `protobuf:"varint,1,opt,name=callId,proto3" json:"callId,omitempty"`
Replication ReplicationLevel `protobuf:"varint,2,opt,name=replication,proto3,enum=ratis.common.ReplicationLevel" json:"replication,omitempty"`
LogIndex uint64 `protobuf:"varint,3,opt,name=logIndex,proto3" json:"logIndex,omitempty"`
}
func (x *NotReplicatedExceptionProto) Reset() {
*x = NotReplicatedExceptionProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NotReplicatedExceptionProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotReplicatedExceptionProto) ProtoMessage() {}
func (x *NotReplicatedExceptionProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 NotReplicatedExceptionProto.ProtoReflect.Descriptor instead.
func (*NotReplicatedExceptionProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{29}
}
func (x *NotReplicatedExceptionProto) GetCallId() uint64 {
if x != nil {
return x.CallId
}
return 0
}
func (x *NotReplicatedExceptionProto) GetReplication() ReplicationLevel {
if x != nil {
return x.Replication
}
return ReplicationLevel_MAJORITY
}
func (x *NotReplicatedExceptionProto) GetLogIndex() uint64 {
if x != nil {
return x.LogIndex
}
return 0
}
type StateMachineExceptionProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ExceptionClassName string `protobuf:"bytes,1,opt,name=exceptionClassName,proto3" json:"exceptionClassName,omitempty"`
ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"`
Stacktrace []byte `protobuf:"bytes,3,opt,name=stacktrace,proto3" json:"stacktrace,omitempty"`
}
func (x *StateMachineExceptionProto) Reset() {
*x = StateMachineExceptionProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StateMachineExceptionProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StateMachineExceptionProto) ProtoMessage() {}
func (x *StateMachineExceptionProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 StateMachineExceptionProto.ProtoReflect.Descriptor instead.
func (*StateMachineExceptionProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{30}
}
func (x *StateMachineExceptionProto) GetExceptionClassName() string {
if x != nil {
return x.ExceptionClassName
}
return ""
}
func (x *StateMachineExceptionProto) GetErrorMsg() string {
if x != nil {
return x.ErrorMsg
}
return ""
}
func (x *StateMachineExceptionProto) GetStacktrace() []byte {
if x != nil {
return x.Stacktrace
}
return nil
}
type RaftClientReplyProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RpcReply *RaftRpcReplyProto `protobuf:"bytes,1,opt,name=rpcReply,proto3" json:"rpcReply,omitempty"`
Message *ClientMessageEntryProto `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
// Types that are assignable to ExceptionDetails:
// *RaftClientReplyProto_NotLeaderException
// *RaftClientReplyProto_NotReplicatedException
// *RaftClientReplyProto_StateMachineException
// *RaftClientReplyProto_LeaderNotReadyException
ExceptionDetails isRaftClientReplyProto_ExceptionDetails `protobuf_oneof:"ExceptionDetails"`
LogIndex uint64 `protobuf:"varint,14,opt,name=logIndex,proto3" json:"logIndex,omitempty"` // When the request is a write request and the reply is success, the log index of the transaction
CommitInfos []*CommitInfoProto `protobuf:"bytes,15,rep,name=commitInfos,proto3" json:"commitInfos,omitempty"`
}
func (x *RaftClientReplyProto) Reset() {
*x = RaftClientReplyProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RaftClientReplyProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RaftClientReplyProto) ProtoMessage() {}
func (x *RaftClientReplyProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RaftClientReplyProto.ProtoReflect.Descriptor instead.
func (*RaftClientReplyProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{31}
}
func (x *RaftClientReplyProto) GetRpcReply() *RaftRpcReplyProto {
if x != nil {
return x.RpcReply
}
return nil
}
func (x *RaftClientReplyProto) GetMessage() *ClientMessageEntryProto {
if x != nil {
return x.Message
}
return nil
}
func (m *RaftClientReplyProto) GetExceptionDetails() isRaftClientReplyProto_ExceptionDetails {
if m != nil {
return m.ExceptionDetails
}
return nil
}
func (x *RaftClientReplyProto) GetNotLeaderException() *NotLeaderExceptionProto {
if x, ok := x.GetExceptionDetails().(*RaftClientReplyProto_NotLeaderException); ok {
return x.NotLeaderException
}
return nil
}
func (x *RaftClientReplyProto) GetNotReplicatedException() *NotReplicatedExceptionProto {
if x, ok := x.GetExceptionDetails().(*RaftClientReplyProto_NotReplicatedException); ok {
return x.NotReplicatedException
}
return nil
}
func (x *RaftClientReplyProto) GetStateMachineException() *StateMachineExceptionProto {
if x, ok := x.GetExceptionDetails().(*RaftClientReplyProto_StateMachineException); ok {
return x.StateMachineException
}
return nil
}
func (x *RaftClientReplyProto) GetLeaderNotReadyException() *LeaderNotReadyExceptionProto {
if x, ok := x.GetExceptionDetails().(*RaftClientReplyProto_LeaderNotReadyException); ok {
return x.LeaderNotReadyException
}
return nil
}
func (x *RaftClientReplyProto) GetLogIndex() uint64 {
if x != nil {
return x.LogIndex
}
return 0
}
func (x *RaftClientReplyProto) GetCommitInfos() []*CommitInfoProto {
if x != nil {
return x.CommitInfos
}
return nil
}
type isRaftClientReplyProto_ExceptionDetails interface {
isRaftClientReplyProto_ExceptionDetails()
}
type RaftClientReplyProto_NotLeaderException struct {
NotLeaderException *NotLeaderExceptionProto `protobuf:"bytes,3,opt,name=notLeaderException,proto3,oneof"`
}
type RaftClientReplyProto_NotReplicatedException struct {
NotReplicatedException *NotReplicatedExceptionProto `protobuf:"bytes,4,opt,name=notReplicatedException,proto3,oneof"`
}
type RaftClientReplyProto_StateMachineException struct {
StateMachineException *StateMachineExceptionProto `protobuf:"bytes,5,opt,name=stateMachineException,proto3,oneof"`
}
type RaftClientReplyProto_LeaderNotReadyException struct {
LeaderNotReadyException *LeaderNotReadyExceptionProto `protobuf:"bytes,6,opt,name=leaderNotReadyException,proto3,oneof"`
}
func (*RaftClientReplyProto_NotLeaderException) isRaftClientReplyProto_ExceptionDetails() {}
func (*RaftClientReplyProto_NotReplicatedException) isRaftClientReplyProto_ExceptionDetails() {}
func (*RaftClientReplyProto_StateMachineException) isRaftClientReplyProto_ExceptionDetails() {}
func (*RaftClientReplyProto_LeaderNotReadyException) isRaftClientReplyProto_ExceptionDetails() {}
// setConfiguration request
type SetConfigurationRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RpcRequest *RaftRpcRequestProto `protobuf:"bytes,1,opt,name=rpcRequest,proto3" json:"rpcRequest,omitempty"`
Peers []*RaftPeerProto `protobuf:"bytes,2,rep,name=peers,proto3" json:"peers,omitempty"`
}
func (x *SetConfigurationRequestProto) Reset() {
*x = SetConfigurationRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetConfigurationRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetConfigurationRequestProto) ProtoMessage() {}
func (x *SetConfigurationRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 SetConfigurationRequestProto.ProtoReflect.Descriptor instead.
func (*SetConfigurationRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{32}
}
func (x *SetConfigurationRequestProto) GetRpcRequest() *RaftRpcRequestProto {
if x != nil {
return x.RpcRequest
}
return nil
}
func (x *SetConfigurationRequestProto) GetPeers() []*RaftPeerProto {
if x != nil {
return x.Peers
}
return nil
}
// A request to add a new group
type GroupAddRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group *RaftGroupProto `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` // the group to be added.
}
func (x *GroupAddRequestProto) Reset() {
*x = GroupAddRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupAddRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupAddRequestProto) ProtoMessage() {}
func (x *GroupAddRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 GroupAddRequestProto.ProtoReflect.Descriptor instead.
func (*GroupAddRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{33}
}
func (x *GroupAddRequestProto) GetGroup() *RaftGroupProto {
if x != nil {
return x.Group
}
return nil
}
type GroupRemoveRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GroupId *RaftGroupIdProto `protobuf:"bytes,1,opt,name=groupId,proto3" json:"groupId,omitempty"` // the group to be removed.
DeleteDirectory bool `protobuf:"varint,2,opt,name=deleteDirectory,proto3" json:"deleteDirectory,omitempty"` // delete the directory for that group?
}
func (x *GroupRemoveRequestProto) Reset() {
*x = GroupRemoveRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupRemoveRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupRemoveRequestProto) ProtoMessage() {}
func (x *GroupRemoveRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 GroupRemoveRequestProto.ProtoReflect.Descriptor instead.
func (*GroupRemoveRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{34}
}
func (x *GroupRemoveRequestProto) GetGroupId() *RaftGroupIdProto {
if x != nil {
return x.GroupId
}
return nil
}
func (x *GroupRemoveRequestProto) GetDeleteDirectory() bool {
if x != nil {
return x.DeleteDirectory
}
return false
}
type GroupManagementRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RpcRequest *RaftRpcRequestProto `protobuf:"bytes,1,opt,name=rpcRequest,proto3" json:"rpcRequest,omitempty"`
// Types that are assignable to Op:
// *GroupManagementRequestProto_GroupAdd
// *GroupManagementRequestProto_GroupRemove
Op isGroupManagementRequestProto_Op `protobuf_oneof:"Op"`
}
func (x *GroupManagementRequestProto) Reset() {
*x = GroupManagementRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupManagementRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupManagementRequestProto) ProtoMessage() {}
func (x *GroupManagementRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 GroupManagementRequestProto.ProtoReflect.Descriptor instead.
func (*GroupManagementRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{35}
}
func (x *GroupManagementRequestProto) GetRpcRequest() *RaftRpcRequestProto {
if x != nil {
return x.RpcRequest
}
return nil
}
func (m *GroupManagementRequestProto) GetOp() isGroupManagementRequestProto_Op {
if m != nil {
return m.Op
}
return nil
}
func (x *GroupManagementRequestProto) GetGroupAdd() *GroupAddRequestProto {
if x, ok := x.GetOp().(*GroupManagementRequestProto_GroupAdd); ok {
return x.GroupAdd
}
return nil
}
func (x *GroupManagementRequestProto) GetGroupRemove() *GroupRemoveRequestProto {
if x, ok := x.GetOp().(*GroupManagementRequestProto_GroupRemove); ok {
return x.GroupRemove
}
return nil
}
type isGroupManagementRequestProto_Op interface {
isGroupManagementRequestProto_Op()
}
type GroupManagementRequestProto_GroupAdd struct {
GroupAdd *GroupAddRequestProto `protobuf:"bytes,2,opt,name=groupAdd,proto3,oneof"`
}
type GroupManagementRequestProto_GroupRemove struct {
GroupRemove *GroupRemoveRequestProto `protobuf:"bytes,3,opt,name=groupRemove,proto3,oneof"`
}
func (*GroupManagementRequestProto_GroupAdd) isGroupManagementRequestProto_Op() {}
func (*GroupManagementRequestProto_GroupRemove) isGroupManagementRequestProto_Op() {}
// server info requests
type GroupListRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RpcRequest *RaftRpcRequestProto `protobuf:"bytes,1,opt,name=rpcRequest,proto3" json:"rpcRequest,omitempty"`
}
func (x *GroupListRequestProto) Reset() {
*x = GroupListRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupListRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupListRequestProto) ProtoMessage() {}
func (x *GroupListRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 GroupListRequestProto.ProtoReflect.Descriptor instead.
func (*GroupListRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{36}
}
func (x *GroupListRequestProto) GetRpcRequest() *RaftRpcRequestProto {
if x != nil {
return x.RpcRequest
}
return nil
}
type GroupInfoRequestProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RpcRequest *RaftRpcRequestProto `protobuf:"bytes,1,opt,name=rpcRequest,proto3" json:"rpcRequest,omitempty"`
GroupId *RaftGroupIdProto `protobuf:"bytes,2,opt,name=groupId,proto3" json:"groupId,omitempty"`
}
func (x *GroupInfoRequestProto) Reset() {
*x = GroupInfoRequestProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupInfoRequestProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupInfoRequestProto) ProtoMessage() {}
func (x *GroupInfoRequestProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 GroupInfoRequestProto.ProtoReflect.Descriptor instead.
func (*GroupInfoRequestProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{37}
}
func (x *GroupInfoRequestProto) GetRpcRequest() *RaftRpcRequestProto {
if x != nil {
return x.RpcRequest
}
return nil
}
func (x *GroupInfoRequestProto) GetGroupId() *RaftGroupIdProto {
if x != nil {
return x.GroupId
}
return nil
}
type ServerRpcProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id *RaftPeerProto `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
LastRpcElapsedTimeMs uint64 `protobuf:"varint,2,opt,name=lastRpcElapsedTimeMs,proto3" json:"lastRpcElapsedTimeMs,omitempty"`
}
func (x *ServerRpcProto) Reset() {
*x = ServerRpcProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerRpcProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerRpcProto) ProtoMessage() {}
func (x *ServerRpcProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 ServerRpcProto.ProtoReflect.Descriptor instead.
func (*ServerRpcProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{38}
}
func (x *ServerRpcProto) GetId() *RaftPeerProto {
if x != nil {
return x.Id
}
return nil
}
func (x *ServerRpcProto) GetLastRpcElapsedTimeMs() uint64 {
if x != nil {
return x.LastRpcElapsedTimeMs
}
return 0
}
type LeaderInfoProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FollowerInfo []*ServerRpcProto `protobuf:"bytes,1,rep,name=followerInfo,proto3" json:"followerInfo,omitempty"`
}
func (x *LeaderInfoProto) Reset() {
*x = LeaderInfoProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LeaderInfoProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LeaderInfoProto) ProtoMessage() {}
func (x *LeaderInfoProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 LeaderInfoProto.ProtoReflect.Descriptor instead.
func (*LeaderInfoProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{39}
}
func (x *LeaderInfoProto) GetFollowerInfo() []*ServerRpcProto {
if x != nil {
return x.FollowerInfo
}
return nil
}
type FollowerInfoProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LeaderInfo *ServerRpcProto `protobuf:"bytes,1,opt,name=leaderInfo,proto3" json:"leaderInfo,omitempty"`
OutstandingOp uint32 `protobuf:"varint,2,opt,name=outstandingOp,proto3" json:"outstandingOp,omitempty"`
}
func (x *FollowerInfoProto) Reset() {
*x = FollowerInfoProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FollowerInfoProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FollowerInfoProto) ProtoMessage() {}
func (x *FollowerInfoProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 FollowerInfoProto.ProtoReflect.Descriptor instead.
func (*FollowerInfoProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{40}
}
func (x *FollowerInfoProto) GetLeaderInfo() *ServerRpcProto {
if x != nil {
return x.LeaderInfo
}
return nil
}
func (x *FollowerInfoProto) GetOutstandingOp() uint32 {
if x != nil {
return x.OutstandingOp
}
return 0
}
type CandidateInfoProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
LastLeaderElapsedTimeMs uint64 `protobuf:"varint,1,opt,name=lastLeaderElapsedTimeMs,proto3" json:"lastLeaderElapsedTimeMs,omitempty"`
}
func (x *CandidateInfoProto) Reset() {
*x = CandidateInfoProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CandidateInfoProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CandidateInfoProto) ProtoMessage() {}
func (x *CandidateInfoProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 CandidateInfoProto.ProtoReflect.Descriptor instead.
func (*CandidateInfoProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{41}
}
func (x *CandidateInfoProto) GetLastLeaderElapsedTimeMs() uint64 {
if x != nil {
return x.LastLeaderElapsedTimeMs
}
return 0
}
type RoleInfoProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Self *RaftPeerProto `protobuf:"bytes,1,opt,name=self,proto3" json:"self,omitempty"`
Role RaftPeerRole `protobuf:"varint,2,opt,name=role,proto3,enum=ratis.common.RaftPeerRole" json:"role,omitempty"`
RoleElapsedTimeMs uint64 `protobuf:"varint,3,opt,name=roleElapsedTimeMs,proto3" json:"roleElapsedTimeMs,omitempty"`
// Types that are assignable to PeerInfo:
// *RoleInfoProto_LeaderInfo
// *RoleInfoProto_FollowerInfo
// *RoleInfoProto_CandidateInfo
PeerInfo isRoleInfoProto_PeerInfo `protobuf_oneof:"PeerInfo"`
}
func (x *RoleInfoProto) Reset() {
*x = RoleInfoProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RoleInfoProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RoleInfoProto) ProtoMessage() {}
func (x *RoleInfoProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 RoleInfoProto.ProtoReflect.Descriptor instead.
func (*RoleInfoProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{42}
}
func (x *RoleInfoProto) GetSelf() *RaftPeerProto {
if x != nil {
return x.Self
}
return nil
}
func (x *RoleInfoProto) GetRole() RaftPeerRole {
if x != nil {
return x.Role
}
return RaftPeerRole_LEADER
}
func (x *RoleInfoProto) GetRoleElapsedTimeMs() uint64 {
if x != nil {
return x.RoleElapsedTimeMs
}
return 0
}
func (m *RoleInfoProto) GetPeerInfo() isRoleInfoProto_PeerInfo {
if m != nil {
return m.PeerInfo
}
return nil
}
func (x *RoleInfoProto) GetLeaderInfo() *LeaderInfoProto {
if x, ok := x.GetPeerInfo().(*RoleInfoProto_LeaderInfo); ok {
return x.LeaderInfo
}
return nil
}
func (x *RoleInfoProto) GetFollowerInfo() *FollowerInfoProto {
if x, ok := x.GetPeerInfo().(*RoleInfoProto_FollowerInfo); ok {
return x.FollowerInfo
}
return nil
}
func (x *RoleInfoProto) GetCandidateInfo() *CandidateInfoProto {
if x, ok := x.GetPeerInfo().(*RoleInfoProto_CandidateInfo); ok {
return x.CandidateInfo
}
return nil
}
type isRoleInfoProto_PeerInfo interface {
isRoleInfoProto_PeerInfo()
}
type RoleInfoProto_LeaderInfo struct {
LeaderInfo *LeaderInfoProto `protobuf:"bytes,4,opt,name=leaderInfo,proto3,oneof"`
}
type RoleInfoProto_FollowerInfo struct {
FollowerInfo *FollowerInfoProto `protobuf:"bytes,5,opt,name=followerInfo,proto3,oneof"`
}
type RoleInfoProto_CandidateInfo struct {
CandidateInfo *CandidateInfoProto `protobuf:"bytes,6,opt,name=candidateInfo,proto3,oneof"`
}
func (*RoleInfoProto_LeaderInfo) isRoleInfoProto_PeerInfo() {}
func (*RoleInfoProto_FollowerInfo) isRoleInfoProto_PeerInfo() {}
func (*RoleInfoProto_CandidateInfo) isRoleInfoProto_PeerInfo() {}
type GroupListReplyProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RpcReply *RaftRpcReplyProto `protobuf:"bytes,1,opt,name=rpcReply,proto3" json:"rpcReply,omitempty"`
GroupId []*RaftGroupIdProto `protobuf:"bytes,2,rep,name=groupId,proto3" json:"groupId,omitempty"`
}
func (x *GroupListReplyProto) Reset() {
*x = GroupListReplyProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupListReplyProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupListReplyProto) ProtoMessage() {}
func (x *GroupListReplyProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 GroupListReplyProto.ProtoReflect.Descriptor instead.
func (*GroupListReplyProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{43}
}
func (x *GroupListReplyProto) GetRpcReply() *RaftRpcReplyProto {
if x != nil {
return x.RpcReply
}
return nil
}
func (x *GroupListReplyProto) GetGroupId() []*RaftGroupIdProto {
if x != nil {
return x.GroupId
}
return nil
}
type GroupInfoReplyProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RpcReply *RaftRpcReplyProto `protobuf:"bytes,1,opt,name=rpcReply,proto3" json:"rpcReply,omitempty"`
Group *RaftGroupProto `protobuf:"bytes,2,opt,name=group,proto3" json:"group,omitempty"`
Role *RoleInfoProto `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"`
IsRaftStorageHealthy bool `protobuf:"varint,4,opt,name=isRaftStorageHealthy,proto3" json:"isRaftStorageHealthy,omitempty"`
CommitInfos []*CommitInfoProto `protobuf:"bytes,5,rep,name=commitInfos,proto3" json:"commitInfos,omitempty"`
}
func (x *GroupInfoReplyProto) Reset() {
*x = GroupInfoReplyProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GroupInfoReplyProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GroupInfoReplyProto) ProtoMessage() {}
func (x *GroupInfoReplyProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_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 GroupInfoReplyProto.ProtoReflect.Descriptor instead.
func (*GroupInfoReplyProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{44}
}
func (x *GroupInfoReplyProto) GetRpcReply() *RaftRpcReplyProto {
if x != nil {
return x.RpcReply
}
return nil
}
func (x *GroupInfoReplyProto) GetGroup() *RaftGroupProto {
if x != nil {
return x.Group
}
return nil
}
func (x *GroupInfoReplyProto) GetRole() *RoleInfoProto {
if x != nil {
return x.Role
}
return nil
}
func (x *GroupInfoReplyProto) GetIsRaftStorageHealthy() bool {
if x != nil {
return x.IsRaftStorageHealthy
}
return false
}
func (x *GroupInfoReplyProto) GetCommitInfos() []*CommitInfoProto {
if x != nil {
return x.CommitInfos
}
return nil
}
type InstallSnapshotRequestProto_SnapshotChunkProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
RequestId string `protobuf:"bytes,1,opt,name=requestId,proto3" json:"requestId,omitempty"` // an identifier for chunked-requests.
RequestIndex uint32 `protobuf:"varint,2,opt,name=requestIndex,proto3" json:"requestIndex,omitempty"` // the index for this request chunk. Starts from 0.
RaftConfiguration *RaftConfigurationProto `protobuf:"bytes,3,opt,name=raftConfiguration,proto3" json:"raftConfiguration,omitempty"`
TermIndex *TermIndexProto `protobuf:"bytes,4,opt,name=termIndex,proto3" json:"termIndex,omitempty"`
FileChunks []*FileChunkProto `protobuf:"bytes,5,rep,name=fileChunks,proto3" json:"fileChunks,omitempty"`
TotalSize uint64 `protobuf:"varint,6,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
Done bool `protobuf:"varint,7,opt,name=done,proto3" json:"done,omitempty"` // whether this is the final chunk for the same req.
}
func (x *InstallSnapshotRequestProto_SnapshotChunkProto) Reset() {
*x = InstallSnapshotRequestProto_SnapshotChunkProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InstallSnapshotRequestProto_SnapshotChunkProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstallSnapshotRequestProto_SnapshotChunkProto) ProtoMessage() {}
func (x *InstallSnapshotRequestProto_SnapshotChunkProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_proto_msgTypes[45]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InstallSnapshotRequestProto_SnapshotChunkProto.ProtoReflect.Descriptor instead.
func (*InstallSnapshotRequestProto_SnapshotChunkProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{19, 0}
}
func (x *InstallSnapshotRequestProto_SnapshotChunkProto) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *InstallSnapshotRequestProto_SnapshotChunkProto) GetRequestIndex() uint32 {
if x != nil {
return x.RequestIndex
}
return 0
}
func (x *InstallSnapshotRequestProto_SnapshotChunkProto) GetRaftConfiguration() *RaftConfigurationProto {
if x != nil {
return x.RaftConfiguration
}
return nil
}
func (x *InstallSnapshotRequestProto_SnapshotChunkProto) GetTermIndex() *TermIndexProto {
if x != nil {
return x.TermIndex
}
return nil
}
func (x *InstallSnapshotRequestProto_SnapshotChunkProto) GetFileChunks() []*FileChunkProto {
if x != nil {
return x.FileChunks
}
return nil
}
func (x *InstallSnapshotRequestProto_SnapshotChunkProto) GetTotalSize() uint64 {
if x != nil {
return x.TotalSize
}
return 0
}
func (x *InstallSnapshotRequestProto_SnapshotChunkProto) GetDone() bool {
if x != nil {
return x.Done
}
return false
}
type InstallSnapshotRequestProto_NotificationProto struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
FirstAvailableTermIndex *TermIndexProto `protobuf:"bytes,1,opt,name=firstAvailableTermIndex,proto3" json:"firstAvailableTermIndex,omitempty"` // first available log index to notify Follower to install snapshot.
}
func (x *InstallSnapshotRequestProto_NotificationProto) Reset() {
*x = InstallSnapshotRequestProto_NotificationProto{}
if protoimpl.UnsafeEnabled {
mi := &file_raft_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InstallSnapshotRequestProto_NotificationProto) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstallSnapshotRequestProto_NotificationProto) ProtoMessage() {}
func (x *InstallSnapshotRequestProto_NotificationProto) ProtoReflect() protoreflect.Message {
mi := &file_raft_proto_msgTypes[46]
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 InstallSnapshotRequestProto_NotificationProto.ProtoReflect.Descriptor instead.
func (*InstallSnapshotRequestProto_NotificationProto) Descriptor() ([]byte, []int) {
return file_raft_proto_rawDescGZIP(), []int{19, 1}
}
func (x *InstallSnapshotRequestProto_NotificationProto) GetFirstAvailableTermIndex() *TermIndexProto {
if x != nil {
return x.FirstAvailableTermIndex
}
return nil
}
var File_raft_proto protoreflect.FileDescriptor
var file_raft_proto_rawDesc = []byte{
0x0a, 0x0a, 0x72, 0x61, 0x66, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x72, 0x61,
0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x39, 0x0a, 0x0d, 0x52, 0x61,
0x66, 0x74, 0x50, 0x65, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64,
0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x22, 0x0a, 0x10, 0x52, 0x61, 0x66, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x22, 0x7d, 0x0a, 0x0e, 0x52, 0x61, 0x66,
0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x38, 0x0a, 0x07, 0x67,
0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72,
0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x50, 0x65, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x22, 0x6a, 0x0a, 0x16, 0x52, 0x61, 0x66, 0x74,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61,
0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x16, 0x52, 0x61, 0x66, 0x74, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x31, 0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61,
0x66, 0x74, 0x50, 0x65, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x70, 0x65, 0x65,
0x72, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x50, 0x65, 0x65, 0x72, 0x73, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x50, 0x65, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x50, 0x65, 0x65, 0x72, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x16,
0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4d,
0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x44, 0x61,
0x74, 0x61, 0x12, 0x40, 0x0a, 0x1b, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x53, 0x69, 0x7a,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64,
0x53, 0x69, 0x7a, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61,
0x63, 0x68, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x52, 0x0a, 0x11,
0x73, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68,
0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x11, 0x73,
0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01,
0x28, 0x0c, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61,
0x6c, 0x6c, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d,
0x69, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xc5, 0x02, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72,
0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x14, 0x0a,
0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e,
0x64, 0x65, 0x78, 0x12, 0x5d, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68,
0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x14, 0x73, 0x74,
0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x56, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61,
0x66, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x0d, 0x6d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00,
0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42,
0x0e, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x6f, 0x64, 0x79, 0x22,
0x3a, 0x0a, 0x0e, 0x54, 0x65, 0x72, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02,
0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xfd, 0x01, 0x0a, 0x13,
0x52, 0x61, 0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x12,
0x40, 0x0a, 0x0b, 0x72, 0x61, 0x66, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x72, 0x61, 0x66, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x04, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x12, 0x73, 0x6c, 0x69,
0x64, 0x69, 0x6e, 0x67, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18,
0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x6c, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x57, 0x69, 0x6e, 0x64,
0x6f, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x73, 0x6c, 0x69, 0x64, 0x69, 0x6e, 0x67,
0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x46, 0x0a, 0x12, 0x53,
0x6c, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
0x04, 0x52, 0x06, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x46,
0x69, 0x72, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x69,
0x72, 0x73, 0x74, 0x22, 0xc3, 0x01, 0x0a, 0x11, 0x52, 0x61, 0x66, 0x74, 0x52, 0x70, 0x63, 0x52,
0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b,
0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72,
0x65, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x72, 0x65,
0x70, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x61, 0x66, 0x74, 0x47, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x74,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x72, 0x61, 0x66, 0x74,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12,
0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08,
0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xca, 0x01, 0x0a, 0x0e, 0x46, 0x69,
0x6c, 0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08,
0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61,
0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x6f, 0x74,
0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x69,
0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65,
0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x68, 0x75, 0x6e,
0x6b, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12,
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61,
0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x22, 0xd6, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x47, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x74, 0x69,
0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x52, 0x70, 0x63,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0d, 0x73, 0x65,
0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63,
0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01,
0x28, 0x04, 0x52, 0x0d, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x72,
0x6d, 0x12, 0x4c, 0x0a, 0x12, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61,
0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x65, 0x72,
0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x12, 0x63, 0x61, 0x6e,
0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22,
0x96, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x74, 0x65, 0x52,
0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61,
0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52,
0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04,
0x74, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d,
0x12, 0x26, 0x0a, 0x0e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f,
0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64,
0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x22, 0x68, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d,
0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x33, 0x0a, 0x06, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x61,
0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x50,
0x65, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18,
0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x64,
0x65, 0x78, 0x22, 0x84, 0x03, 0x0a, 0x19, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74,
0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x47, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x65, 0x61,
0x64, 0x65, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6c,
0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x12, 0x3e, 0x0a, 0x0b, 0x70, 0x72, 0x65,
0x76, 0x69, 0x6f, 0x75, 0x73, 0x4c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x65,
0x72, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x70, 0x72,
0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x6e, 0x74,
0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x61, 0x74,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73,
0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x6f,
0x6d, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69,
0x7a, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74,
0x69, 0x61, 0x6c, 0x69, 0x7a, 0x69, 0x6e, 0x67, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d,
0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d,
0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x63, 0x6f,
0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xe2, 0x02, 0x0a, 0x17, 0x41, 0x70,
0x70, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52,
0x65, 0x70, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x74,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x52, 0x70,
0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d,
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09,
0x6e, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
0x09, 0x6e, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4a, 0x0a, 0x06, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x72, 0x61, 0x74,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64,
0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06,
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77,
0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e,
0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1e,
0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01,
0x28, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3e,
0x0a, 0x0c, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b,
0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4e,
0x4f, 0x54, 0x5f, 0x4c, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x49,
0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x02, 0x22, 0xb3,
0x06, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68,
0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x47,
0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x65, 0x61, 0x64, 0x65,
0x72, 0x54, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6c, 0x65, 0x61,
0x64, 0x65, 0x72, 0x54, 0x65, 0x72, 0x6d, 0x12, 0x64, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73,
0x68, 0x6f, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x6e,
0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68,
0x6f, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x0d,
0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x61, 0x0a,
0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68,
0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4e,
0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x48, 0x00, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x1a, 0xd6, 0x02, 0x0a, 0x12, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x68, 0x75,
0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x52, 0x0a, 0x11, 0x72, 0x61, 0x66,
0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x11, 0x72, 0x61, 0x66, 0x74,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a,
0x09, 0x74, 0x65, 0x72, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x54, 0x65, 0x72, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09,
0x74, 0x65, 0x72, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3c, 0x0a, 0x0a, 0x66, 0x69, 0x6c,
0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6c,
0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0a, 0x66, 0x69, 0x6c,
0x65, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c,
0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61,
0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20,
0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x1a, 0x6b, 0x0a, 0x11, 0x4e, 0x6f, 0x74,
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x56,
0x0a, 0x17, 0x66, 0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
0x54, 0x65, 0x72, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1c, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54,
0x65, 0x72, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x17, 0x66,
0x69, 0x72, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x65, 0x72,
0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x1c, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c,
0x6c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x42, 0x6f, 0x64, 0x79, 0x22, 0x99, 0x02, 0x0a, 0x19, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65,
0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20,
0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x74, 0x69,
0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06,
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0c,
0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0d,
0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20,
0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x42, 0x1a, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53,
0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x6f, 0x64, 0x79,
0x22, 0x33, 0x0a, 0x17, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63,
0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x16,
0x0a, 0x14, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70,
0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x19, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x52,
0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18,
0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22,
0x6f, 0x0a, 0x15, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54,
0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65,
0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x40,
0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65,
0x76, 0x65, 0x6c, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x22, 0xa1, 0x03, 0x0a, 0x16, 0x52, 0x61, 0x66, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x41, 0x0a, 0x0a, 0x72,
0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x21, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52,
0x61, 0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x52, 0x0a, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f,
0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x25, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
0x3b, 0x0a, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x72,
0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x04,
0x72, 0x65, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x61, 0x74,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00,
0x52, 0x04, 0x72, 0x65, 0x61, 0x64, 0x12, 0x47, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x52,
0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x74, 0x69,
0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x52, 0x65,
0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x64, 0x12,
0x3b, 0x0a, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x57, 0x61,
0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x05, 0x77, 0x61, 0x74, 0x63, 0x68, 0x42, 0x06, 0x0a, 0x04,
0x54, 0x79, 0x70, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x17, 0x4e, 0x6f, 0x74, 0x4c, 0x65, 0x61, 0x64,
0x65, 0x72, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x45, 0x0a, 0x0f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4c, 0x65, 0x61,
0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x61, 0x74, 0x69,
0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x50, 0x65, 0x65,
0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65,
0x64, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x73,
0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72,
0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74,
0x50, 0x65, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x73,
0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x22, 0x60, 0x0a, 0x1c, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72,
0x4e, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x40, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73,
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x93, 0x01, 0x0a, 0x1b, 0x4e, 0x6f, 0x74,
0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x6c, 0x6c,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x61, 0x6c, 0x6c, 0x49, 0x64,
0x12, 0x40, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03,
0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x88,
0x01, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x45,
0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2e, 0x0a,
0x12, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, 0x63, 0x65, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x61,
0x63, 0x6b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73,
0x74, 0x61, 0x63, 0x6b, 0x74, 0x72, 0x61, 0x63, 0x65, 0x22, 0x8d, 0x05, 0x0a, 0x14, 0x52, 0x61,
0x66, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x70, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x72, 0x70, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12,
0x3f, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x25, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x12, 0x57, 0x0a, 0x12, 0x6e, 0x6f, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x78, 0x63,
0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72,
0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x74, 0x4c,
0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x6e, 0x6f, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72,
0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x16, 0x6e, 0x6f, 0x74,
0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x74, 0x69,
0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x16, 0x6e, 0x6f, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x65, 0x64, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60,
0x0a, 0x15, 0x73, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x45, 0x78,
0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61,
0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x15, 0x73, 0x74, 0x61, 0x74, 0x65,
0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x66, 0x0a, 0x17, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x61,
0x64, 0x79, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x45,
0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52,
0x17, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x45,
0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e,
0x66, 0x6f, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x74, 0x69,
0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49,
0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
0x49, 0x6e, 0x66, 0x6f, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x1c, 0x53, 0x65,
0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x41, 0x0a, 0x0a, 0x72, 0x70,
0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61,
0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x52, 0x0a, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a,
0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72,
0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74,
0x50, 0x65, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73,
0x22, 0x4a, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x7d, 0x0a, 0x17,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x38, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73,
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
0x64, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63,
0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xf3, 0x01, 0x0a, 0x1b,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x41, 0x0a, 0x0a, 0x72,
0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x21, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52,
0x61, 0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x52, 0x0a, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40,
0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x64,
0x12, 0x49, 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x0b,
0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x04, 0x0a, 0x02, 0x4f,
0x70, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x41, 0x0a, 0x0a, 0x72, 0x70,
0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61,
0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x52, 0x0a, 0x72, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x94, 0x01,
0x0a, 0x15, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x41, 0x0a, 0x0a, 0x72, 0x70, 0x63, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61,
0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x52,
0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0a,
0x72, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61,
0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x47,
0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x70,
0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x50, 0x65, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52,
0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x70, 0x63, 0x45, 0x6c,
0x61, 0x70, 0x73, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
0x04, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x70, 0x63, 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65,
0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0x53, 0x0a, 0x0f, 0x4c, 0x65, 0x61, 0x64, 0x65,
0x72, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x40, 0x0a, 0x0c, 0x66, 0x6f,
0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1c, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0c,
0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x77, 0x0a, 0x11,
0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x3c, 0x0a, 0x0a, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x70, 0x63, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x52, 0x0a, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
0x24, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64,
0x69, 0x6e, 0x67, 0x4f, 0x70, 0x22, 0x4e, 0x0a, 0x12, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x38, 0x0a, 0x17, 0x6c,
0x61, 0x73, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64,
0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x6c, 0x61,
0x73, 0x74, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x54,
0x69, 0x6d, 0x65, 0x4d, 0x73, 0x22, 0xfc, 0x02, 0x0a, 0x0d, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x2f, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x50, 0x65, 0x65, 0x72, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x2e, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x6f,
0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x6f, 0x6c, 0x65,
0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x18, 0x03, 0x20,
0x01, 0x28, 0x04, 0x52, 0x11, 0x72, 0x6f, 0x6c, 0x65, 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64,
0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x3f, 0x0a, 0x0a, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x74,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x65, 0x61, 0x64, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x65, 0x61,
0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x0c, 0x66, 0x6f, 0x6c, 0x6c, 0x6f,
0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x6c,
0x6c, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00,
0x52, 0x0c, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48,
0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18,
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x61, 0x6e, 0x64, 0x69,
0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72,
0x49, 0x6e, 0x66, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69,
0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3b, 0x0a, 0x08,
0x72, 0x70, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61,
0x66, 0x74, 0x52, 0x70, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52,
0x08, 0x72, 0x70, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x38, 0x0a, 0x07, 0x67, 0x72, 0x6f,
0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x74,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x47, 0x72,
0x6f, 0x75, 0x70, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x49, 0x64, 0x22, 0xac, 0x02, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3b, 0x0a, 0x08, 0x72,
0x70, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66,
0x74, 0x52, 0x70, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08,
0x72, 0x70, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75,
0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x66, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2f, 0x0a, 0x04,
0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x61, 0x74,
0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x6e,
0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x0a,
0x14, 0x69, 0x73, 0x52, 0x61, 0x66, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x48, 0x65,
0x61, 0x6c, 0x74, 0x68, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x52,
0x61, 0x66, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
0x79, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x73,
0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f,
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66,
0x6f, 0x73, 0x2a, 0x6f, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x6e, 0x61,
0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x53,
0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f,
0x4c, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x50,
0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c, 0x52,
0x45, 0x41, 0x44, 0x59, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x03,
0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x46, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43,
0x48, 0x10, 0x04, 0x2a, 0x54, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x41, 0x4a, 0x4f, 0x52,
0x49, 0x54, 0x59, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x16,
0x0a, 0x12, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49,
0x54, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x4f,
0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x37, 0x0a, 0x0c, 0x52, 0x61, 0x66,
0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x41,
0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41,
0x54, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x52,
0x10, 0x02, 0x42, 0x53, 0x0a, 0x16, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65,
0x2e, 0x72, 0x61, 0x74, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x0a, 0x52, 0x61,
0x66, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x2a, 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, 0x72,
0x61, 0x74, 0x69, 0x73, 0xa0, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_raft_proto_rawDescOnce sync.Once
file_raft_proto_rawDescData = file_raft_proto_rawDesc
)
func file_raft_proto_rawDescGZIP() []byte {
file_raft_proto_rawDescOnce.Do(func() {
file_raft_proto_rawDescData = protoimpl.X.CompressGZIP(file_raft_proto_rawDescData)
})
return file_raft_proto_rawDescData
}
var file_raft_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_raft_proto_msgTypes = make([]protoimpl.MessageInfo, 47)
var file_raft_proto_goTypes = []interface{}{
(InstallSnapshotResult)(0), // 0: ratis.common.InstallSnapshotResult
(ReplicationLevel)(0), // 1: ratis.common.ReplicationLevel
(RaftPeerRole)(0), // 2: ratis.common.RaftPeerRole
(AppendEntriesReplyProto_AppendResult)(0), // 3: ratis.common.AppendEntriesReplyProto.AppendResult
(*RaftPeerProto)(nil), // 4: ratis.common.RaftPeerProto
(*RaftGroupIdProto)(nil), // 5: ratis.common.RaftGroupIdProto
(*RaftGroupProto)(nil), // 6: ratis.common.RaftGroupProto
(*RaftGroupMemberIdProto)(nil), // 7: ratis.common.RaftGroupMemberIdProto
(*RaftConfigurationProto)(nil), // 8: ratis.common.RaftConfigurationProto
(*StateMachineEntryProto)(nil), // 9: ratis.common.StateMachineEntryProto
(*StateMachineLogEntryProto)(nil), // 10: ratis.common.StateMachineLogEntryProto
(*MetadataProto)(nil), // 11: ratis.common.MetadataProto
(*LogEntryProto)(nil), // 12: ratis.common.LogEntryProto
(*TermIndexProto)(nil), // 13: ratis.common.TermIndexProto
(*RaftRpcRequestProto)(nil), // 14: ratis.common.RaftRpcRequestProto
(*SlidingWindowEntry)(nil), // 15: ratis.common.SlidingWindowEntry
(*RaftRpcReplyProto)(nil), // 16: ratis.common.RaftRpcReplyProto
(*FileChunkProto)(nil), // 17: ratis.common.FileChunkProto
(*RequestVoteRequestProto)(nil), // 18: ratis.common.RequestVoteRequestProto
(*RequestVoteReplyProto)(nil), // 19: ratis.common.RequestVoteReplyProto
(*CommitInfoProto)(nil), // 20: ratis.common.CommitInfoProto
(*AppendEntriesRequestProto)(nil), // 21: ratis.common.AppendEntriesRequestProto
(*AppendEntriesReplyProto)(nil), // 22: ratis.common.AppendEntriesReplyProto
(*InstallSnapshotRequestProto)(nil), // 23: ratis.common.InstallSnapshotRequestProto
(*InstallSnapshotReplyProto)(nil), // 24: ratis.common.InstallSnapshotReplyProto
(*ClientMessageEntryProto)(nil), // 25: ratis.common.ClientMessageEntryProto
(*WriteRequestTypeProto)(nil), // 26: ratis.common.WriteRequestTypeProto
(*ReadRequestTypeProto)(nil), // 27: ratis.common.ReadRequestTypeProto
(*StaleReadRequestTypeProto)(nil), // 28: ratis.common.StaleReadRequestTypeProto
(*WatchRequestTypeProto)(nil), // 29: ratis.common.WatchRequestTypeProto
(*RaftClientRequestProto)(nil), // 30: ratis.common.RaftClientRequestProto
(*NotLeaderExceptionProto)(nil), // 31: ratis.common.NotLeaderExceptionProto
(*LeaderNotReadyExceptionProto)(nil), // 32: ratis.common.LeaderNotReadyExceptionProto
(*NotReplicatedExceptionProto)(nil), // 33: ratis.common.NotReplicatedExceptionProto
(*StateMachineExceptionProto)(nil), // 34: ratis.common.StateMachineExceptionProto
(*RaftClientReplyProto)(nil), // 35: ratis.common.RaftClientReplyProto
(*SetConfigurationRequestProto)(nil), // 36: ratis.common.SetConfigurationRequestProto
(*GroupAddRequestProto)(nil), // 37: ratis.common.GroupAddRequestProto
(*GroupRemoveRequestProto)(nil), // 38: ratis.common.GroupRemoveRequestProto
(*GroupManagementRequestProto)(nil), // 39: ratis.common.GroupManagementRequestProto
(*GroupListRequestProto)(nil), // 40: ratis.common.GroupListRequestProto
(*GroupInfoRequestProto)(nil), // 41: ratis.common.GroupInfoRequestProto
(*ServerRpcProto)(nil), // 42: ratis.common.ServerRpcProto
(*LeaderInfoProto)(nil), // 43: ratis.common.LeaderInfoProto
(*FollowerInfoProto)(nil), // 44: ratis.common.FollowerInfoProto
(*CandidateInfoProto)(nil), // 45: ratis.common.CandidateInfoProto
(*RoleInfoProto)(nil), // 46: ratis.common.RoleInfoProto
(*GroupListReplyProto)(nil), // 47: ratis.common.GroupListReplyProto
(*GroupInfoReplyProto)(nil), // 48: ratis.common.GroupInfoReplyProto
(*InstallSnapshotRequestProto_SnapshotChunkProto)(nil), // 49: ratis.common.InstallSnapshotRequestProto.SnapshotChunkProto
(*InstallSnapshotRequestProto_NotificationProto)(nil), // 50: ratis.common.InstallSnapshotRequestProto.NotificationProto
}
var file_raft_proto_depIdxs = []int32{
5, // 0: ratis.common.RaftGroupProto.groupId:type_name -> ratis.common.RaftGroupIdProto
4, // 1: ratis.common.RaftGroupProto.peers:type_name -> ratis.common.RaftPeerProto
5, // 2: ratis.common.RaftGroupMemberIdProto.groupId:type_name -> ratis.common.RaftGroupIdProto
4, // 3: ratis.common.RaftConfigurationProto.peers:type_name -> ratis.common.RaftPeerProto
4, // 4: ratis.common.RaftConfigurationProto.oldPeers:type_name -> ratis.common.RaftPeerProto
9, // 5: ratis.common.StateMachineLogEntryProto.stateMachineEntry:type_name -> ratis.common.StateMachineEntryProto
10, // 6: ratis.common.LogEntryProto.stateMachineLogEntry:type_name -> ratis.common.StateMachineLogEntryProto
8, // 7: ratis.common.LogEntryProto.configurationEntry:type_name -> ratis.common.RaftConfigurationProto
11, // 8: ratis.common.LogEntryProto.metadataEntry:type_name -> ratis.common.MetadataProto
5, // 9: ratis.common.RaftRpcRequestProto.raftGroupId:type_name -> ratis.common.RaftGroupIdProto
15, // 10: ratis.common.RaftRpcRequestProto.slidingWindowEntry:type_name -> ratis.common.SlidingWindowEntry
5, // 11: ratis.common.RaftRpcReplyProto.raftGroupId:type_name -> ratis.common.RaftGroupIdProto
14, // 12: ratis.common.RequestVoteRequestProto.serverRequest:type_name -> ratis.common.RaftRpcRequestProto
13, // 13: ratis.common.RequestVoteRequestProto.candidateLastEntry:type_name -> ratis.common.TermIndexProto
16, // 14: ratis.common.RequestVoteReplyProto.serverReply:type_name -> ratis.common.RaftRpcReplyProto
4, // 15: ratis.common.CommitInfoProto.server:type_name -> ratis.common.RaftPeerProto
14, // 16: ratis.common.AppendEntriesRequestProto.serverRequest:type_name -> ratis.common.RaftRpcRequestProto
13, // 17: ratis.common.AppendEntriesRequestProto.previousLog:type_name -> ratis.common.TermIndexProto
12, // 18: ratis.common.AppendEntriesRequestProto.entries:type_name -> ratis.common.LogEntryProto
20, // 19: ratis.common.AppendEntriesRequestProto.commitInfos:type_name -> ratis.common.CommitInfoProto
16, // 20: ratis.common.AppendEntriesReplyProto.serverReply:type_name -> ratis.common.RaftRpcReplyProto
3, // 21: ratis.common.AppendEntriesReplyProto.result:type_name -> ratis.common.AppendEntriesReplyProto.AppendResult
14, // 22: ratis.common.InstallSnapshotRequestProto.serverRequest:type_name -> ratis.common.RaftRpcRequestProto
49, // 23: ratis.common.InstallSnapshotRequestProto.snapshotChunk:type_name -> ratis.common.InstallSnapshotRequestProto.SnapshotChunkProto
50, // 24: ratis.common.InstallSnapshotRequestProto.notification:type_name -> ratis.common.InstallSnapshotRequestProto.NotificationProto
16, // 25: ratis.common.InstallSnapshotReplyProto.serverReply:type_name -> ratis.common.RaftRpcReplyProto
0, // 26: ratis.common.InstallSnapshotReplyProto.result:type_name -> ratis.common.InstallSnapshotResult
1, // 27: ratis.common.WatchRequestTypeProto.replication:type_name -> ratis.common.ReplicationLevel
14, // 28: ratis.common.RaftClientRequestProto.rpcRequest:type_name -> ratis.common.RaftRpcRequestProto
25, // 29: ratis.common.RaftClientRequestProto.message:type_name -> ratis.common.ClientMessageEntryProto
26, // 30: ratis.common.RaftClientRequestProto.write:type_name -> ratis.common.WriteRequestTypeProto
27, // 31: ratis.common.RaftClientRequestProto.read:type_name -> ratis.common.ReadRequestTypeProto
28, // 32: ratis.common.RaftClientRequestProto.staleRead:type_name -> ratis.common.StaleReadRequestTypeProto
29, // 33: ratis.common.RaftClientRequestProto.watch:type_name -> ratis.common.WatchRequestTypeProto
4, // 34: ratis.common.NotLeaderExceptionProto.suggestedLeader:type_name -> ratis.common.RaftPeerProto
4, // 35: ratis.common.NotLeaderExceptionProto.peersInConf:type_name -> ratis.common.RaftPeerProto
7, // 36: ratis.common.LeaderNotReadyExceptionProto.serverId:type_name -> ratis.common.RaftGroupMemberIdProto
1, // 37: ratis.common.NotReplicatedExceptionProto.replication:type_name -> ratis.common.ReplicationLevel
16, // 38: ratis.common.RaftClientReplyProto.rpcReply:type_name -> ratis.common.RaftRpcReplyProto
25, // 39: ratis.common.RaftClientReplyProto.message:type_name -> ratis.common.ClientMessageEntryProto
31, // 40: ratis.common.RaftClientReplyProto.notLeaderException:type_name -> ratis.common.NotLeaderExceptionProto
33, // 41: ratis.common.RaftClientReplyProto.notReplicatedException:type_name -> ratis.common.NotReplicatedExceptionProto
34, // 42: ratis.common.RaftClientReplyProto.stateMachineException:type_name -> ratis.common.StateMachineExceptionProto
32, // 43: ratis.common.RaftClientReplyProto.leaderNotReadyException:type_name -> ratis.common.LeaderNotReadyExceptionProto
20, // 44: ratis.common.RaftClientReplyProto.commitInfos:type_name -> ratis.common.CommitInfoProto
14, // 45: ratis.common.SetConfigurationRequestProto.rpcRequest:type_name -> ratis.common.RaftRpcRequestProto
4, // 46: ratis.common.SetConfigurationRequestProto.peers:type_name -> ratis.common.RaftPeerProto
6, // 47: ratis.common.GroupAddRequestProto.group:type_name -> ratis.common.RaftGroupProto
5, // 48: ratis.common.GroupRemoveRequestProto.groupId:type_name -> ratis.common.RaftGroupIdProto
14, // 49: ratis.common.GroupManagementRequestProto.rpcRequest:type_name -> ratis.common.RaftRpcRequestProto
37, // 50: ratis.common.GroupManagementRequestProto.groupAdd:type_name -> ratis.common.GroupAddRequestProto
38, // 51: ratis.common.GroupManagementRequestProto.groupRemove:type_name -> ratis.common.GroupRemoveRequestProto
14, // 52: ratis.common.GroupListRequestProto.rpcRequest:type_name -> ratis.common.RaftRpcRequestProto
14, // 53: ratis.common.GroupInfoRequestProto.rpcRequest:type_name -> ratis.common.RaftRpcRequestProto
5, // 54: ratis.common.GroupInfoRequestProto.groupId:type_name -> ratis.common.RaftGroupIdProto
4, // 55: ratis.common.ServerRpcProto.id:type_name -> ratis.common.RaftPeerProto
42, // 56: ratis.common.LeaderInfoProto.followerInfo:type_name -> ratis.common.ServerRpcProto
42, // 57: ratis.common.FollowerInfoProto.leaderInfo:type_name -> ratis.common.ServerRpcProto
4, // 58: ratis.common.RoleInfoProto.self:type_name -> ratis.common.RaftPeerProto
2, // 59: ratis.common.RoleInfoProto.role:type_name -> ratis.common.RaftPeerRole
43, // 60: ratis.common.RoleInfoProto.leaderInfo:type_name -> ratis.common.LeaderInfoProto
44, // 61: ratis.common.RoleInfoProto.followerInfo:type_name -> ratis.common.FollowerInfoProto
45, // 62: ratis.common.RoleInfoProto.candidateInfo:type_name -> ratis.common.CandidateInfoProto
16, // 63: ratis.common.GroupListReplyProto.rpcReply:type_name -> ratis.common.RaftRpcReplyProto
5, // 64: ratis.common.GroupListReplyProto.groupId:type_name -> ratis.common.RaftGroupIdProto
16, // 65: ratis.common.GroupInfoReplyProto.rpcReply:type_name -> ratis.common.RaftRpcReplyProto
6, // 66: ratis.common.GroupInfoReplyProto.group:type_name -> ratis.common.RaftGroupProto
46, // 67: ratis.common.GroupInfoReplyProto.role:type_name -> ratis.common.RoleInfoProto
20, // 68: ratis.common.GroupInfoReplyProto.commitInfos:type_name -> ratis.common.CommitInfoProto
8, // 69: ratis.common.InstallSnapshotRequestProto.SnapshotChunkProto.raftConfiguration:type_name -> ratis.common.RaftConfigurationProto
13, // 70: ratis.common.InstallSnapshotRequestProto.SnapshotChunkProto.termIndex:type_name -> ratis.common.TermIndexProto
17, // 71: ratis.common.InstallSnapshotRequestProto.SnapshotChunkProto.fileChunks:type_name -> ratis.common.FileChunkProto
13, // 72: ratis.common.InstallSnapshotRequestProto.NotificationProto.firstAvailableTermIndex:type_name -> ratis.common.TermIndexProto
73, // [73:73] is the sub-list for method output_type
73, // [73:73] is the sub-list for method input_type
73, // [73:73] is the sub-list for extension type_name
73, // [73:73] is the sub-list for extension extendee
0, // [0:73] is the sub-list for field type_name
}
func init() { file_raft_proto_init() }
func file_raft_proto_init() {
if File_raft_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_raft_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RaftPeerProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RaftGroupIdProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RaftGroupProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RaftGroupMemberIdProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RaftConfigurationProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StateMachineEntryProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StateMachineLogEntryProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetadataProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LogEntryProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TermIndexProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RaftRpcRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SlidingWindowEntry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RaftRpcReplyProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FileChunkProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestVoteRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestVoteReplyProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommitInfoProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AppendEntriesRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AppendEntriesReplyProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InstallSnapshotRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InstallSnapshotReplyProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientMessageEntryProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WriteRequestTypeProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReadRequestTypeProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StaleReadRequestTypeProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*WatchRequestTypeProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RaftClientRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotLeaderExceptionProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LeaderNotReadyExceptionProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NotReplicatedExceptionProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StateMachineExceptionProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RaftClientReplyProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetConfigurationRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupAddRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupRemoveRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupManagementRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupListRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupInfoRequestProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerRpcProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LeaderInfoProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FollowerInfoProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CandidateInfoProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RoleInfoProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupListReplyProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GroupInfoReplyProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InstallSnapshotRequestProto_SnapshotChunkProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_raft_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InstallSnapshotRequestProto_NotificationProto); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_raft_proto_msgTypes[8].OneofWrappers = []interface{}{
(*LogEntryProto_StateMachineLogEntry)(nil),
(*LogEntryProto_ConfigurationEntry)(nil),
(*LogEntryProto_MetadataEntry)(nil),
}
file_raft_proto_msgTypes[19].OneofWrappers = []interface{}{
(*InstallSnapshotRequestProto_SnapshotChunk)(nil),
(*InstallSnapshotRequestProto_Notification)(nil),
}
file_raft_proto_msgTypes[20].OneofWrappers = []interface{}{
(*InstallSnapshotReplyProto_RequestIndex)(nil),
(*InstallSnapshotReplyProto_SnapshotIndex)(nil),
}
file_raft_proto_msgTypes[26].OneofWrappers = []interface{}{
(*RaftClientRequestProto_Write)(nil),
(*RaftClientRequestProto_Read)(nil),
(*RaftClientRequestProto_StaleRead)(nil),
(*RaftClientRequestProto_Watch)(nil),
}
file_raft_proto_msgTypes[31].OneofWrappers = []interface{}{
(*RaftClientReplyProto_NotLeaderException)(nil),
(*RaftClientReplyProto_NotReplicatedException)(nil),
(*RaftClientReplyProto_StateMachineException)(nil),
(*RaftClientReplyProto_LeaderNotReadyException)(nil),
}
file_raft_proto_msgTypes[35].OneofWrappers = []interface{}{
(*GroupManagementRequestProto_GroupAdd)(nil),
(*GroupManagementRequestProto_GroupRemove)(nil),
}
file_raft_proto_msgTypes[42].OneofWrappers = []interface{}{
(*RoleInfoProto_LeaderInfo)(nil),
(*RoleInfoProto_FollowerInfo)(nil),
(*RoleInfoProto_CandidateInfo)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_raft_proto_rawDesc,
NumEnums: 4,
NumMessages: 47,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_raft_proto_goTypes,
DependencyIndexes: file_raft_proto_depIdxs,
EnumInfos: file_raft_proto_enumTypes,
MessageInfos: file_raft_proto_msgTypes,
}.Build()
File_raft_proto = out.File
file_raft_proto_rawDesc = nil
file_raft_proto_goTypes = nil
file_raft_proto_depIdxs = nil
}