// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 // protoc v3.21.4 // source: streaming.proto package streamingpb import ( commonpb "github.com/milvus-io/milvus-proto/go-api/v2/commonpb" milvuspb "github.com/milvus-io/milvus-proto/go-api/v2/milvuspb" schemapb "github.com/milvus-io/milvus-proto/go-api/v2/schemapb" datapb "github.com/milvus-io/milvus/pkg/v2/proto/datapb" messagespb "github.com/milvus-io/milvus/pkg/v2/proto/messagespb" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" emptypb "google.golang.org/protobuf/types/known/emptypb" fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 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) ) // PChannelAccessMode is the access mode of a pchannel. type PChannelAccessMode int32 const ( PChannelAccessMode_PCHANNEL_ACCESS_READWRITE PChannelAccessMode = 0 // read and write by default. PChannelAccessMode_PCHANNEL_ACCESS_READONLY PChannelAccessMode = 1 // read only. ) // Enum value maps for PChannelAccessMode. var ( PChannelAccessMode_name = map[int32]string{ 0: "PCHANNEL_ACCESS_READWRITE", 1: "PCHANNEL_ACCESS_READONLY", } PChannelAccessMode_value = map[string]int32{ "PCHANNEL_ACCESS_READWRITE": 0, "PCHANNEL_ACCESS_READONLY": 1, } ) func (x PChannelAccessMode) Enum() *PChannelAccessMode { p := new(PChannelAccessMode) *p = x return p } func (x PChannelAccessMode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PChannelAccessMode) Descriptor() protoreflect.EnumDescriptor { return file_streaming_proto_enumTypes[0].Descriptor() } func (PChannelAccessMode) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[0] } func (x PChannelAccessMode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use PChannelAccessMode.Descriptor instead. func (PChannelAccessMode) EnumDescriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{0} } // PChannelMetaState type PChannelMetaState int32 const ( PChannelMetaState_PCHANNEL_META_STATE_UNKNOWN PChannelMetaState = 0 // should never used. PChannelMetaState_PCHANNEL_META_STATE_UNINITIALIZED PChannelMetaState = 1 // channel is uninitialized, never assgined to any streaming node. PChannelMetaState_PCHANNEL_META_STATE_ASSIGNING PChannelMetaState = 2 // new term is allocated, but not determined to be assgined. PChannelMetaState_PCHANNEL_META_STATE_ASSIGNED PChannelMetaState = 3 // channel is assigned to a streaming node. PChannelMetaState_PCHANNEL_META_STATE_UNAVAILABLE PChannelMetaState = 4 // channel is unavailable at this term. ) // Enum value maps for PChannelMetaState. var ( PChannelMetaState_name = map[int32]string{ 0: "PCHANNEL_META_STATE_UNKNOWN", 1: "PCHANNEL_META_STATE_UNINITIALIZED", 2: "PCHANNEL_META_STATE_ASSIGNING", 3: "PCHANNEL_META_STATE_ASSIGNED", 4: "PCHANNEL_META_STATE_UNAVAILABLE", } PChannelMetaState_value = map[string]int32{ "PCHANNEL_META_STATE_UNKNOWN": 0, "PCHANNEL_META_STATE_UNINITIALIZED": 1, "PCHANNEL_META_STATE_ASSIGNING": 2, "PCHANNEL_META_STATE_ASSIGNED": 3, "PCHANNEL_META_STATE_UNAVAILABLE": 4, } ) func (x PChannelMetaState) Enum() *PChannelMetaState { p := new(PChannelMetaState) *p = x return p } func (x PChannelMetaState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PChannelMetaState) Descriptor() protoreflect.EnumDescriptor { return file_streaming_proto_enumTypes[1].Descriptor() } func (PChannelMetaState) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[1] } func (x PChannelMetaState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use PChannelMetaState.Descriptor instead. func (PChannelMetaState) EnumDescriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{1} } // BroadcastTaskState is the state of the broadcast task. type BroadcastTaskState int32 const ( BroadcastTaskState_BROADCAST_TASK_STATE_UNKNOWN BroadcastTaskState = 0 // should never used. BroadcastTaskState_BROADCAST_TASK_STATE_PENDING BroadcastTaskState = 1 // task is pending. BroadcastTaskState_BROADCAST_TASK_STATE_DONE BroadcastTaskState = 2 // task has been broadcasted and acknowledged, the resource lock is released, and the persisted task can be cleared. // Deprecated: Marked as deprecated in streaming.proto. BroadcastTaskState_BROADCAST_TASK_STATE_WAIT_ACK BroadcastTaskState = 3 // task has been broadcasted, waiting for ack, the resource lock is still acquired by some vchannels. BroadcastTaskState_BROADCAST_TASK_STATE_REPLICATED BroadcastTaskState = 4 // task is replicated from the source cluster, the resource lock isn't acquired, so the execution order should be protected by the order of broadcastID. BroadcastTaskState_BROADCAST_TASK_STATE_TOMBSTONE BroadcastTaskState = 5 // task is tombstone, it's used to mark the task is already acked, but for idempotency and deduplication, it will be kept in recovery stroage for a while. ) // Enum value maps for BroadcastTaskState. var ( BroadcastTaskState_name = map[int32]string{ 0: "BROADCAST_TASK_STATE_UNKNOWN", 1: "BROADCAST_TASK_STATE_PENDING", 2: "BROADCAST_TASK_STATE_DONE", 3: "BROADCAST_TASK_STATE_WAIT_ACK", 4: "BROADCAST_TASK_STATE_REPLICATED", 5: "BROADCAST_TASK_STATE_TOMBSTONE", } BroadcastTaskState_value = map[string]int32{ "BROADCAST_TASK_STATE_UNKNOWN": 0, "BROADCAST_TASK_STATE_PENDING": 1, "BROADCAST_TASK_STATE_DONE": 2, "BROADCAST_TASK_STATE_WAIT_ACK": 3, "BROADCAST_TASK_STATE_REPLICATED": 4, "BROADCAST_TASK_STATE_TOMBSTONE": 5, } ) func (x BroadcastTaskState) Enum() *BroadcastTaskState { p := new(BroadcastTaskState) *p = x return p } func (x BroadcastTaskState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (BroadcastTaskState) Descriptor() protoreflect.EnumDescriptor { return file_streaming_proto_enumTypes[2].Descriptor() } func (BroadcastTaskState) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[2] } func (x BroadcastTaskState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use BroadcastTaskState.Descriptor instead. func (BroadcastTaskState) EnumDescriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{2} } // StreamingCode is the error code for log internal component. type StreamingCode int32 const ( StreamingCode_STREAMING_CODE_OK StreamingCode = 0 StreamingCode_STREAMING_CODE_CHANNEL_NOT_EXIST StreamingCode = 1 // channel not exist StreamingCode_STREAMING_CODE_CHANNEL_FENCED StreamingCode = 2 // channel is fenced StreamingCode_STREAMING_CODE_ON_SHUTDOWN StreamingCode = 3 // component is on shutdown StreamingCode_STREAMING_CODE_INVALID_REQUEST_SEQ StreamingCode = 4 // invalid request sequence StreamingCode_STREAMING_CODE_UNMATCHED_CHANNEL_TERM StreamingCode = 5 // unmatched channel term StreamingCode_STREAMING_CODE_IGNORED_OPERATION StreamingCode = 6 // ignored operation StreamingCode_STREAMING_CODE_INNER StreamingCode = 7 // underlying service failure. StreamingCode_STREAMING_CODE_INVAILD_ARGUMENT StreamingCode = 8 // invalid argument StreamingCode_STREAMING_CODE_TRANSACTION_EXPIRED StreamingCode = 9 // transaction expired StreamingCode_STREAMING_CODE_INVALID_TRANSACTION_STATE StreamingCode = 10 // invalid transaction state StreamingCode_STREAMING_CODE_UNRECOVERABLE StreamingCode = 11 // unrecoverable error StreamingCode_STREAMING_CODE_RESOURCE_ACQUIRED StreamingCode = 12 // resource is acquired by other operation StreamingCode_STREAMING_CODE_REPLICATE_VIOLATION StreamingCode = 13 // replicate violation StreamingCode_STREAMING_CODE_UNKNOWN StreamingCode = 999 // unknown error ) // Enum value maps for StreamingCode. var ( StreamingCode_name = map[int32]string{ 0: "STREAMING_CODE_OK", 1: "STREAMING_CODE_CHANNEL_NOT_EXIST", 2: "STREAMING_CODE_CHANNEL_FENCED", 3: "STREAMING_CODE_ON_SHUTDOWN", 4: "STREAMING_CODE_INVALID_REQUEST_SEQ", 5: "STREAMING_CODE_UNMATCHED_CHANNEL_TERM", 6: "STREAMING_CODE_IGNORED_OPERATION", 7: "STREAMING_CODE_INNER", 8: "STREAMING_CODE_INVAILD_ARGUMENT", 9: "STREAMING_CODE_TRANSACTION_EXPIRED", 10: "STREAMING_CODE_INVALID_TRANSACTION_STATE", 11: "STREAMING_CODE_UNRECOVERABLE", 12: "STREAMING_CODE_RESOURCE_ACQUIRED", 13: "STREAMING_CODE_REPLICATE_VIOLATION", 999: "STREAMING_CODE_UNKNOWN", } StreamingCode_value = map[string]int32{ "STREAMING_CODE_OK": 0, "STREAMING_CODE_CHANNEL_NOT_EXIST": 1, "STREAMING_CODE_CHANNEL_FENCED": 2, "STREAMING_CODE_ON_SHUTDOWN": 3, "STREAMING_CODE_INVALID_REQUEST_SEQ": 4, "STREAMING_CODE_UNMATCHED_CHANNEL_TERM": 5, "STREAMING_CODE_IGNORED_OPERATION": 6, "STREAMING_CODE_INNER": 7, "STREAMING_CODE_INVAILD_ARGUMENT": 8, "STREAMING_CODE_TRANSACTION_EXPIRED": 9, "STREAMING_CODE_INVALID_TRANSACTION_STATE": 10, "STREAMING_CODE_UNRECOVERABLE": 11, "STREAMING_CODE_RESOURCE_ACQUIRED": 12, "STREAMING_CODE_REPLICATE_VIOLATION": 13, "STREAMING_CODE_UNKNOWN": 999, } ) func (x StreamingCode) Enum() *StreamingCode { p := new(StreamingCode) *p = x return p } func (x StreamingCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (StreamingCode) Descriptor() protoreflect.EnumDescriptor { return file_streaming_proto_enumTypes[3].Descriptor() } func (StreamingCode) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[3] } func (x StreamingCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use StreamingCode.Descriptor instead. func (StreamingCode) EnumDescriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{3} } // VChannelState is the state of vchannel type VChannelState int32 const ( VChannelState_VCHANNEL_STATE_UNKNOWN VChannelState = 0 // should never used. VChannelState_VCHANNEL_STATE_NORMAL VChannelState = 1 // vchannel is normal. VChannelState_VCHANNEL_STATE_DROPPED VChannelState = 2 // vchannel is dropped. ) // Enum value maps for VChannelState. var ( VChannelState_name = map[int32]string{ 0: "VCHANNEL_STATE_UNKNOWN", 1: "VCHANNEL_STATE_NORMAL", 2: "VCHANNEL_STATE_DROPPED", } VChannelState_value = map[string]int32{ "VCHANNEL_STATE_UNKNOWN": 0, "VCHANNEL_STATE_NORMAL": 1, "VCHANNEL_STATE_DROPPED": 2, } ) func (x VChannelState) Enum() *VChannelState { p := new(VChannelState) *p = x return p } func (x VChannelState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (VChannelState) Descriptor() protoreflect.EnumDescriptor { return file_streaming_proto_enumTypes[4].Descriptor() } func (VChannelState) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[4] } func (x VChannelState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use VChannelState.Descriptor instead. func (VChannelState) EnumDescriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{4} } // VChannelSchemaState is the state of vchannel schema. type VChannelSchemaState int32 const ( VChannelSchemaState_VCHANNEL_SCHEMA_STATE_UNKNOWN VChannelSchemaState = 0 // should never used. VChannelSchemaState_VCHANNEL_SCHEMA_STATE_NORMAL VChannelSchemaState = 1 // vchannel schema is normal. VChannelSchemaState_VCHANNEL_SCHEMA_STATE_DROPPED VChannelSchemaState = 2 // vchannel schema is dropped. ) // Enum value maps for VChannelSchemaState. var ( VChannelSchemaState_name = map[int32]string{ 0: "VCHANNEL_SCHEMA_STATE_UNKNOWN", 1: "VCHANNEL_SCHEMA_STATE_NORMAL", 2: "VCHANNEL_SCHEMA_STATE_DROPPED", } VChannelSchemaState_value = map[string]int32{ "VCHANNEL_SCHEMA_STATE_UNKNOWN": 0, "VCHANNEL_SCHEMA_STATE_NORMAL": 1, "VCHANNEL_SCHEMA_STATE_DROPPED": 2, } ) func (x VChannelSchemaState) Enum() *VChannelSchemaState { p := new(VChannelSchemaState) *p = x return p } func (x VChannelSchemaState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (VChannelSchemaState) Descriptor() protoreflect.EnumDescriptor { return file_streaming_proto_enumTypes[5].Descriptor() } func (VChannelSchemaState) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[5] } func (x VChannelSchemaState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use VChannelSchemaState.Descriptor instead. func (VChannelSchemaState) EnumDescriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{5} } type SegmentAssignmentState int32 const ( SegmentAssignmentState_SEGMENT_ASSIGNMENT_STATE_UNKNOWN SegmentAssignmentState = 0 // should never used. SegmentAssignmentState_SEGMENT_ASSIGNMENT_STATE_GROWING SegmentAssignmentState = 1 SegmentAssignmentState_SEGMENT_ASSIGNMENT_STATE_FLUSHED SegmentAssignmentState = 2 ) // Enum value maps for SegmentAssignmentState. var ( SegmentAssignmentState_name = map[int32]string{ 0: "SEGMENT_ASSIGNMENT_STATE_UNKNOWN", 1: "SEGMENT_ASSIGNMENT_STATE_GROWING", 2: "SEGMENT_ASSIGNMENT_STATE_FLUSHED", } SegmentAssignmentState_value = map[string]int32{ "SEGMENT_ASSIGNMENT_STATE_UNKNOWN": 0, "SEGMENT_ASSIGNMENT_STATE_GROWING": 1, "SEGMENT_ASSIGNMENT_STATE_FLUSHED": 2, } ) func (x SegmentAssignmentState) Enum() *SegmentAssignmentState { p := new(SegmentAssignmentState) *p = x return p } func (x SegmentAssignmentState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SegmentAssignmentState) Descriptor() protoreflect.EnumDescriptor { return file_streaming_proto_enumTypes[6].Descriptor() } func (SegmentAssignmentState) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[6] } func (x SegmentAssignmentState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SegmentAssignmentState.Descriptor instead. func (SegmentAssignmentState) EnumDescriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{6} } // PChannelInfo is the information of a pchannel info, should only keep the // basic info of a pchannel. It's used in many rpc and meta, so keep it simple. type PChannelInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // channel name Term int64 `protobuf:"varint,2,opt,name=term,proto3" json:"term,omitempty"` // A monotonic increasing term, every time the channel is // recovered or moved to another streamingnode, the term // will increase by meta server. AccessMode PChannelAccessMode `protobuf:"varint,3,opt,name=access_mode,json=accessMode,proto3,enum=milvus.proto.streaming.PChannelAccessMode" json:"access_mode,omitempty"` // access mode of the channel. } func (x *PChannelInfo) Reset() { *x = PChannelInfo{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PChannelInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*PChannelInfo) ProtoMessage() {} func (x *PChannelInfo) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 PChannelInfo.ProtoReflect.Descriptor instead. func (*PChannelInfo) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{0} } func (x *PChannelInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *PChannelInfo) GetTerm() int64 { if x != nil { return x.Term } return 0 } func (x *PChannelInfo) GetAccessMode() PChannelAccessMode { if x != nil { return x.AccessMode } return PChannelAccessMode_PCHANNEL_ACCESS_READWRITE } // PChannelAssignmentLog is the log of meta information of a pchannel, should // only keep the data that is necessary to persistent. type PChannelAssignmentLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Term int64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` // term when server assigned. Node *StreamingNodeInfo `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"` // streaming node that the channel is assigned to. AccessMode PChannelAccessMode `protobuf:"varint,3,opt,name=access_mode,json=accessMode,proto3,enum=milvus.proto.streaming.PChannelAccessMode" json:"access_mode,omitempty"` // access mode of the channel. } func (x *PChannelAssignmentLog) Reset() { *x = PChannelAssignmentLog{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PChannelAssignmentLog) String() string { return protoimpl.X.MessageStringOf(x) } func (*PChannelAssignmentLog) ProtoMessage() {} func (x *PChannelAssignmentLog) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 PChannelAssignmentLog.ProtoReflect.Descriptor instead. func (*PChannelAssignmentLog) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{1} } func (x *PChannelAssignmentLog) GetTerm() int64 { if x != nil { return x.Term } return 0 } func (x *PChannelAssignmentLog) GetNode() *StreamingNodeInfo { if x != nil { return x.Node } return nil } func (x *PChannelAssignmentLog) GetAccessMode() PChannelAccessMode { if x != nil { return x.AccessMode } return PChannelAccessMode_PCHANNEL_ACCESS_READWRITE } // PChannelMeta is the meta information of a pchannel, should only keep the data // that is necessary to persistent. It's only used in meta, so do not use it in // rpc. type PChannelMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channel *PChannelInfo `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` // keep the meta info that current assigned to. Node *StreamingNodeInfo `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"` // nil if channel is not uninitialized. State PChannelMetaState `protobuf:"varint,3,opt,name=state,proto3,enum=milvus.proto.streaming.PChannelMetaState" json:"state,omitempty"` // state of the channel. Histories []*PChannelAssignmentLog `protobuf:"bytes,4,rep,name=histories,proto3" json:"histories,omitempty"` // keep the meta info assignment log that used to be assigned to. LastAssignTimestampSeconds uint64 `protobuf:"varint,5,opt,name=last_assign_timestamp_seconds,json=lastAssignTimestampSeconds,proto3" json:"last_assign_timestamp_seconds,omitempty"` // The last assigned timestamp in seconds. } func (x *PChannelMeta) Reset() { *x = PChannelMeta{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PChannelMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*PChannelMeta) ProtoMessage() {} func (x *PChannelMeta) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 PChannelMeta.ProtoReflect.Descriptor instead. func (*PChannelMeta) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{2} } func (x *PChannelMeta) GetChannel() *PChannelInfo { if x != nil { return x.Channel } return nil } func (x *PChannelMeta) GetNode() *StreamingNodeInfo { if x != nil { return x.Node } return nil } func (x *PChannelMeta) GetState() PChannelMetaState { if x != nil { return x.State } return PChannelMetaState_PCHANNEL_META_STATE_UNKNOWN } func (x *PChannelMeta) GetHistories() []*PChannelAssignmentLog { if x != nil { return x.Histories } return nil } func (x *PChannelMeta) GetLastAssignTimestampSeconds() uint64 { if x != nil { return x.LastAssignTimestampSeconds } return 0 } // CChannelMeta is the meta information of a control channel. type CChannelMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pchannel string `protobuf:"bytes,1,opt,name=pchannel,proto3" json:"pchannel,omitempty"` // the pchannel that control channel locate on. } func (x *CChannelMeta) Reset() { *x = CChannelMeta{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CChannelMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*CChannelMeta) ProtoMessage() {} func (x *CChannelMeta) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 CChannelMeta.ProtoReflect.Descriptor instead. func (*CChannelMeta) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{3} } func (x *CChannelMeta) GetPchannel() string { if x != nil { return x.Pchannel } return "" } // StreamingVersion is the version of the streaming service. type StreamingVersion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Version int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` // version of the streaming, } func (x *StreamingVersion) Reset() { *x = StreamingVersion{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingVersion) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingVersion) ProtoMessage() {} func (x *StreamingVersion) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 StreamingVersion.ProtoReflect.Descriptor instead. func (*StreamingVersion) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{4} } func (x *StreamingVersion) GetVersion() int64 { if x != nil { return x.Version } return 0 } // VersionPair is the version pair of global and local. type VersionPair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Global int64 `protobuf:"varint,1,opt,name=global,proto3" json:"global,omitempty"` Local int64 `protobuf:"varint,2,opt,name=local,proto3" json:"local,omitempty"` } func (x *VersionPair) Reset() { *x = VersionPair{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VersionPair) String() string { return protoimpl.X.MessageStringOf(x) } func (*VersionPair) ProtoMessage() {} func (x *VersionPair) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 VersionPair.ProtoReflect.Descriptor instead. func (*VersionPair) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{5} } func (x *VersionPair) GetGlobal() int64 { if x != nil { return x.Global } return 0 } func (x *VersionPair) GetLocal() int64 { if x != nil { return x.Local } return 0 } // BroadcastTask is the task to broadcast the messake. type BroadcastTask struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Message *messagespb.Message `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` // message to be broadcast. State BroadcastTaskState `protobuf:"varint,2,opt,name=state,proto3,enum=milvus.proto.streaming.BroadcastTaskState" json:"state,omitempty"` // state of the task. // Deprecated: Marked as deprecated in streaming.proto. AckedVchannelBitmap []byte `protobuf:"bytes,3,opt,name=acked_vchannel_bitmap,json=ackedVchannelBitmap,proto3" json:"acked_vchannel_bitmap,omitempty"` // deprecated, use acked_checkpoints instead. AckedCheckpoints []*AckedCheckpoint `protobuf:"bytes,4,rep,name=acked_checkpoints,json=ackedCheckpoints,proto3" json:"acked_checkpoints,omitempty"` // given vchannels that have been acked, the size of bitmap is same with message.BroadcastHeader().VChannels. } func (x *BroadcastTask) Reset() { *x = BroadcastTask{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BroadcastTask) String() string { return protoimpl.X.MessageStringOf(x) } func (*BroadcastTask) ProtoMessage() {} func (x *BroadcastTask) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 BroadcastTask.ProtoReflect.Descriptor instead. func (*BroadcastTask) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{6} } func (x *BroadcastTask) GetMessage() *messagespb.Message { if x != nil { return x.Message } return nil } func (x *BroadcastTask) GetState() BroadcastTaskState { if x != nil { return x.State } return BroadcastTaskState_BROADCAST_TASK_STATE_UNKNOWN } // Deprecated: Marked as deprecated in streaming.proto. func (x *BroadcastTask) GetAckedVchannelBitmap() []byte { if x != nil { return x.AckedVchannelBitmap } return nil } func (x *BroadcastTask) GetAckedCheckpoints() []*AckedCheckpoint { if x != nil { return x.AckedCheckpoints } return nil } // AckedResult is the result of the ack. // It's a helper proto to help managing the consuming of broadcast message at coordinator. type AckedResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Channels []string `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` // may be pchannel name or vchannel name. AckedCheckpoints []*AckedCheckpoint `protobuf:"bytes,2,rep,name=acked_checkpoints,json=ackedCheckpoints,proto3" json:"acked_checkpoints,omitempty"` // always same length with channels, not nil if acked. } func (x *AckedResult) Reset() { *x = AckedResult{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AckedResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*AckedResult) ProtoMessage() {} func (x *AckedResult) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 AckedResult.ProtoReflect.Descriptor instead. func (*AckedResult) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{7} } func (x *AckedResult) GetChannels() []string { if x != nil { return x.Channels } return nil } func (x *AckedResult) GetAckedCheckpoints() []*AckedCheckpoint { if x != nil { return x.AckedCheckpoints } return nil } // AckedCheckpoint is the checkpoint that has been acked. type AckedCheckpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MessageId *commonpb.MessageID `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` // the message id that has been acked. LastConfirmedMessageId *commonpb.MessageID `protobuf:"bytes,2,opt,name=last_confirmed_message_id,json=lastConfirmedMessageId,proto3" json:"last_confirmed_message_id,omitempty"` // the last confirmed message id that has been acked. TimeTick uint64 `protobuf:"varint,3,opt,name=time_tick,json=timeTick,proto3" json:"time_tick,omitempty"` // the time tick of the message that has been acked. } func (x *AckedCheckpoint) Reset() { *x = AckedCheckpoint{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AckedCheckpoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*AckedCheckpoint) ProtoMessage() {} func (x *AckedCheckpoint) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 AckedCheckpoint.ProtoReflect.Descriptor instead. func (*AckedCheckpoint) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{8} } func (x *AckedCheckpoint) GetMessageId() *commonpb.MessageID { if x != nil { return x.MessageId } return nil } func (x *AckedCheckpoint) GetLastConfirmedMessageId() *commonpb.MessageID { if x != nil { return x.LastConfirmedMessageId } return nil } func (x *AckedCheckpoint) GetTimeTick() uint64 { if x != nil { return x.TimeTick } return 0 } // BroadcastRequest is the request of the Broadcast RPC. type BroadcastRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Message *messagespb.Message `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` // message to be broadcast. } func (x *BroadcastRequest) Reset() { *x = BroadcastRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BroadcastRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*BroadcastRequest) ProtoMessage() {} func (x *BroadcastRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 BroadcastRequest.ProtoReflect.Descriptor instead. func (*BroadcastRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{9} } func (x *BroadcastRequest) GetMessage() *messagespb.Message { if x != nil { return x.Message } return nil } // BroadcastResponse is the response of the Broadcast RPC. type BroadcastResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Results map[string]*ProduceMessageResponseResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` BroadcastId uint64 `protobuf:"varint,2,opt,name=broadcast_id,json=broadcastId,proto3" json:"broadcast_id,omitempty"` } func (x *BroadcastResponse) Reset() { *x = BroadcastResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BroadcastResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BroadcastResponse) ProtoMessage() {} func (x *BroadcastResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 BroadcastResponse.ProtoReflect.Descriptor instead. func (*BroadcastResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{10} } func (x *BroadcastResponse) GetResults() map[string]*ProduceMessageResponseResult { if x != nil { return x.Results } return nil } func (x *BroadcastResponse) GetBroadcastId() uint64 { if x != nil { return x.BroadcastId } return 0 } type BroadcastAckRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Deprecated: Marked as deprecated in streaming.proto. BroadcastId uint64 `protobuf:"varint,1,opt,name=broadcast_id,json=broadcastId,proto3" json:"broadcast_id,omitempty"` // broadcast id. // Deprecated: Marked as deprecated in streaming.proto. Vchannel string `protobuf:"bytes,2,opt,name=vchannel,proto3" json:"vchannel,omitempty"` // the vchannel that acked the message. Message *commonpb.ImmutableMessage `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // the message that to be acked. } func (x *BroadcastAckRequest) Reset() { *x = BroadcastAckRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BroadcastAckRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*BroadcastAckRequest) ProtoMessage() {} func (x *BroadcastAckRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 BroadcastAckRequest.ProtoReflect.Descriptor instead. func (*BroadcastAckRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{11} } // Deprecated: Marked as deprecated in streaming.proto. func (x *BroadcastAckRequest) GetBroadcastId() uint64 { if x != nil { return x.BroadcastId } return 0 } // Deprecated: Marked as deprecated in streaming.proto. func (x *BroadcastAckRequest) GetVchannel() string { if x != nil { return x.Vchannel } return "" } func (x *BroadcastAckRequest) GetMessage() *commonpb.ImmutableMessage { if x != nil { return x.Message } return nil } type BroadcastAckResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *BroadcastAckResponse) Reset() { *x = BroadcastAckResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BroadcastAckResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BroadcastAckResponse) ProtoMessage() {} func (x *BroadcastAckResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 BroadcastAckResponse.ProtoReflect.Descriptor instead. func (*BroadcastAckResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{12} } type UpdateReplicateConfigurationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Configuration *commonpb.ReplicateConfiguration `protobuf:"bytes,1,opt,name=configuration,proto3" json:"configuration,omitempty"` } func (x *UpdateReplicateConfigurationRequest) Reset() { *x = UpdateReplicateConfigurationRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateReplicateConfigurationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateReplicateConfigurationRequest) ProtoMessage() {} func (x *UpdateReplicateConfigurationRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 UpdateReplicateConfigurationRequest.ProtoReflect.Descriptor instead. func (*UpdateReplicateConfigurationRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{13} } func (x *UpdateReplicateConfigurationRequest) GetConfiguration() *commonpb.ReplicateConfiguration { if x != nil { return x.Configuration } return nil } // UpdateReplicateConfigurationResponse is the response of UpdateReplicateConfiguration service type UpdateReplicateConfigurationResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *UpdateReplicateConfigurationResponse) Reset() { *x = UpdateReplicateConfigurationResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateReplicateConfigurationResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateReplicateConfigurationResponse) ProtoMessage() {} func (x *UpdateReplicateConfigurationResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 UpdateReplicateConfigurationResponse.ProtoReflect.Descriptor instead. func (*UpdateReplicateConfigurationResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{14} } // UpdateWALBalancePolicyRequest is the request to update the WAL balance policy. type UpdateWALBalancePolicyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Config *WALBalancePolicyConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` Nodes *WALBalancePolicyNodes `protobuf:"bytes,2,opt,name=nodes,proto3" json:"nodes,omitempty"` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } func (x *UpdateWALBalancePolicyRequest) Reset() { *x = UpdateWALBalancePolicyRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateWALBalancePolicyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateWALBalancePolicyRequest) ProtoMessage() {} func (x *UpdateWALBalancePolicyRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 UpdateWALBalancePolicyRequest.ProtoReflect.Descriptor instead. func (*UpdateWALBalancePolicyRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{15} } func (x *UpdateWALBalancePolicyRequest) GetConfig() *WALBalancePolicyConfig { if x != nil { return x.Config } return nil } func (x *UpdateWALBalancePolicyRequest) GetNodes() *WALBalancePolicyNodes { if x != nil { return x.Nodes } return nil } func (x *UpdateWALBalancePolicyRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { return x.UpdateMask } return nil } type WALBalancePolicyConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AllowRebalance bool `protobuf:"varint,1,opt,name=allow_rebalance,json=allowRebalance,proto3" json:"allow_rebalance,omitempty"` } func (x *WALBalancePolicyConfig) Reset() { *x = WALBalancePolicyConfig{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WALBalancePolicyConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*WALBalancePolicyConfig) ProtoMessage() {} func (x *WALBalancePolicyConfig) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 WALBalancePolicyConfig.ProtoReflect.Descriptor instead. func (*WALBalancePolicyConfig) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{16} } func (x *WALBalancePolicyConfig) GetAllowRebalance() bool { if x != nil { return x.AllowRebalance } return false } type WALBalancePolicyNodes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FreezeNodeIds []int64 `protobuf:"varint,1,rep,packed,name=freeze_node_ids,json=freezeNodeIds,proto3" json:"freeze_node_ids,omitempty"` // nodes that will be frozen. DefreezeNodeIds []int64 `protobuf:"varint,2,rep,packed,name=defreeze_node_ids,json=defreezeNodeIds,proto3" json:"defreeze_node_ids,omitempty"` // nodes that will be defrozen. } func (x *WALBalancePolicyNodes) Reset() { *x = WALBalancePolicyNodes{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WALBalancePolicyNodes) String() string { return protoimpl.X.MessageStringOf(x) } func (*WALBalancePolicyNodes) ProtoMessage() {} func (x *WALBalancePolicyNodes) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 WALBalancePolicyNodes.ProtoReflect.Descriptor instead. func (*WALBalancePolicyNodes) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{17} } func (x *WALBalancePolicyNodes) GetFreezeNodeIds() []int64 { if x != nil { return x.FreezeNodeIds } return nil } func (x *WALBalancePolicyNodes) GetDefreezeNodeIds() []int64 { if x != nil { return x.DefreezeNodeIds } return nil } type UpdateWALBalancePolicyResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Config *WALBalancePolicyConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` // return current configuration of WAL balance policy. FreezeNodeIds []int64 `protobuf:"varint,2,rep,packed,name=freeze_node_ids,json=freezeNodeIds,proto3" json:"freeze_node_ids,omitempty"` // nodes that are frozen. } func (x *UpdateWALBalancePolicyResponse) Reset() { *x = UpdateWALBalancePolicyResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateWALBalancePolicyResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateWALBalancePolicyResponse) ProtoMessage() {} func (x *UpdateWALBalancePolicyResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 UpdateWALBalancePolicyResponse.ProtoReflect.Descriptor instead. func (*UpdateWALBalancePolicyResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{18} } func (x *UpdateWALBalancePolicyResponse) GetConfig() *WALBalancePolicyConfig { if x != nil { return x.Config } return nil } func (x *UpdateWALBalancePolicyResponse) GetFreezeNodeIds() []int64 { if x != nil { return x.FreezeNodeIds } return nil } // AssignmentDiscoverRequest is the request of Discovery type AssignmentDiscoverRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Command: // // *AssignmentDiscoverRequest_ReportError // *AssignmentDiscoverRequest_Close Command isAssignmentDiscoverRequest_Command `protobuf_oneof:"command"` } func (x *AssignmentDiscoverRequest) Reset() { *x = AssignmentDiscoverRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AssignmentDiscoverRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AssignmentDiscoverRequest) ProtoMessage() {} func (x *AssignmentDiscoverRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 AssignmentDiscoverRequest.ProtoReflect.Descriptor instead. func (*AssignmentDiscoverRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{19} } func (m *AssignmentDiscoverRequest) GetCommand() isAssignmentDiscoverRequest_Command { if m != nil { return m.Command } return nil } func (x *AssignmentDiscoverRequest) GetReportError() *ReportAssignmentErrorRequest { if x, ok := x.GetCommand().(*AssignmentDiscoverRequest_ReportError); ok { return x.ReportError } return nil } func (x *AssignmentDiscoverRequest) GetClose() *CloseAssignmentDiscoverRequest { if x, ok := x.GetCommand().(*AssignmentDiscoverRequest_Close); ok { return x.Close } return nil } type isAssignmentDiscoverRequest_Command interface { isAssignmentDiscoverRequest_Command() } type AssignmentDiscoverRequest_ReportError struct { ReportError *ReportAssignmentErrorRequest `protobuf:"bytes,1,opt,name=report_error,json=reportError,proto3,oneof"` // report streaming error, trigger reassign right now. } type AssignmentDiscoverRequest_Close struct { Close *CloseAssignmentDiscoverRequest `protobuf:"bytes,2,opt,name=close,proto3,oneof"` // close the stream. } func (*AssignmentDiscoverRequest_ReportError) isAssignmentDiscoverRequest_Command() {} func (*AssignmentDiscoverRequest_Close) isAssignmentDiscoverRequest_Command() {} // ReportAssignmentErrorRequest is the request to report assignment error // happens. type ReportAssignmentErrorRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pchannel *PChannelInfo `protobuf:"bytes,1,opt,name=pchannel,proto3" json:"pchannel,omitempty"` // channel Err *StreamingError `protobuf:"bytes,2,opt,name=err,proto3" json:"err,omitempty"` // error happend on log node } func (x *ReportAssignmentErrorRequest) Reset() { *x = ReportAssignmentErrorRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReportAssignmentErrorRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReportAssignmentErrorRequest) ProtoMessage() {} func (x *ReportAssignmentErrorRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 ReportAssignmentErrorRequest.ProtoReflect.Descriptor instead. func (*ReportAssignmentErrorRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{20} } func (x *ReportAssignmentErrorRequest) GetPchannel() *PChannelInfo { if x != nil { return x.Pchannel } return nil } func (x *ReportAssignmentErrorRequest) GetErr() *StreamingError { if x != nil { return x.Err } return nil } // CloseAssignmentDiscoverRequest is the request to close the stream. type CloseAssignmentDiscoverRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CloseAssignmentDiscoverRequest) Reset() { *x = CloseAssignmentDiscoverRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseAssignmentDiscoverRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseAssignmentDiscoverRequest) ProtoMessage() {} func (x *CloseAssignmentDiscoverRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 CloseAssignmentDiscoverRequest.ProtoReflect.Descriptor instead. func (*CloseAssignmentDiscoverRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{21} } // AssignmentDiscoverResponse is the response of Discovery type AssignmentDiscoverResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Response: // // *AssignmentDiscoverResponse_FullAssignment // *AssignmentDiscoverResponse_Close Response isAssignmentDiscoverResponse_Response `protobuf_oneof:"response"` } func (x *AssignmentDiscoverResponse) Reset() { *x = AssignmentDiscoverResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AssignmentDiscoverResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*AssignmentDiscoverResponse) ProtoMessage() {} func (x *AssignmentDiscoverResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 AssignmentDiscoverResponse.ProtoReflect.Descriptor instead. func (*AssignmentDiscoverResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{22} } func (m *AssignmentDiscoverResponse) GetResponse() isAssignmentDiscoverResponse_Response { if m != nil { return m.Response } return nil } func (x *AssignmentDiscoverResponse) GetFullAssignment() *FullStreamingNodeAssignmentWithVersion { if x, ok := x.GetResponse().(*AssignmentDiscoverResponse_FullAssignment); ok { return x.FullAssignment } return nil } func (x *AssignmentDiscoverResponse) GetClose() *CloseAssignmentDiscoverResponse { if x, ok := x.GetResponse().(*AssignmentDiscoverResponse_Close); ok { return x.Close } return nil } type isAssignmentDiscoverResponse_Response interface { isAssignmentDiscoverResponse_Response() } type AssignmentDiscoverResponse_FullAssignment struct { FullAssignment *FullStreamingNodeAssignmentWithVersion `protobuf:"bytes,1,opt,name=full_assignment,json=fullAssignment,proto3,oneof"` // all assignment info. } type AssignmentDiscoverResponse_Close struct { // TODO: may be support partial assignment info in future. Close *CloseAssignmentDiscoverResponse `protobuf:"bytes,2,opt,name=close,proto3,oneof"` } func (*AssignmentDiscoverResponse_FullAssignment) isAssignmentDiscoverResponse_Response() {} func (*AssignmentDiscoverResponse_Close) isAssignmentDiscoverResponse_Response() {} // FullStreamingNodeAssignmentWithVersion is the full assignment info of a log // node with version. type FullStreamingNodeAssignmentWithVersion struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Version *VersionPair `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` Assignments []*StreamingNodeAssignment `protobuf:"bytes,2,rep,name=assignments,proto3" json:"assignments,omitempty"` Cchannel *CChannelAssignment `protobuf:"bytes,3,opt,name=cchannel,proto3" json:"cchannel,omitempty"` // Where the control channel located. ReplicateConfiguration *commonpb.ReplicateConfiguration `protobuf:"bytes,4,opt,name=replicate_configuration,json=replicateConfiguration,proto3" json:"replicate_configuration,omitempty"` StreamingVersion *StreamingVersion `protobuf:"bytes,5,opt,name=streaming_version,json=streamingVersion,proto3" json:"streaming_version,omitempty"` } func (x *FullStreamingNodeAssignmentWithVersion) Reset() { *x = FullStreamingNodeAssignmentWithVersion{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FullStreamingNodeAssignmentWithVersion) String() string { return protoimpl.X.MessageStringOf(x) } func (*FullStreamingNodeAssignmentWithVersion) ProtoMessage() {} func (x *FullStreamingNodeAssignmentWithVersion) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 FullStreamingNodeAssignmentWithVersion.ProtoReflect.Descriptor instead. func (*FullStreamingNodeAssignmentWithVersion) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{23} } func (x *FullStreamingNodeAssignmentWithVersion) GetVersion() *VersionPair { if x != nil { return x.Version } return nil } func (x *FullStreamingNodeAssignmentWithVersion) GetAssignments() []*StreamingNodeAssignment { if x != nil { return x.Assignments } return nil } func (x *FullStreamingNodeAssignmentWithVersion) GetCchannel() *CChannelAssignment { if x != nil { return x.Cchannel } return nil } func (x *FullStreamingNodeAssignmentWithVersion) GetReplicateConfiguration() *commonpb.ReplicateConfiguration { if x != nil { return x.ReplicateConfiguration } return nil } func (x *FullStreamingNodeAssignmentWithVersion) GetStreamingVersion() *StreamingVersion { if x != nil { return x.StreamingVersion } return nil } // CChannelAssignment is the assignment info of a control channel. type CChannelAssignment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Meta *CChannelMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` } func (x *CChannelAssignment) Reset() { *x = CChannelAssignment{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CChannelAssignment) String() string { return protoimpl.X.MessageStringOf(x) } func (*CChannelAssignment) ProtoMessage() {} func (x *CChannelAssignment) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 CChannelAssignment.ProtoReflect.Descriptor instead. func (*CChannelAssignment) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{24} } func (x *CChannelAssignment) GetMeta() *CChannelMeta { if x != nil { return x.Meta } return nil } type CloseAssignmentDiscoverResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CloseAssignmentDiscoverResponse) Reset() { *x = CloseAssignmentDiscoverResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseAssignmentDiscoverResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseAssignmentDiscoverResponse) ProtoMessage() {} func (x *CloseAssignmentDiscoverResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 CloseAssignmentDiscoverResponse.ProtoReflect.Descriptor instead. func (*CloseAssignmentDiscoverResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{25} } // StreamingNodeInfo is the information of a streaming node. type StreamingNodeInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ServerId int64 `protobuf:"varint,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"` Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` } func (x *StreamingNodeInfo) Reset() { *x = StreamingNodeInfo{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeInfo) ProtoMessage() {} func (x *StreamingNodeInfo) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 StreamingNodeInfo.ProtoReflect.Descriptor instead. func (*StreamingNodeInfo) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{26} } func (x *StreamingNodeInfo) GetServerId() int64 { if x != nil { return x.ServerId } return 0 } func (x *StreamingNodeInfo) GetAddress() string { if x != nil { return x.Address } return "" } // StreamingNodeAssignment is the assignment info of a streaming node. type StreamingNodeAssignment struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Node *StreamingNodeInfo `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` Channels []*PChannelInfo `protobuf:"bytes,2,rep,name=channels,proto3" json:"channels,omitempty"` } func (x *StreamingNodeAssignment) Reset() { *x = StreamingNodeAssignment{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeAssignment) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeAssignment) ProtoMessage() {} func (x *StreamingNodeAssignment) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 StreamingNodeAssignment.ProtoReflect.Descriptor instead. func (*StreamingNodeAssignment) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{27} } func (x *StreamingNodeAssignment) GetNode() *StreamingNodeInfo { if x != nil { return x.Node } return nil } func (x *StreamingNodeAssignment) GetChannels() []*PChannelInfo { if x != nil { return x.Channels } return nil } // DeliverPolicy is the policy to deliver message. type DeliverPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Policy: // // *DeliverPolicy_All // *DeliverPolicy_Latest // *DeliverPolicy_StartFrom // *DeliverPolicy_StartAfter Policy isDeliverPolicy_Policy `protobuf_oneof:"policy"` } func (x *DeliverPolicy) Reset() { *x = DeliverPolicy{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeliverPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeliverPolicy) ProtoMessage() {} func (x *DeliverPolicy) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 DeliverPolicy.ProtoReflect.Descriptor instead. func (*DeliverPolicy) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{28} } func (m *DeliverPolicy) GetPolicy() isDeliverPolicy_Policy { if m != nil { return m.Policy } return nil } func (x *DeliverPolicy) GetAll() *emptypb.Empty { if x, ok := x.GetPolicy().(*DeliverPolicy_All); ok { return x.All } return nil } func (x *DeliverPolicy) GetLatest() *emptypb.Empty { if x, ok := x.GetPolicy().(*DeliverPolicy_Latest); ok { return x.Latest } return nil } func (x *DeliverPolicy) GetStartFrom() *commonpb.MessageID { if x, ok := x.GetPolicy().(*DeliverPolicy_StartFrom); ok { return x.StartFrom } return nil } func (x *DeliverPolicy) GetStartAfter() *commonpb.MessageID { if x, ok := x.GetPolicy().(*DeliverPolicy_StartAfter); ok { return x.StartAfter } return nil } type isDeliverPolicy_Policy interface { isDeliverPolicy_Policy() } type DeliverPolicy_All struct { All *emptypb.Empty `protobuf:"bytes,1,opt,name=all,proto3,oneof"` // deliver all messages. } type DeliverPolicy_Latest struct { Latest *emptypb.Empty `protobuf:"bytes,2,opt,name=latest,proto3,oneof"` // deliver the latest message. } type DeliverPolicy_StartFrom struct { StartFrom *commonpb.MessageID `protobuf:"bytes,3,opt,name=start_from,json=startFrom,proto3,oneof"` // deliver message from this message id. [startFrom, ...] } type DeliverPolicy_StartAfter struct { StartAfter *commonpb.MessageID `protobuf:"bytes,4,opt,name=start_after,json=startAfter,proto3,oneof"` // deliver message after this message id. (startAfter, ...] } func (*DeliverPolicy_All) isDeliverPolicy_Policy() {} func (*DeliverPolicy_Latest) isDeliverPolicy_Policy() {} func (*DeliverPolicy_StartFrom) isDeliverPolicy_Policy() {} func (*DeliverPolicy_StartAfter) isDeliverPolicy_Policy() {} // DeliverFilter is the filter to deliver message. type DeliverFilter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Filter: // // *DeliverFilter_TimeTickGt // *DeliverFilter_TimeTickGte // *DeliverFilter_MessageType Filter isDeliverFilter_Filter `protobuf_oneof:"filter"` } func (x *DeliverFilter) Reset() { *x = DeliverFilter{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeliverFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeliverFilter) ProtoMessage() {} func (x *DeliverFilter) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 DeliverFilter.ProtoReflect.Descriptor instead. func (*DeliverFilter) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{29} } func (m *DeliverFilter) GetFilter() isDeliverFilter_Filter { if m != nil { return m.Filter } return nil } func (x *DeliverFilter) GetTimeTickGt() *DeliverFilterTimeTickGT { if x, ok := x.GetFilter().(*DeliverFilter_TimeTickGt); ok { return x.TimeTickGt } return nil } func (x *DeliverFilter) GetTimeTickGte() *DeliverFilterTimeTickGTE { if x, ok := x.GetFilter().(*DeliverFilter_TimeTickGte); ok { return x.TimeTickGte } return nil } func (x *DeliverFilter) GetMessageType() *DeliverFilterMessageType { if x, ok := x.GetFilter().(*DeliverFilter_MessageType); ok { return x.MessageType } return nil } type isDeliverFilter_Filter interface { isDeliverFilter_Filter() } type DeliverFilter_TimeTickGt struct { TimeTickGt *DeliverFilterTimeTickGT `protobuf:"bytes,1,opt,name=time_tick_gt,json=timeTickGt,proto3,oneof"` } type DeliverFilter_TimeTickGte struct { TimeTickGte *DeliverFilterTimeTickGTE `protobuf:"bytes,2,opt,name=time_tick_gte,json=timeTickGte,proto3,oneof"` } type DeliverFilter_MessageType struct { MessageType *DeliverFilterMessageType `protobuf:"bytes,3,opt,name=message_type,json=messageType,proto3,oneof"` } func (*DeliverFilter_TimeTickGt) isDeliverFilter_Filter() {} func (*DeliverFilter_TimeTickGte) isDeliverFilter_Filter() {} func (*DeliverFilter_MessageType) isDeliverFilter_Filter() {} // DeliverFilterTimeTickGT is the filter to deliver message with time tick // greater than this value. type DeliverFilterTimeTickGT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TimeTick uint64 `protobuf:"varint,1,opt,name=time_tick,json=timeTick,proto3" json:"time_tick,omitempty"` // deliver message with time tick greater than this value. } func (x *DeliverFilterTimeTickGT) Reset() { *x = DeliverFilterTimeTickGT{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeliverFilterTimeTickGT) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeliverFilterTimeTickGT) ProtoMessage() {} func (x *DeliverFilterTimeTickGT) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 DeliverFilterTimeTickGT.ProtoReflect.Descriptor instead. func (*DeliverFilterTimeTickGT) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{30} } func (x *DeliverFilterTimeTickGT) GetTimeTick() uint64 { if x != nil { return x.TimeTick } return 0 } // DeliverFilterTimeTickGTE is the filter to deliver message with time tick // greater than or equal to this value. type DeliverFilterTimeTickGTE struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TimeTick uint64 `protobuf:"varint,1,opt,name=time_tick,json=timeTick,proto3" json:"time_tick,omitempty"` // deliver message with time tick greater than or } func (x *DeliverFilterTimeTickGTE) Reset() { *x = DeliverFilterTimeTickGTE{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeliverFilterTimeTickGTE) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeliverFilterTimeTickGTE) ProtoMessage() {} func (x *DeliverFilterTimeTickGTE) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 DeliverFilterTimeTickGTE.ProtoReflect.Descriptor instead. func (*DeliverFilterTimeTickGTE) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{31} } func (x *DeliverFilterTimeTickGTE) GetTimeTick() uint64 { if x != nil { return x.TimeTick } return 0 } type DeliverFilterMessageType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // deliver message with message type. MessageTypes []messagespb.MessageType `protobuf:"varint,1,rep,packed,name=message_types,json=messageTypes,proto3,enum=milvus.proto.messages.MessageType" json:"message_types,omitempty"` } func (x *DeliverFilterMessageType) Reset() { *x = DeliverFilterMessageType{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeliverFilterMessageType) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeliverFilterMessageType) ProtoMessage() {} func (x *DeliverFilterMessageType) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 DeliverFilterMessageType.ProtoReflect.Descriptor instead. func (*DeliverFilterMessageType) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{32} } func (x *DeliverFilterMessageType) GetMessageTypes() []messagespb.MessageType { if x != nil { return x.MessageTypes } return nil } // StreamingError is the error type for log internal component. type StreamingError struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code StreamingCode `protobuf:"varint,1,opt,name=code,proto3,enum=milvus.proto.streaming.StreamingCode" json:"code,omitempty"` Cause string `protobuf:"bytes,2,opt,name=cause,proto3" json:"cause,omitempty"` } func (x *StreamingError) Reset() { *x = StreamingError{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingError) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingError) ProtoMessage() {} func (x *StreamingError) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 StreamingError.ProtoReflect.Descriptor instead. func (*StreamingError) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{33} } func (x *StreamingError) GetCode() StreamingCode { if x != nil { return x.Code } return StreamingCode_STREAMING_CODE_OK } func (x *StreamingError) GetCause() string { if x != nil { return x.Cause } return "" } // GetReplicateCheckpointRequest is the request of GetReplicateCheckpoint service. type GetReplicateCheckpointRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pchannel *PChannelInfo `protobuf:"bytes,1,opt,name=pchannel,proto3" json:"pchannel,omitempty"` } func (x *GetReplicateCheckpointRequest) Reset() { *x = GetReplicateCheckpointRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetReplicateCheckpointRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetReplicateCheckpointRequest) ProtoMessage() {} func (x *GetReplicateCheckpointRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 GetReplicateCheckpointRequest.ProtoReflect.Descriptor instead. func (*GetReplicateCheckpointRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{34} } func (x *GetReplicateCheckpointRequest) GetPchannel() *PChannelInfo { if x != nil { return x.Pchannel } return nil } // GetReplicateCheckpointResponse is the response of GetReplicateCheckpoint service. type GetReplicateCheckpointResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Checkpoint *commonpb.ReplicateCheckpoint `protobuf:"bytes,1,opt,name=checkpoint,proto3" json:"checkpoint,omitempty"` } func (x *GetReplicateCheckpointResponse) Reset() { *x = GetReplicateCheckpointResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetReplicateCheckpointResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetReplicateCheckpointResponse) ProtoMessage() {} func (x *GetReplicateCheckpointResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 GetReplicateCheckpointResponse.ProtoReflect.Descriptor instead. func (*GetReplicateCheckpointResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{35} } func (x *GetReplicateCheckpointResponse) GetCheckpoint() *commonpb.ReplicateCheckpoint { if x != nil { return x.Checkpoint } return nil } // ProduceRequest is the request of the Produce RPC. // Channel name will be passthrough in the header of stream bu not in the // request body. type ProduceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Request: // // *ProduceRequest_Produce // *ProduceRequest_Close Request isProduceRequest_Request `protobuf_oneof:"request"` } func (x *ProduceRequest) Reset() { *x = ProduceRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProduceRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProduceRequest) ProtoMessage() {} func (x *ProduceRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 ProduceRequest.ProtoReflect.Descriptor instead. func (*ProduceRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{36} } func (m *ProduceRequest) GetRequest() isProduceRequest_Request { if m != nil { return m.Request } return nil } func (x *ProduceRequest) GetProduce() *ProduceMessageRequest { if x, ok := x.GetRequest().(*ProduceRequest_Produce); ok { return x.Produce } return nil } func (x *ProduceRequest) GetClose() *CloseProducerRequest { if x, ok := x.GetRequest().(*ProduceRequest_Close); ok { return x.Close } return nil } type isProduceRequest_Request interface { isProduceRequest_Request() } type ProduceRequest_Produce struct { Produce *ProduceMessageRequest `protobuf:"bytes,1,opt,name=produce,proto3,oneof"` } type ProduceRequest_Close struct { Close *CloseProducerRequest `protobuf:"bytes,2,opt,name=close,proto3,oneof"` } func (*ProduceRequest_Produce) isProduceRequest_Request() {} func (*ProduceRequest_Close) isProduceRequest_Request() {} // CreateProducerRequest is the request of the CreateProducer RPC. // CreateProducerRequest is passed in the header of stream. type CreateProducerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pchannel *PChannelInfo `protobuf:"bytes,1,opt,name=pchannel,proto3" json:"pchannel,omitempty"` } func (x *CreateProducerRequest) Reset() { *x = CreateProducerRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateProducerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateProducerRequest) ProtoMessage() {} func (x *CreateProducerRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 CreateProducerRequest.ProtoReflect.Descriptor instead. func (*CreateProducerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{37} } func (x *CreateProducerRequest) GetPchannel() *PChannelInfo { if x != nil { return x.Pchannel } return nil } // ProduceMessageRequest is the request of the Produce RPC. type ProduceMessageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RequestId int64 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // request id for reply. Message *messagespb.Message `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // message to be sent. } func (x *ProduceMessageRequest) Reset() { *x = ProduceMessageRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProduceMessageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProduceMessageRequest) ProtoMessage() {} func (x *ProduceMessageRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 ProduceMessageRequest.ProtoReflect.Descriptor instead. func (*ProduceMessageRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{38} } func (x *ProduceMessageRequest) GetRequestId() int64 { if x != nil { return x.RequestId } return 0 } func (x *ProduceMessageRequest) GetMessage() *messagespb.Message { if x != nil { return x.Message } return nil } // CloseProducerRequest is the request of the CloseProducer RPC. // After CloseProducerRequest is requested, no more ProduceRequest can be sent. type CloseProducerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CloseProducerRequest) Reset() { *x = CloseProducerRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseProducerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseProducerRequest) ProtoMessage() {} func (x *CloseProducerRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 CloseProducerRequest.ProtoReflect.Descriptor instead. func (*CloseProducerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{39} } // ProduceResponse is the response of the Produce RPC. type ProduceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Response: // // *ProduceResponse_Create // *ProduceResponse_Produce // *ProduceResponse_Close Response isProduceResponse_Response `protobuf_oneof:"response"` } func (x *ProduceResponse) Reset() { *x = ProduceResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProduceResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProduceResponse) ProtoMessage() {} func (x *ProduceResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 ProduceResponse.ProtoReflect.Descriptor instead. func (*ProduceResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{40} } func (m *ProduceResponse) GetResponse() isProduceResponse_Response { if m != nil { return m.Response } return nil } func (x *ProduceResponse) GetCreate() *CreateProducerResponse { if x, ok := x.GetResponse().(*ProduceResponse_Create); ok { return x.Create } return nil } func (x *ProduceResponse) GetProduce() *ProduceMessageResponse { if x, ok := x.GetResponse().(*ProduceResponse_Produce); ok { return x.Produce } return nil } func (x *ProduceResponse) GetClose() *CloseProducerResponse { if x, ok := x.GetResponse().(*ProduceResponse_Close); ok { return x.Close } return nil } type isProduceResponse_Response interface { isProduceResponse_Response() } type ProduceResponse_Create struct { Create *CreateProducerResponse `protobuf:"bytes,1,opt,name=create,proto3,oneof"` } type ProduceResponse_Produce struct { Produce *ProduceMessageResponse `protobuf:"bytes,2,opt,name=produce,proto3,oneof"` } type ProduceResponse_Close struct { Close *CloseProducerResponse `protobuf:"bytes,3,opt,name=close,proto3,oneof"` } func (*ProduceResponse_Create) isProduceResponse_Response() {} func (*ProduceResponse_Produce) isProduceResponse_Response() {} func (*ProduceResponse_Close) isProduceResponse_Response() {} // CreateProducerResponse is the result of the CreateProducer RPC. type CreateProducerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Deprecated: Marked as deprecated in streaming.proto. WalName string `protobuf:"bytes,1,opt,name=wal_name,json=walName,proto3" json:"wal_name,omitempty"` // wal name at server side. ProducerServerId int64 `protobuf:"varint,2,opt,name=producer_server_id,json=producerServerId,proto3" json:"producer_server_id,omitempty"` // A unique producer server id on streamingnode } func (x *CreateProducerResponse) Reset() { *x = CreateProducerResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateProducerResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateProducerResponse) ProtoMessage() {} func (x *CreateProducerResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 CreateProducerResponse.ProtoReflect.Descriptor instead. func (*CreateProducerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{41} } // Deprecated: Marked as deprecated in streaming.proto. func (x *CreateProducerResponse) GetWalName() string { if x != nil { return x.WalName } return "" } func (x *CreateProducerResponse) GetProducerServerId() int64 { if x != nil { return x.ProducerServerId } return 0 } // ProduceMessageResponse is the response of the ProduceMessage RPC. type ProduceMessageResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RequestId int64 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // Types that are assignable to Response: // // *ProduceMessageResponse_Result // *ProduceMessageResponse_Error Response isProduceMessageResponse_Response `protobuf_oneof:"response"` } func (x *ProduceMessageResponse) Reset() { *x = ProduceMessageResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProduceMessageResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProduceMessageResponse) ProtoMessage() {} func (x *ProduceMessageResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 ProduceMessageResponse.ProtoReflect.Descriptor instead. func (*ProduceMessageResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{42} } func (x *ProduceMessageResponse) GetRequestId() int64 { if x != nil { return x.RequestId } return 0 } func (m *ProduceMessageResponse) GetResponse() isProduceMessageResponse_Response { if m != nil { return m.Response } return nil } func (x *ProduceMessageResponse) GetResult() *ProduceMessageResponseResult { if x, ok := x.GetResponse().(*ProduceMessageResponse_Result); ok { return x.Result } return nil } func (x *ProduceMessageResponse) GetError() *StreamingError { if x, ok := x.GetResponse().(*ProduceMessageResponse_Error); ok { return x.Error } return nil } type isProduceMessageResponse_Response interface { isProduceMessageResponse_Response() } type ProduceMessageResponse_Result struct { Result *ProduceMessageResponseResult `protobuf:"bytes,2,opt,name=result,proto3,oneof"` } type ProduceMessageResponse_Error struct { Error *StreamingError `protobuf:"bytes,3,opt,name=error,proto3,oneof"` } func (*ProduceMessageResponse_Result) isProduceMessageResponse_Response() {} func (*ProduceMessageResponse_Error) isProduceMessageResponse_Response() {} // ProduceMessageResponseResult is the result of the produce message streaming // RPC. type ProduceMessageResponseResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id *commonpb.MessageID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // the offset of the message in the channel. Timetick uint64 `protobuf:"varint,2,opt,name=timetick,proto3" json:"timetick,omitempty"` // the timetick of that message sent. TxnContext *messagespb.TxnContext `protobuf:"bytes,3,opt,name=txnContext,proto3" json:"txnContext,omitempty"` // the txn context of the message. Extra *anypb.Any `protobuf:"bytes,4,opt,name=extra,proto3" json:"extra,omitempty"` // the extra message. LastConfirmedId *commonpb.MessageID `protobuf:"bytes,5,opt,name=last_confirmed_id,json=lastConfirmedId,proto3" json:"last_confirmed_id,omitempty"` // the last confirmed message id. } func (x *ProduceMessageResponseResult) Reset() { *x = ProduceMessageResponseResult{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProduceMessageResponseResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProduceMessageResponseResult) ProtoMessage() {} func (x *ProduceMessageResponseResult) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 ProduceMessageResponseResult.ProtoReflect.Descriptor instead. func (*ProduceMessageResponseResult) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{43} } func (x *ProduceMessageResponseResult) GetId() *commonpb.MessageID { if x != nil { return x.Id } return nil } func (x *ProduceMessageResponseResult) GetTimetick() uint64 { if x != nil { return x.Timetick } return 0 } func (x *ProduceMessageResponseResult) GetTxnContext() *messagespb.TxnContext { if x != nil { return x.TxnContext } return nil } func (x *ProduceMessageResponseResult) GetExtra() *anypb.Any { if x != nil { return x.Extra } return nil } func (x *ProduceMessageResponseResult) GetLastConfirmedId() *commonpb.MessageID { if x != nil { return x.LastConfirmedId } return nil } // CloseProducerResponse is the result of the CloseProducer RPC. type CloseProducerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CloseProducerResponse) Reset() { *x = CloseProducerResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseProducerResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseProducerResponse) ProtoMessage() {} func (x *CloseProducerResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 CloseProducerResponse.ProtoReflect.Descriptor instead. func (*CloseProducerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{44} } // ConsumeRequest is the request of the Consume RPC. // Add more control block in future. type ConsumeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Request: // // *ConsumeRequest_CreateVchannelConsumer // *ConsumeRequest_CreateVchannelConsumers // *ConsumeRequest_CloseVchannel // *ConsumeRequest_Close Request isConsumeRequest_Request `protobuf_oneof:"request"` } func (x *ConsumeRequest) Reset() { *x = ConsumeRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConsumeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConsumeRequest) ProtoMessage() {} func (x *ConsumeRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 ConsumeRequest.ProtoReflect.Descriptor instead. func (*ConsumeRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{45} } func (m *ConsumeRequest) GetRequest() isConsumeRequest_Request { if m != nil { return m.Request } return nil } func (x *ConsumeRequest) GetCreateVchannelConsumer() *CreateVChannelConsumerRequest { if x, ok := x.GetRequest().(*ConsumeRequest_CreateVchannelConsumer); ok { return x.CreateVchannelConsumer } return nil } func (x *ConsumeRequest) GetCreateVchannelConsumers() *CreateVChannelConsumersRequest { if x, ok := x.GetRequest().(*ConsumeRequest_CreateVchannelConsumers); ok { return x.CreateVchannelConsumers } return nil } func (x *ConsumeRequest) GetCloseVchannel() *CloseVChannelConsumerRequest { if x, ok := x.GetRequest().(*ConsumeRequest_CloseVchannel); ok { return x.CloseVchannel } return nil } func (x *ConsumeRequest) GetClose() *CloseConsumerRequest { if x, ok := x.GetRequest().(*ConsumeRequest_Close); ok { return x.Close } return nil } type isConsumeRequest_Request interface { isConsumeRequest_Request() } type ConsumeRequest_CreateVchannelConsumer struct { CreateVchannelConsumer *CreateVChannelConsumerRequest `protobuf:"bytes,1,opt,name=create_vchannel_consumer,json=createVchannelConsumer,proto3,oneof"` } type ConsumeRequest_CreateVchannelConsumers struct { CreateVchannelConsumers *CreateVChannelConsumersRequest `protobuf:"bytes,2,opt,name=create_vchannel_consumers,json=createVchannelConsumers,proto3,oneof"` // Create multiple vchannel consumers, used for recovery in future. } type ConsumeRequest_CloseVchannel struct { CloseVchannel *CloseVChannelConsumerRequest `protobuf:"bytes,3,opt,name=close_vchannel,json=closeVchannel,proto3,oneof"` } type ConsumeRequest_Close struct { Close *CloseConsumerRequest `protobuf:"bytes,4,opt,name=close,proto3,oneof"` } func (*ConsumeRequest_CreateVchannelConsumer) isConsumeRequest_Request() {} func (*ConsumeRequest_CreateVchannelConsumers) isConsumeRequest_Request() {} func (*ConsumeRequest_CloseVchannel) isConsumeRequest_Request() {} func (*ConsumeRequest_Close) isConsumeRequest_Request() {} // CloseConsumerRequest is the request of the CloseConsumer RPC. // After CloseConsumerRequest is requested, no more ConsumeRequest can be sent. type CloseConsumerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CloseConsumerRequest) Reset() { *x = CloseConsumerRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseConsumerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseConsumerRequest) ProtoMessage() {} func (x *CloseConsumerRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_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 CloseConsumerRequest.ProtoReflect.Descriptor instead. func (*CloseConsumerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{46} } // CreateConsumerRequest is the request of the CreateConsumer RPC. // CreateConsumerRequest is passed in the header of stream. type CreateConsumerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pchannel *PChannelInfo `protobuf:"bytes,1,opt,name=pchannel,proto3" json:"pchannel,omitempty"` } func (x *CreateConsumerRequest) Reset() { *x = CreateConsumerRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateConsumerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateConsumerRequest) ProtoMessage() {} func (x *CreateConsumerRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[47] 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 CreateConsumerRequest.ProtoReflect.Descriptor instead. func (*CreateConsumerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{47} } func (x *CreateConsumerRequest) GetPchannel() *PChannelInfo { if x != nil { return x.Pchannel } return nil } type CreateVChannelConsumersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CreateVchannels []*CreateVChannelConsumerRequest `protobuf:"bytes,1,rep,name=create_vchannels,json=createVchannels,proto3" json:"create_vchannels,omitempty"` } func (x *CreateVChannelConsumersRequest) Reset() { *x = CreateVChannelConsumersRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateVChannelConsumersRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateVChannelConsumersRequest) ProtoMessage() {} func (x *CreateVChannelConsumersRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[48] 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 CreateVChannelConsumersRequest.ProtoReflect.Descriptor instead. func (*CreateVChannelConsumersRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{48} } func (x *CreateVChannelConsumersRequest) GetCreateVchannels() []*CreateVChannelConsumerRequest { if x != nil { return x.CreateVchannels } return nil } // CreateVChannelConsumerRequest is the request of the CreateVChannelConsumer // RPC. It's used to create a new vchannel consumer at server side. type CreateVChannelConsumerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Vchannel string `protobuf:"bytes,1,opt,name=vchannel,proto3" json:"vchannel,omitempty"` DeliverPolicy *DeliverPolicy `protobuf:"bytes,2,opt,name=deliver_policy,json=deliverPolicy,proto3" json:"deliver_policy,omitempty"` // deliver policy. DeliverFilters []*DeliverFilter `protobuf:"bytes,3,rep,name=deliver_filters,json=deliverFilters,proto3" json:"deliver_filters,omitempty"` // deliver filter. IgnorePauseConsumption bool `protobuf:"varint,4,opt,name=ignore_pause_consumption,json=ignorePauseConsumption,proto3" json:"ignore_pause_consumption,omitempty"` } func (x *CreateVChannelConsumerRequest) Reset() { *x = CreateVChannelConsumerRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateVChannelConsumerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateVChannelConsumerRequest) ProtoMessage() {} func (x *CreateVChannelConsumerRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[49] 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 CreateVChannelConsumerRequest.ProtoReflect.Descriptor instead. func (*CreateVChannelConsumerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{49} } func (x *CreateVChannelConsumerRequest) GetVchannel() string { if x != nil { return x.Vchannel } return "" } func (x *CreateVChannelConsumerRequest) GetDeliverPolicy() *DeliverPolicy { if x != nil { return x.DeliverPolicy } return nil } func (x *CreateVChannelConsumerRequest) GetDeliverFilters() []*DeliverFilter { if x != nil { return x.DeliverFilters } return nil } func (x *CreateVChannelConsumerRequest) GetIgnorePauseConsumption() bool { if x != nil { return x.IgnorePauseConsumption } return false } // ConsumeMessageRequest is the request of the Consume RPC. type CreateVChannelConsumersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CreateVchannels []*CreateVChannelConsumerResponse `protobuf:"bytes,1,rep,name=create_vchannels,json=createVchannels,proto3" json:"create_vchannels,omitempty"` } func (x *CreateVChannelConsumersResponse) Reset() { *x = CreateVChannelConsumersResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateVChannelConsumersResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateVChannelConsumersResponse) ProtoMessage() {} func (x *CreateVChannelConsumersResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[50] 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 CreateVChannelConsumersResponse.ProtoReflect.Descriptor instead. func (*CreateVChannelConsumersResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{50} } func (x *CreateVChannelConsumersResponse) GetCreateVchannels() []*CreateVChannelConsumerResponse { if x != nil { return x.CreateVchannels } return nil } // CreateVChannelConsumerResponse is the response of the CreateVChannelConsumer // RPC. type CreateVChannelConsumerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Response: // // *CreateVChannelConsumerResponse_ConsumerId // *CreateVChannelConsumerResponse_Error Response isCreateVChannelConsumerResponse_Response `protobuf_oneof:"response"` } func (x *CreateVChannelConsumerResponse) Reset() { *x = CreateVChannelConsumerResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateVChannelConsumerResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateVChannelConsumerResponse) ProtoMessage() {} func (x *CreateVChannelConsumerResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[51] 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 CreateVChannelConsumerResponse.ProtoReflect.Descriptor instead. func (*CreateVChannelConsumerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{51} } func (m *CreateVChannelConsumerResponse) GetResponse() isCreateVChannelConsumerResponse_Response { if m != nil { return m.Response } return nil } func (x *CreateVChannelConsumerResponse) GetConsumerId() int64 { if x, ok := x.GetResponse().(*CreateVChannelConsumerResponse_ConsumerId); ok { return x.ConsumerId } return 0 } func (x *CreateVChannelConsumerResponse) GetError() *StreamingError { if x, ok := x.GetResponse().(*CreateVChannelConsumerResponse_Error); ok { return x.Error } return nil } type isCreateVChannelConsumerResponse_Response interface { isCreateVChannelConsumerResponse_Response() } type CreateVChannelConsumerResponse_ConsumerId struct { ConsumerId int64 `protobuf:"varint,1,opt,name=consumer_id,json=consumerId,proto3,oneof"` } type CreateVChannelConsumerResponse_Error struct { Error *StreamingError `protobuf:"bytes,2,opt,name=error,proto3,oneof"` } func (*CreateVChannelConsumerResponse_ConsumerId) isCreateVChannelConsumerResponse_Response() {} func (*CreateVChannelConsumerResponse_Error) isCreateVChannelConsumerResponse_Response() {} // CloseVChannelConsumerRequest is the request of the CloseVChannelConsumer RPC. type CloseVChannelConsumerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ConsumerId int64 `protobuf:"varint,1,opt,name=consumer_id,json=consumerId,proto3" json:"consumer_id,omitempty"` } func (x *CloseVChannelConsumerRequest) Reset() { *x = CloseVChannelConsumerRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseVChannelConsumerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseVChannelConsumerRequest) ProtoMessage() {} func (x *CloseVChannelConsumerRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[52] 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 CloseVChannelConsumerRequest.ProtoReflect.Descriptor instead. func (*CloseVChannelConsumerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{52} } func (x *CloseVChannelConsumerRequest) GetConsumerId() int64 { if x != nil { return x.ConsumerId } return 0 } // CloseVChannelConsumerResponse is the response of the CloseVChannelConsumer // RPC. type CloseVChannelConsumerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ConsumerId int64 `protobuf:"varint,1,opt,name=consumer_id,json=consumerId,proto3" json:"consumer_id,omitempty"` } func (x *CloseVChannelConsumerResponse) Reset() { *x = CloseVChannelConsumerResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseVChannelConsumerResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseVChannelConsumerResponse) ProtoMessage() {} func (x *CloseVChannelConsumerResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[53] 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 CloseVChannelConsumerResponse.ProtoReflect.Descriptor instead. func (*CloseVChannelConsumerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{53} } func (x *CloseVChannelConsumerResponse) GetConsumerId() int64 { if x != nil { return x.ConsumerId } return 0 } // ConsumeResponse is the reponse of the Consume RPC. type ConsumeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Response: // // *ConsumeResponse_Create // *ConsumeResponse_Consume // *ConsumeResponse_CreateVchannel // *ConsumeResponse_CreateVchannels // *ConsumeResponse_CloseVchannel // *ConsumeResponse_Close Response isConsumeResponse_Response `protobuf_oneof:"response"` } func (x *ConsumeResponse) Reset() { *x = ConsumeResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConsumeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConsumeResponse) ProtoMessage() {} func (x *ConsumeResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[54] 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 ConsumeResponse.ProtoReflect.Descriptor instead. func (*ConsumeResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{54} } func (m *ConsumeResponse) GetResponse() isConsumeResponse_Response { if m != nil { return m.Response } return nil } func (x *ConsumeResponse) GetCreate() *CreateConsumerResponse { if x, ok := x.GetResponse().(*ConsumeResponse_Create); ok { return x.Create } return nil } func (x *ConsumeResponse) GetConsume() *ConsumeMessageReponse { if x, ok := x.GetResponse().(*ConsumeResponse_Consume); ok { return x.Consume } return nil } func (x *ConsumeResponse) GetCreateVchannel() *CreateVChannelConsumerResponse { if x, ok := x.GetResponse().(*ConsumeResponse_CreateVchannel); ok { return x.CreateVchannel } return nil } func (x *ConsumeResponse) GetCreateVchannels() *CreateVChannelConsumersResponse { if x, ok := x.GetResponse().(*ConsumeResponse_CreateVchannels); ok { return x.CreateVchannels } return nil } func (x *ConsumeResponse) GetCloseVchannel() *CloseVChannelConsumerResponse { if x, ok := x.GetResponse().(*ConsumeResponse_CloseVchannel); ok { return x.CloseVchannel } return nil } func (x *ConsumeResponse) GetClose() *CloseConsumerResponse { if x, ok := x.GetResponse().(*ConsumeResponse_Close); ok { return x.Close } return nil } type isConsumeResponse_Response interface { isConsumeResponse_Response() } type ConsumeResponse_Create struct { Create *CreateConsumerResponse `protobuf:"bytes,1,opt,name=create,proto3,oneof"` } type ConsumeResponse_Consume struct { Consume *ConsumeMessageReponse `protobuf:"bytes,2,opt,name=consume,proto3,oneof"` } type ConsumeResponse_CreateVchannel struct { CreateVchannel *CreateVChannelConsumerResponse `protobuf:"bytes,3,opt,name=create_vchannel,json=createVchannel,proto3,oneof"` } type ConsumeResponse_CreateVchannels struct { CreateVchannels *CreateVChannelConsumersResponse `protobuf:"bytes,4,opt,name=create_vchannels,json=createVchannels,proto3,oneof"` } type ConsumeResponse_CloseVchannel struct { CloseVchannel *CloseVChannelConsumerResponse `protobuf:"bytes,5,opt,name=close_vchannel,json=closeVchannel,proto3,oneof"` } type ConsumeResponse_Close struct { Close *CloseConsumerResponse `protobuf:"bytes,6,opt,name=close,proto3,oneof"` } func (*ConsumeResponse_Create) isConsumeResponse_Response() {} func (*ConsumeResponse_Consume) isConsumeResponse_Response() {} func (*ConsumeResponse_CreateVchannel) isConsumeResponse_Response() {} func (*ConsumeResponse_CreateVchannels) isConsumeResponse_Response() {} func (*ConsumeResponse_CloseVchannel) isConsumeResponse_Response() {} func (*ConsumeResponse_Close) isConsumeResponse_Response() {} type CreateConsumerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Deprecated: Marked as deprecated in streaming.proto. WalName string `protobuf:"bytes,1,opt,name=wal_name,json=walName,proto3" json:"wal_name,omitempty"` // wal name at server side. // A unique consumer id on streamingnode for this // consumer in streamingnode lifetime. ConsumerServerId int64 `protobuf:"varint,2,opt,name=consumer_server_id,json=consumerServerId,proto3" json:"consumer_server_id,omitempty"` } func (x *CreateConsumerResponse) Reset() { *x = CreateConsumerResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateConsumerResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateConsumerResponse) ProtoMessage() {} func (x *CreateConsumerResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[55] 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 CreateConsumerResponse.ProtoReflect.Descriptor instead. func (*CreateConsumerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{55} } // Deprecated: Marked as deprecated in streaming.proto. func (x *CreateConsumerResponse) GetWalName() string { if x != nil { return x.WalName } return "" } func (x *CreateConsumerResponse) GetConsumerServerId() int64 { if x != nil { return x.ConsumerServerId } return 0 } type ConsumeMessageReponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ConsumerId int64 `protobuf:"varint,1,opt,name=consumer_id,json=consumerId,proto3" json:"consumer_id,omitempty"` Message *commonpb.ImmutableMessage `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` } func (x *ConsumeMessageReponse) Reset() { *x = ConsumeMessageReponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConsumeMessageReponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConsumeMessageReponse) ProtoMessage() {} func (x *ConsumeMessageReponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[56] 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 ConsumeMessageReponse.ProtoReflect.Descriptor instead. func (*ConsumeMessageReponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{56} } func (x *ConsumeMessageReponse) GetConsumerId() int64 { if x != nil { return x.ConsumerId } return 0 } func (x *ConsumeMessageReponse) GetMessage() *commonpb.ImmutableMessage { if x != nil { return x.Message } return nil } type CloseConsumerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CloseConsumerResponse) Reset() { *x = CloseConsumerResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseConsumerResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseConsumerResponse) ProtoMessage() {} func (x *CloseConsumerResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[57] 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 CloseConsumerResponse.ProtoReflect.Descriptor instead. func (*CloseConsumerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{57} } // StreamingManagerAssignRequest is the request message of Assign RPC. type StreamingNodeManagerAssignRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pchannel *PChannelInfo `protobuf:"bytes,1,opt,name=pchannel,proto3" json:"pchannel,omitempty"` } func (x *StreamingNodeManagerAssignRequest) Reset() { *x = StreamingNodeManagerAssignRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeManagerAssignRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeManagerAssignRequest) ProtoMessage() {} func (x *StreamingNodeManagerAssignRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[58] 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 StreamingNodeManagerAssignRequest.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerAssignRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{58} } func (x *StreamingNodeManagerAssignRequest) GetPchannel() *PChannelInfo { if x != nil { return x.Pchannel } return nil } type StreamingNodeManagerAssignResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamingNodeManagerAssignResponse) Reset() { *x = StreamingNodeManagerAssignResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeManagerAssignResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeManagerAssignResponse) ProtoMessage() {} func (x *StreamingNodeManagerAssignResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[59] 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 StreamingNodeManagerAssignResponse.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerAssignResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{59} } type StreamingNodeManagerRemoveRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pchannel *PChannelInfo `protobuf:"bytes,1,opt,name=pchannel,proto3" json:"pchannel,omitempty"` } func (x *StreamingNodeManagerRemoveRequest) Reset() { *x = StreamingNodeManagerRemoveRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeManagerRemoveRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeManagerRemoveRequest) ProtoMessage() {} func (x *StreamingNodeManagerRemoveRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[60] 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 StreamingNodeManagerRemoveRequest.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerRemoveRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{60} } func (x *StreamingNodeManagerRemoveRequest) GetPchannel() *PChannelInfo { if x != nil { return x.Pchannel } return nil } type StreamingNodeManagerRemoveResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamingNodeManagerRemoveResponse) Reset() { *x = StreamingNodeManagerRemoveResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeManagerRemoveResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeManagerRemoveResponse) ProtoMessage() {} func (x *StreamingNodeManagerRemoveResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[61] 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 StreamingNodeManagerRemoveResponse.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerRemoveResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{61} } type StreamingNodeManagerCollectStatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamingNodeManagerCollectStatusRequest) Reset() { *x = StreamingNodeManagerCollectStatusRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeManagerCollectStatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeManagerCollectStatusRequest) ProtoMessage() {} func (x *StreamingNodeManagerCollectStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[62] 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 StreamingNodeManagerCollectStatusRequest.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerCollectStatusRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{62} } type StreamingNodeMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Wals []*StreamingNodeWALMetrics `protobuf:"bytes,1,rep,name=wals,proto3" json:"wals,omitempty"` } func (x *StreamingNodeMetrics) Reset() { *x = StreamingNodeMetrics{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeMetrics) ProtoMessage() {} func (x *StreamingNodeMetrics) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[63] 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 StreamingNodeMetrics.ProtoReflect.Descriptor instead. func (*StreamingNodeMetrics) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{63} } func (x *StreamingNodeMetrics) GetWals() []*StreamingNodeWALMetrics { if x != nil { return x.Wals } return nil } type StreamingNodeWALMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Info *PChannelInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"` // Types that are assignable to Metrics: // // *StreamingNodeWALMetrics_Rw // *StreamingNodeWALMetrics_Ro Metrics isStreamingNodeWALMetrics_Metrics `protobuf_oneof:"metrics"` } func (x *StreamingNodeWALMetrics) Reset() { *x = StreamingNodeWALMetrics{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeWALMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeWALMetrics) ProtoMessage() {} func (x *StreamingNodeWALMetrics) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[64] 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 StreamingNodeWALMetrics.ProtoReflect.Descriptor instead. func (*StreamingNodeWALMetrics) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{64} } func (x *StreamingNodeWALMetrics) GetInfo() *PChannelInfo { if x != nil { return x.Info } return nil } func (m *StreamingNodeWALMetrics) GetMetrics() isStreamingNodeWALMetrics_Metrics { if m != nil { return m.Metrics } return nil } func (x *StreamingNodeWALMetrics) GetRw() *StreamingNodeRWWALMetrics { if x, ok := x.GetMetrics().(*StreamingNodeWALMetrics_Rw); ok { return x.Rw } return nil } func (x *StreamingNodeWALMetrics) GetRo() *StreamingNodeROWALMetrics { if x, ok := x.GetMetrics().(*StreamingNodeWALMetrics_Ro); ok { return x.Ro } return nil } type isStreamingNodeWALMetrics_Metrics interface { isStreamingNodeWALMetrics_Metrics() } type StreamingNodeWALMetrics_Rw struct { Rw *StreamingNodeRWWALMetrics `protobuf:"bytes,2,opt,name=rw,proto3,oneof"` } type StreamingNodeWALMetrics_Ro struct { Ro *StreamingNodeROWALMetrics `protobuf:"bytes,3,opt,name=ro,proto3,oneof"` } func (*StreamingNodeWALMetrics_Rw) isStreamingNodeWALMetrics_Metrics() {} func (*StreamingNodeWALMetrics_Ro) isStreamingNodeWALMetrics_Metrics() {} type StreamingNodeRWWALMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MvccTimeTick uint64 `protobuf:"varint,1,opt,name=mvcc_time_tick,json=mvccTimeTick,proto3" json:"mvcc_time_tick,omitempty"` // The mvcc time tick of the pchannel. RecoveryTimeTick uint64 `protobuf:"varint,2,opt,name=recovery_time_tick,json=recoveryTimeTick,proto3" json:"recovery_time_tick,omitempty"` // The recovery time tick of the pchannel. } func (x *StreamingNodeRWWALMetrics) Reset() { *x = StreamingNodeRWWALMetrics{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeRWWALMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeRWWALMetrics) ProtoMessage() {} func (x *StreamingNodeRWWALMetrics) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[65] 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 StreamingNodeRWWALMetrics.ProtoReflect.Descriptor instead. func (*StreamingNodeRWWALMetrics) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{65} } func (x *StreamingNodeRWWALMetrics) GetMvccTimeTick() uint64 { if x != nil { return x.MvccTimeTick } return 0 } func (x *StreamingNodeRWWALMetrics) GetRecoveryTimeTick() uint64 { if x != nil { return x.RecoveryTimeTick } return 0 } type StreamingNodeROWALMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamingNodeROWALMetrics) Reset() { *x = StreamingNodeROWALMetrics{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeROWALMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeROWALMetrics) ProtoMessage() {} func (x *StreamingNodeROWALMetrics) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[66] 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 StreamingNodeROWALMetrics.ProtoReflect.Descriptor instead. func (*StreamingNodeROWALMetrics) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{66} } type StreamingNodeManagerCollectStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Metrics *StreamingNodeMetrics `protobuf:"bytes,1,opt,name=metrics,proto3" json:"metrics,omitempty"` } func (x *StreamingNodeManagerCollectStatusResponse) Reset() { *x = StreamingNodeManagerCollectStatusResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeManagerCollectStatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeManagerCollectStatusResponse) ProtoMessage() {} func (x *StreamingNodeManagerCollectStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[67] 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 StreamingNodeManagerCollectStatusResponse.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerCollectStatusResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{67} } func (x *StreamingNodeManagerCollectStatusResponse) GetMetrics() *StreamingNodeMetrics { if x != nil { return x.Metrics } return nil } // / // / VChannelMeta // / // VChannelMeta is the meta information of a vchannel. // We need to add vchannel meta in wal meta, so the wal can recover the information of it. // The vchannel meta is also used to store the vchannel operation result, such as shard-splitting. type VChannelMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Vchannel string `protobuf:"bytes,1,opt,name=vchannel,proto3" json:"vchannel,omitempty"` // vchannel name. State VChannelState `protobuf:"varint,2,opt,name=state,proto3,enum=milvus.proto.streaming.VChannelState" json:"state,omitempty"` // vchannel state. CollectionInfo *CollectionInfoOfVChannel `protobuf:"bytes,3,opt,name=collection_info,json=collectionInfo,proto3" json:"collection_info,omitempty"` // if the channel is belong to a collection, the collection info will be setup. CheckpointTimeTick uint64 `protobuf:"varint,4,opt,name=checkpoint_time_tick,json=checkpointTimeTick,proto3" json:"checkpoint_time_tick,omitempty"` // The timetick of checkpoint, the meta already see the message at this timetick. } func (x *VChannelMeta) Reset() { *x = VChannelMeta{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *VChannelMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*VChannelMeta) ProtoMessage() {} func (x *VChannelMeta) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[68] 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 VChannelMeta.ProtoReflect.Descriptor instead. func (*VChannelMeta) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{68} } func (x *VChannelMeta) GetVchannel() string { if x != nil { return x.Vchannel } return "" } func (x *VChannelMeta) GetState() VChannelState { if x != nil { return x.State } return VChannelState_VCHANNEL_STATE_UNKNOWN } func (x *VChannelMeta) GetCollectionInfo() *CollectionInfoOfVChannel { if x != nil { return x.CollectionInfo } return nil } func (x *VChannelMeta) GetCheckpointTimeTick() uint64 { if x != nil { return x.CheckpointTimeTick } return 0 } // CollectionInfoOfVChannel is the collection info in vchannel. type CollectionInfoOfVChannel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CollectionId int64 `protobuf:"varint,1,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` // collection id. Partitions []*PartitionInfoOfVChannel `protobuf:"bytes,2,rep,name=partitions,proto3" json:"partitions,omitempty"` // partitions. Schemas []*CollectionSchemaOfVChannel `protobuf:"bytes,3,rep,name=schemas,proto3" json:"schemas,omitempty"` // The schemas of the vchannel. } func (x *CollectionInfoOfVChannel) Reset() { *x = CollectionInfoOfVChannel{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CollectionInfoOfVChannel) String() string { return protoimpl.X.MessageStringOf(x) } func (*CollectionInfoOfVChannel) ProtoMessage() {} func (x *CollectionInfoOfVChannel) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[69] 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 CollectionInfoOfVChannel.ProtoReflect.Descriptor instead. func (*CollectionInfoOfVChannel) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{69} } func (x *CollectionInfoOfVChannel) GetCollectionId() int64 { if x != nil { return x.CollectionId } return 0 } func (x *CollectionInfoOfVChannel) GetPartitions() []*PartitionInfoOfVChannel { if x != nil { return x.Partitions } return nil } func (x *CollectionInfoOfVChannel) GetSchemas() []*CollectionSchemaOfVChannel { if x != nil { return x.Schemas } return nil } // CollectionSchemaOfVChannel is the collection schema in vchannel. type CollectionSchemaOfVChannel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Schema *schemapb.CollectionSchema `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` // The schemas of the vchannel. CheckpointTimeTick uint64 `protobuf:"varint,2,opt,name=checkpoint_time_tick,json=checkpointTimeTick,proto3" json:"checkpoint_time_tick,omitempty"` // The timetick of the schema changed, also the version of the schema. State VChannelSchemaState `protobuf:"varint,3,opt,name=state,proto3,enum=milvus.proto.streaming.VChannelSchemaState" json:"state,omitempty"` // The state of the schema. } func (x *CollectionSchemaOfVChannel) Reset() { *x = CollectionSchemaOfVChannel{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CollectionSchemaOfVChannel) String() string { return protoimpl.X.MessageStringOf(x) } func (*CollectionSchemaOfVChannel) ProtoMessage() {} func (x *CollectionSchemaOfVChannel) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[70] 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 CollectionSchemaOfVChannel.ProtoReflect.Descriptor instead. func (*CollectionSchemaOfVChannel) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{70} } func (x *CollectionSchemaOfVChannel) GetSchema() *schemapb.CollectionSchema { if x != nil { return x.Schema } return nil } func (x *CollectionSchemaOfVChannel) GetCheckpointTimeTick() uint64 { if x != nil { return x.CheckpointTimeTick } return 0 } func (x *CollectionSchemaOfVChannel) GetState() VChannelSchemaState { if x != nil { return x.State } return VChannelSchemaState_VCHANNEL_SCHEMA_STATE_UNKNOWN } // PartitionInfoOfVChannel is the partition info in vchannel. type PartitionInfoOfVChannel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PartitionId int64 `protobuf:"varint,1,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` // partition id. } func (x *PartitionInfoOfVChannel) Reset() { *x = PartitionInfoOfVChannel{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PartitionInfoOfVChannel) String() string { return protoimpl.X.MessageStringOf(x) } func (*PartitionInfoOfVChannel) ProtoMessage() {} func (x *PartitionInfoOfVChannel) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[71] 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 PartitionInfoOfVChannel.ProtoReflect.Descriptor instead. func (*PartitionInfoOfVChannel) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{71} } func (x *PartitionInfoOfVChannel) GetPartitionId() int64 { if x != nil { return x.PartitionId } return 0 } // / // / SegmentAssignment // / // SegmentAssignmentMeta is the stat of segment assignment. // These meta is only used to recover status at streaming node segment // assignment, don't use it outside. // Used to storage the segment assignment stat // at meta-store. The WAL use it to determine when to make the segment sealed. type SegmentAssignmentMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CollectionId int64 `protobuf:"varint,1,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"` PartitionId int64 `protobuf:"varint,2,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` SegmentId int64 `protobuf:"varint,3,opt,name=segment_id,json=segmentId,proto3" json:"segment_id,omitempty"` Vchannel string `protobuf:"bytes,4,opt,name=vchannel,proto3" json:"vchannel,omitempty"` State SegmentAssignmentState `protobuf:"varint,5,opt,name=state,proto3,enum=milvus.proto.streaming.SegmentAssignmentState" json:"state,omitempty"` Stat *SegmentAssignmentStat `protobuf:"bytes,6,opt,name=stat,proto3" json:"stat,omitempty"` StorageVersion int64 `protobuf:"varint,7,opt,name=storage_version,json=storageVersion,proto3" json:"storage_version,omitempty"` // only available if level is L1 or Legacy. CheckpointTimeTick uint64 `protobuf:"varint,8,opt,name=checkpoint_time_tick,json=checkpointTimeTick,proto3" json:"checkpoint_time_tick,omitempty"` // The timetick of checkpoint, the meta already see the message at this timetick. } func (x *SegmentAssignmentMeta) Reset() { *x = SegmentAssignmentMeta{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SegmentAssignmentMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*SegmentAssignmentMeta) ProtoMessage() {} func (x *SegmentAssignmentMeta) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[72] 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 SegmentAssignmentMeta.ProtoReflect.Descriptor instead. func (*SegmentAssignmentMeta) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{72} } func (x *SegmentAssignmentMeta) GetCollectionId() int64 { if x != nil { return x.CollectionId } return 0 } func (x *SegmentAssignmentMeta) GetPartitionId() int64 { if x != nil { return x.PartitionId } return 0 } func (x *SegmentAssignmentMeta) GetSegmentId() int64 { if x != nil { return x.SegmentId } return 0 } func (x *SegmentAssignmentMeta) GetVchannel() string { if x != nil { return x.Vchannel } return "" } func (x *SegmentAssignmentMeta) GetState() SegmentAssignmentState { if x != nil { return x.State } return SegmentAssignmentState_SEGMENT_ASSIGNMENT_STATE_UNKNOWN } func (x *SegmentAssignmentMeta) GetStat() *SegmentAssignmentStat { if x != nil { return x.Stat } return nil } func (x *SegmentAssignmentMeta) GetStorageVersion() int64 { if x != nil { return x.StorageVersion } return 0 } func (x *SegmentAssignmentMeta) GetCheckpointTimeTick() uint64 { if x != nil { return x.CheckpointTimeTick } return 0 } // SegmentAssignmentStat is the stat of segment assignment. type SegmentAssignmentStat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MaxBinarySize uint64 `protobuf:"varint,1,opt,name=max_binary_size,json=maxBinarySize,proto3" json:"max_binary_size,omitempty"` ModifiedRows uint64 `protobuf:"varint,2,opt,name=modified_rows,json=modifiedRows,proto3" json:"modified_rows,omitempty"` ModifiedBinarySize uint64 `protobuf:"varint,3,opt,name=modified_binary_size,json=modifiedBinarySize,proto3" json:"modified_binary_size,omitempty"` CreateTimestamp int64 `protobuf:"varint,4,opt,name=create_timestamp,json=createTimestamp,proto3" json:"create_timestamp,omitempty"` LastModifiedTimestamp int64 `protobuf:"varint,5,opt,name=last_modified_timestamp,json=lastModifiedTimestamp,proto3" json:"last_modified_timestamp,omitempty"` BinlogCounter uint64 `protobuf:"varint,6,opt,name=binlog_counter,json=binlogCounter,proto3" json:"binlog_counter,omitempty"` CreateSegmentTimeTick uint64 `protobuf:"varint,7,opt,name=create_segment_time_tick,json=createSegmentTimeTick,proto3" json:"create_segment_time_tick,omitempty"` // The timetick of create segment message in wal. Level datapb.SegmentLevel `protobuf:"varint,8,opt,name=level,proto3,enum=milvus.proto.data.SegmentLevel" json:"level,omitempty"` // The level of the segment, only L0 or L1. MaxRows uint64 `protobuf:"varint,9,opt,name=max_rows,json=maxRows,proto3" json:"max_rows,omitempty"` // The max rows of the segment. } func (x *SegmentAssignmentStat) Reset() { *x = SegmentAssignmentStat{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SegmentAssignmentStat) String() string { return protoimpl.X.MessageStringOf(x) } func (*SegmentAssignmentStat) ProtoMessage() {} func (x *SegmentAssignmentStat) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[73] 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 SegmentAssignmentStat.ProtoReflect.Descriptor instead. func (*SegmentAssignmentStat) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{73} } func (x *SegmentAssignmentStat) GetMaxBinarySize() uint64 { if x != nil { return x.MaxBinarySize } return 0 } func (x *SegmentAssignmentStat) GetModifiedRows() uint64 { if x != nil { return x.ModifiedRows } return 0 } func (x *SegmentAssignmentStat) GetModifiedBinarySize() uint64 { if x != nil { return x.ModifiedBinarySize } return 0 } func (x *SegmentAssignmentStat) GetCreateTimestamp() int64 { if x != nil { return x.CreateTimestamp } return 0 } func (x *SegmentAssignmentStat) GetLastModifiedTimestamp() int64 { if x != nil { return x.LastModifiedTimestamp } return 0 } func (x *SegmentAssignmentStat) GetBinlogCounter() uint64 { if x != nil { return x.BinlogCounter } return 0 } func (x *SegmentAssignmentStat) GetCreateSegmentTimeTick() uint64 { if x != nil { return x.CreateSegmentTimeTick } return 0 } func (x *SegmentAssignmentStat) GetLevel() datapb.SegmentLevel { if x != nil { return x.Level } return datapb.SegmentLevel(0) } func (x *SegmentAssignmentStat) GetMaxRows() uint64 { if x != nil { return x.MaxRows } return 0 } // The WALCheckpoint that is used to recovery the wal scanner. type WALCheckpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MessageId *commonpb.MessageID `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` // From here to recover all uncommited info. // e.g., primary key index, segment assignment info, vchannel info... // because current data path flush is slow, and managed by the coordinator, current current is not apply to it. // // because the data path flush is slow, so we add a new checkpoint here to promise fast recover the wal state from log. TimeTick uint64 `protobuf:"varint,2,opt,name=time_tick,json=timeTick,proto3" json:"time_tick,omitempty"` // The timetick of checkpoint, keep consistecy with message_id. // It's a hint for easier debugging. RecoveryMagic int64 `protobuf:"varint,3,opt,name=recovery_magic,json=recoveryMagic,proto3" json:"recovery_magic,omitempty"` // The recovery version of the checkpoint, it's used to hint the future recovery info upgrading. // The wal name of the checkpoint. ReplicateConfig *commonpb.ReplicateConfiguration `protobuf:"bytes,4,opt,name=replicate_config,json=replicateConfig,proto3" json:"replicate_config,omitempty"` // if the wal join a replicated clusters, the replicate config is not null, ReplicateCheckpoint *commonpb.ReplicateCheckpoint `protobuf:"bytes,5,opt,name=replicate_checkpoint,json=replicateCheckpoint,proto3" json:"replicate_checkpoint,omitempty"` // if the wal is replicated from remote cluster, the checkpoint is not null, } func (x *WALCheckpoint) Reset() { *x = WALCheckpoint{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WALCheckpoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*WALCheckpoint) ProtoMessage() {} func (x *WALCheckpoint) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[74] 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 WALCheckpoint.ProtoReflect.Descriptor instead. func (*WALCheckpoint) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{74} } func (x *WALCheckpoint) GetMessageId() *commonpb.MessageID { if x != nil { return x.MessageId } return nil } func (x *WALCheckpoint) GetTimeTick() uint64 { if x != nil { return x.TimeTick } return 0 } func (x *WALCheckpoint) GetRecoveryMagic() int64 { if x != nil { return x.RecoveryMagic } return 0 } func (x *WALCheckpoint) GetReplicateConfig() *commonpb.ReplicateConfiguration { if x != nil { return x.ReplicateConfig } return nil } func (x *WALCheckpoint) GetReplicateCheckpoint() *commonpb.ReplicateCheckpoint { if x != nil { return x.ReplicateCheckpoint } return nil } // ReplicateConfigurationMeta is the replicate configuration of the wal. type ReplicateConfigurationMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ReplicateConfiguration *commonpb.ReplicateConfiguration `protobuf:"bytes,1,opt,name=replicate_configuration,json=replicateConfiguration,proto3" json:"replicate_configuration,omitempty"` AckedResult *AckedResult `protobuf:"bytes,2,opt,name=acked_result,json=ackedResult,proto3" json:"acked_result,omitempty"` // a acked helper to help managing the consuming of PutReplicateConfigMessageV2 message at coordinator. } func (x *ReplicateConfigurationMeta) Reset() { *x = ReplicateConfigurationMeta{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReplicateConfigurationMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReplicateConfigurationMeta) ProtoMessage() {} func (x *ReplicateConfigurationMeta) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[75] 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 ReplicateConfigurationMeta.ProtoReflect.Descriptor instead. func (*ReplicateConfigurationMeta) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{75} } func (x *ReplicateConfigurationMeta) GetReplicateConfiguration() *commonpb.ReplicateConfiguration { if x != nil { return x.ReplicateConfiguration } return nil } func (x *ReplicateConfigurationMeta) GetAckedResult() *AckedResult { if x != nil { return x.AckedResult } return nil } type ReplicatePChannelMeta struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SourceChannelName string `protobuf:"bytes,1,opt,name=source_channel_name,json=sourceChannelName,proto3" json:"source_channel_name,omitempty"` TargetChannelName string `protobuf:"bytes,2,opt,name=target_channel_name,json=targetChannelName,proto3" json:"target_channel_name,omitempty"` TargetCluster *commonpb.MilvusCluster `protobuf:"bytes,3,opt,name=target_cluster,json=targetCluster,proto3" json:"target_cluster,omitempty"` InitializedCheckpoint *commonpb.ReplicateCheckpoint `protobuf:"bytes,4,opt,name=initialized_checkpoint,json=initializedCheckpoint,proto3" json:"initialized_checkpoint,omitempty"` } func (x *ReplicatePChannelMeta) Reset() { *x = ReplicatePChannelMeta{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReplicatePChannelMeta) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReplicatePChannelMeta) ProtoMessage() {} func (x *ReplicatePChannelMeta) ProtoReflect() protoreflect.Message { mi := &file_streaming_proto_msgTypes[76] 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 ReplicatePChannelMeta.ProtoReflect.Descriptor instead. func (*ReplicatePChannelMeta) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{76} } func (x *ReplicatePChannelMeta) GetSourceChannelName() string { if x != nil { return x.SourceChannelName } return "" } func (x *ReplicatePChannelMeta) GetTargetChannelName() string { if x != nil { return x.TargetChannelName } return "" } func (x *ReplicatePChannelMeta) GetTargetCluster() *commonpb.MilvusCluster { if x != nil { return x.TargetCluster } return nil } func (x *ReplicatePChannelMeta) GetInitializedCheckpoint() *commonpb.ReplicateCheckpoint { if x != nil { return x.InitializedCheckpoint } return nil } var File_streaming_proto protoreflect.FileDescriptor var file_streaming_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x1a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x01, 0x0a, 0x0c, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x4b, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x15, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x65, 0x72, 0x6d, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xde, 0x02, 0x0a, 0x0c, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x09, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x2a, 0x0a, 0x0c, 0x43, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x2c, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3b, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x99, 0x02, 0x0a, 0x0d, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x15, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x56, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 0x12, 0x54, 0x0a, 0x11, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x7f, 0x0a, 0x0b, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x54, 0x0a, 0x11, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x59, 0x0a, 0x19, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x4c, 0x0a, 0x10, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x11, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x49, 0x64, 0x1a, 0x70, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0c, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3f, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x24, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe9, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x41, 0x4c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x57, 0x41, 0x4c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x43, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x57, 0x41, 0x4c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x41, 0x0a, 0x16, 0x57, 0x41, 0x4c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x15, 0x57, 0x41, 0x4c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x41, 0x4c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x57, 0x41, 0x4c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x22, 0xd1, 0x01, 0x0a, 0x19, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x03, 0x65, 0x72, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x03, 0x65, 0x72, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xe4, 0x01, 0x0a, 0x1a, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x75, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x03, 0x0a, 0x26, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x63, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x64, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, 0x12, 0x43, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 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, 0x9a, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x30, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x66, 0x74, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x9d, 0x02, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x67, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x47, 0x54, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x47, 0x74, 0x12, 0x56, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x67, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x47, 0x54, 0x45, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x47, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x36, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x47, 0x54, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x37, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x47, 0x54, 0x45, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x63, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x61, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x22, 0x61, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x6a, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x70, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xfa, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x08, 0x77, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x77, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0xd3, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa5, 0x02, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x54, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0a, 0x74, 0x78, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, 0x4a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x03, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x71, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x12, 0x74, 0x0a, 0x19, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x44, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x82, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0x93, 0x02, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x4c, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x75, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x0a, 0x1c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x1d, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa2, 0x04, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x64, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x5e, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x56, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x45, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x08, 0x77, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x77, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x6d, 0x6d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x21, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x24, 0x0a, 0x22, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x21, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x24, 0x0a, 0x22, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x28, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5b, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x43, 0x0a, 0x04, 0x77, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x41, 0x4c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x04, 0x77, 0x61, 0x6c, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x57, 0x41, 0x4c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x38, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x02, 0x72, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x57, 0x57, 0x41, 0x4c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x02, 0x72, 0x77, 0x12, 0x43, 0x0a, 0x02, 0x72, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x4f, 0x57, 0x41, 0x4c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x02, 0x72, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x6f, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x57, 0x57, 0x41, 0x4c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x76, 0x63, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x76, 0x63, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x22, 0x1b, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x4f, 0x57, 0x41, 0x4c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x73, 0x0a, 0x29, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x66, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x22, 0xde, 0x01, 0x0a, 0x18, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x66, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x66, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x66, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x66, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3c, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x66, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xfe, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x52, 0x04, 0x73, 0x74, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x22, 0xab, 0x03, 0x0a, 0x15, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x69, 0x6e, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x35, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x77, 0x73, 0x22, 0xc7, 0x02, 0x0a, 0x0d, 0x57, 0x41, 0x4c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x61, 0x67, 0x69, 0x63, 0x12, 0x56, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xca, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x64, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa3, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x5f, 0x0a, 0x16, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2a, 0x51, 0x0a, 0x12, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x2a, 0xc5, 0x01, 0x0a, 0x11, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x2a, 0xe7, 0x01, 0x0a, 0x12, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x1d, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x03, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4d, 0x42, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x10, 0x05, 0x2a, 0xaa, 0x04, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x46, 0x45, 0x4e, 0x43, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x45, 0x51, 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x10, 0x05, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x4e, 0x45, 0x52, 0x10, 0x07, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x49, 0x4c, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x08, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x09, 0x12, 0x2c, 0x0a, 0x28, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x0a, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0b, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x43, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x56, 0x49, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0d, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0xe7, 0x07, 0x2a, 0x62, 0x0a, 0x0d, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x7d, 0x0a, 0x13, 0x56, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x56, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x8a, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x57, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x55, 0x53, 0x48, 0x45, 0x44, 0x10, 0x02, 0x32, 0x89, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x22, 0x00, 0x32, 0xe8, 0x01, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x09, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x03, 0x41, 0x63, 0x6b, 0x12, 0x2b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0xd2, 0x03, 0x0a, 0x1f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9b, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x41, 0x4c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x41, 0x4c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x41, 0x4c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x12, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x32, 0xed, 0x02, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x35, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x60, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x32, 0xbe, 0x03, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x06, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x39, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x39, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x40, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2d, 0x69, 0x6f, 0x2f, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_streaming_proto_rawDescOnce sync.Once file_streaming_proto_rawDescData = file_streaming_proto_rawDesc ) func file_streaming_proto_rawDescGZIP() []byte { file_streaming_proto_rawDescOnce.Do(func() { file_streaming_proto_rawDescData = protoimpl.X.CompressGZIP(file_streaming_proto_rawDescData) }) return file_streaming_proto_rawDescData } var file_streaming_proto_enumTypes = make([]protoimpl.EnumInfo, 7) var file_streaming_proto_msgTypes = make([]protoimpl.MessageInfo, 78) var file_streaming_proto_goTypes = []interface{}{ (PChannelAccessMode)(0), // 0: milvus.proto.streaming.PChannelAccessMode (PChannelMetaState)(0), // 1: milvus.proto.streaming.PChannelMetaState (BroadcastTaskState)(0), // 2: milvus.proto.streaming.BroadcastTaskState (StreamingCode)(0), // 3: milvus.proto.streaming.StreamingCode (VChannelState)(0), // 4: milvus.proto.streaming.VChannelState (VChannelSchemaState)(0), // 5: milvus.proto.streaming.VChannelSchemaState (SegmentAssignmentState)(0), // 6: milvus.proto.streaming.SegmentAssignmentState (*PChannelInfo)(nil), // 7: milvus.proto.streaming.PChannelInfo (*PChannelAssignmentLog)(nil), // 8: milvus.proto.streaming.PChannelAssignmentLog (*PChannelMeta)(nil), // 9: milvus.proto.streaming.PChannelMeta (*CChannelMeta)(nil), // 10: milvus.proto.streaming.CChannelMeta (*StreamingVersion)(nil), // 11: milvus.proto.streaming.StreamingVersion (*VersionPair)(nil), // 12: milvus.proto.streaming.VersionPair (*BroadcastTask)(nil), // 13: milvus.proto.streaming.BroadcastTask (*AckedResult)(nil), // 14: milvus.proto.streaming.AckedResult (*AckedCheckpoint)(nil), // 15: milvus.proto.streaming.AckedCheckpoint (*BroadcastRequest)(nil), // 16: milvus.proto.streaming.BroadcastRequest (*BroadcastResponse)(nil), // 17: milvus.proto.streaming.BroadcastResponse (*BroadcastAckRequest)(nil), // 18: milvus.proto.streaming.BroadcastAckRequest (*BroadcastAckResponse)(nil), // 19: milvus.proto.streaming.BroadcastAckResponse (*UpdateReplicateConfigurationRequest)(nil), // 20: milvus.proto.streaming.UpdateReplicateConfigurationRequest (*UpdateReplicateConfigurationResponse)(nil), // 21: milvus.proto.streaming.UpdateReplicateConfigurationResponse (*UpdateWALBalancePolicyRequest)(nil), // 22: milvus.proto.streaming.UpdateWALBalancePolicyRequest (*WALBalancePolicyConfig)(nil), // 23: milvus.proto.streaming.WALBalancePolicyConfig (*WALBalancePolicyNodes)(nil), // 24: milvus.proto.streaming.WALBalancePolicyNodes (*UpdateWALBalancePolicyResponse)(nil), // 25: milvus.proto.streaming.UpdateWALBalancePolicyResponse (*AssignmentDiscoverRequest)(nil), // 26: milvus.proto.streaming.AssignmentDiscoverRequest (*ReportAssignmentErrorRequest)(nil), // 27: milvus.proto.streaming.ReportAssignmentErrorRequest (*CloseAssignmentDiscoverRequest)(nil), // 28: milvus.proto.streaming.CloseAssignmentDiscoverRequest (*AssignmentDiscoverResponse)(nil), // 29: milvus.proto.streaming.AssignmentDiscoverResponse (*FullStreamingNodeAssignmentWithVersion)(nil), // 30: milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion (*CChannelAssignment)(nil), // 31: milvus.proto.streaming.CChannelAssignment (*CloseAssignmentDiscoverResponse)(nil), // 32: milvus.proto.streaming.CloseAssignmentDiscoverResponse (*StreamingNodeInfo)(nil), // 33: milvus.proto.streaming.StreamingNodeInfo (*StreamingNodeAssignment)(nil), // 34: milvus.proto.streaming.StreamingNodeAssignment (*DeliverPolicy)(nil), // 35: milvus.proto.streaming.DeliverPolicy (*DeliverFilter)(nil), // 36: milvus.proto.streaming.DeliverFilter (*DeliverFilterTimeTickGT)(nil), // 37: milvus.proto.streaming.DeliverFilterTimeTickGT (*DeliverFilterTimeTickGTE)(nil), // 38: milvus.proto.streaming.DeliverFilterTimeTickGTE (*DeliverFilterMessageType)(nil), // 39: milvus.proto.streaming.DeliverFilterMessageType (*StreamingError)(nil), // 40: milvus.proto.streaming.StreamingError (*GetReplicateCheckpointRequest)(nil), // 41: milvus.proto.streaming.GetReplicateCheckpointRequest (*GetReplicateCheckpointResponse)(nil), // 42: milvus.proto.streaming.GetReplicateCheckpointResponse (*ProduceRequest)(nil), // 43: milvus.proto.streaming.ProduceRequest (*CreateProducerRequest)(nil), // 44: milvus.proto.streaming.CreateProducerRequest (*ProduceMessageRequest)(nil), // 45: milvus.proto.streaming.ProduceMessageRequest (*CloseProducerRequest)(nil), // 46: milvus.proto.streaming.CloseProducerRequest (*ProduceResponse)(nil), // 47: milvus.proto.streaming.ProduceResponse (*CreateProducerResponse)(nil), // 48: milvus.proto.streaming.CreateProducerResponse (*ProduceMessageResponse)(nil), // 49: milvus.proto.streaming.ProduceMessageResponse (*ProduceMessageResponseResult)(nil), // 50: milvus.proto.streaming.ProduceMessageResponseResult (*CloseProducerResponse)(nil), // 51: milvus.proto.streaming.CloseProducerResponse (*ConsumeRequest)(nil), // 52: milvus.proto.streaming.ConsumeRequest (*CloseConsumerRequest)(nil), // 53: milvus.proto.streaming.CloseConsumerRequest (*CreateConsumerRequest)(nil), // 54: milvus.proto.streaming.CreateConsumerRequest (*CreateVChannelConsumersRequest)(nil), // 55: milvus.proto.streaming.CreateVChannelConsumersRequest (*CreateVChannelConsumerRequest)(nil), // 56: milvus.proto.streaming.CreateVChannelConsumerRequest (*CreateVChannelConsumersResponse)(nil), // 57: milvus.proto.streaming.CreateVChannelConsumersResponse (*CreateVChannelConsumerResponse)(nil), // 58: milvus.proto.streaming.CreateVChannelConsumerResponse (*CloseVChannelConsumerRequest)(nil), // 59: milvus.proto.streaming.CloseVChannelConsumerRequest (*CloseVChannelConsumerResponse)(nil), // 60: milvus.proto.streaming.CloseVChannelConsumerResponse (*ConsumeResponse)(nil), // 61: milvus.proto.streaming.ConsumeResponse (*CreateConsumerResponse)(nil), // 62: milvus.proto.streaming.CreateConsumerResponse (*ConsumeMessageReponse)(nil), // 63: milvus.proto.streaming.ConsumeMessageReponse (*CloseConsumerResponse)(nil), // 64: milvus.proto.streaming.CloseConsumerResponse (*StreamingNodeManagerAssignRequest)(nil), // 65: milvus.proto.streaming.StreamingNodeManagerAssignRequest (*StreamingNodeManagerAssignResponse)(nil), // 66: milvus.proto.streaming.StreamingNodeManagerAssignResponse (*StreamingNodeManagerRemoveRequest)(nil), // 67: milvus.proto.streaming.StreamingNodeManagerRemoveRequest (*StreamingNodeManagerRemoveResponse)(nil), // 68: milvus.proto.streaming.StreamingNodeManagerRemoveResponse (*StreamingNodeManagerCollectStatusRequest)(nil), // 69: milvus.proto.streaming.StreamingNodeManagerCollectStatusRequest (*StreamingNodeMetrics)(nil), // 70: milvus.proto.streaming.StreamingNodeMetrics (*StreamingNodeWALMetrics)(nil), // 71: milvus.proto.streaming.StreamingNodeWALMetrics (*StreamingNodeRWWALMetrics)(nil), // 72: milvus.proto.streaming.StreamingNodeRWWALMetrics (*StreamingNodeROWALMetrics)(nil), // 73: milvus.proto.streaming.StreamingNodeROWALMetrics (*StreamingNodeManagerCollectStatusResponse)(nil), // 74: milvus.proto.streaming.StreamingNodeManagerCollectStatusResponse (*VChannelMeta)(nil), // 75: milvus.proto.streaming.VChannelMeta (*CollectionInfoOfVChannel)(nil), // 76: milvus.proto.streaming.CollectionInfoOfVChannel (*CollectionSchemaOfVChannel)(nil), // 77: milvus.proto.streaming.CollectionSchemaOfVChannel (*PartitionInfoOfVChannel)(nil), // 78: milvus.proto.streaming.PartitionInfoOfVChannel (*SegmentAssignmentMeta)(nil), // 79: milvus.proto.streaming.SegmentAssignmentMeta (*SegmentAssignmentStat)(nil), // 80: milvus.proto.streaming.SegmentAssignmentStat (*WALCheckpoint)(nil), // 81: milvus.proto.streaming.WALCheckpoint (*ReplicateConfigurationMeta)(nil), // 82: milvus.proto.streaming.ReplicateConfigurationMeta (*ReplicatePChannelMeta)(nil), // 83: milvus.proto.streaming.ReplicatePChannelMeta nil, // 84: milvus.proto.streaming.BroadcastResponse.ResultsEntry (*messagespb.Message)(nil), // 85: milvus.proto.messages.Message (*commonpb.MessageID)(nil), // 86: milvus.proto.common.MessageID (*commonpb.ImmutableMessage)(nil), // 87: milvus.proto.common.ImmutableMessage (*commonpb.ReplicateConfiguration)(nil), // 88: milvus.proto.common.ReplicateConfiguration (*fieldmaskpb.FieldMask)(nil), // 89: google.protobuf.FieldMask (*emptypb.Empty)(nil), // 90: google.protobuf.Empty (messagespb.MessageType)(0), // 91: milvus.proto.messages.MessageType (*commonpb.ReplicateCheckpoint)(nil), // 92: milvus.proto.common.ReplicateCheckpoint (*messagespb.TxnContext)(nil), // 93: milvus.proto.messages.TxnContext (*anypb.Any)(nil), // 94: google.protobuf.Any (*schemapb.CollectionSchema)(nil), // 95: milvus.proto.schema.CollectionSchema (datapb.SegmentLevel)(0), // 96: milvus.proto.data.SegmentLevel (*commonpb.MilvusCluster)(nil), // 97: milvus.proto.common.MilvusCluster (*milvuspb.GetComponentStatesRequest)(nil), // 98: milvus.proto.milvus.GetComponentStatesRequest (*milvuspb.ComponentStates)(nil), // 99: milvus.proto.milvus.ComponentStates } var file_streaming_proto_depIdxs = []int32{ 0, // 0: milvus.proto.streaming.PChannelInfo.access_mode:type_name -> milvus.proto.streaming.PChannelAccessMode 33, // 1: milvus.proto.streaming.PChannelAssignmentLog.node:type_name -> milvus.proto.streaming.StreamingNodeInfo 0, // 2: milvus.proto.streaming.PChannelAssignmentLog.access_mode:type_name -> milvus.proto.streaming.PChannelAccessMode 7, // 3: milvus.proto.streaming.PChannelMeta.channel:type_name -> milvus.proto.streaming.PChannelInfo 33, // 4: milvus.proto.streaming.PChannelMeta.node:type_name -> milvus.proto.streaming.StreamingNodeInfo 1, // 5: milvus.proto.streaming.PChannelMeta.state:type_name -> milvus.proto.streaming.PChannelMetaState 8, // 6: milvus.proto.streaming.PChannelMeta.histories:type_name -> milvus.proto.streaming.PChannelAssignmentLog 85, // 7: milvus.proto.streaming.BroadcastTask.message:type_name -> milvus.proto.messages.Message 2, // 8: milvus.proto.streaming.BroadcastTask.state:type_name -> milvus.proto.streaming.BroadcastTaskState 15, // 9: milvus.proto.streaming.BroadcastTask.acked_checkpoints:type_name -> milvus.proto.streaming.AckedCheckpoint 15, // 10: milvus.proto.streaming.AckedResult.acked_checkpoints:type_name -> milvus.proto.streaming.AckedCheckpoint 86, // 11: milvus.proto.streaming.AckedCheckpoint.message_id:type_name -> milvus.proto.common.MessageID 86, // 12: milvus.proto.streaming.AckedCheckpoint.last_confirmed_message_id:type_name -> milvus.proto.common.MessageID 85, // 13: milvus.proto.streaming.BroadcastRequest.message:type_name -> milvus.proto.messages.Message 84, // 14: milvus.proto.streaming.BroadcastResponse.results:type_name -> milvus.proto.streaming.BroadcastResponse.ResultsEntry 87, // 15: milvus.proto.streaming.BroadcastAckRequest.message:type_name -> milvus.proto.common.ImmutableMessage 88, // 16: milvus.proto.streaming.UpdateReplicateConfigurationRequest.configuration:type_name -> milvus.proto.common.ReplicateConfiguration 23, // 17: milvus.proto.streaming.UpdateWALBalancePolicyRequest.config:type_name -> milvus.proto.streaming.WALBalancePolicyConfig 24, // 18: milvus.proto.streaming.UpdateWALBalancePolicyRequest.nodes:type_name -> milvus.proto.streaming.WALBalancePolicyNodes 89, // 19: milvus.proto.streaming.UpdateWALBalancePolicyRequest.update_mask:type_name -> google.protobuf.FieldMask 23, // 20: milvus.proto.streaming.UpdateWALBalancePolicyResponse.config:type_name -> milvus.proto.streaming.WALBalancePolicyConfig 27, // 21: milvus.proto.streaming.AssignmentDiscoverRequest.report_error:type_name -> milvus.proto.streaming.ReportAssignmentErrorRequest 28, // 22: milvus.proto.streaming.AssignmentDiscoverRequest.close:type_name -> milvus.proto.streaming.CloseAssignmentDiscoverRequest 7, // 23: milvus.proto.streaming.ReportAssignmentErrorRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 40, // 24: milvus.proto.streaming.ReportAssignmentErrorRequest.err:type_name -> milvus.proto.streaming.StreamingError 30, // 25: milvus.proto.streaming.AssignmentDiscoverResponse.full_assignment:type_name -> milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion 32, // 26: milvus.proto.streaming.AssignmentDiscoverResponse.close:type_name -> milvus.proto.streaming.CloseAssignmentDiscoverResponse 12, // 27: milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion.version:type_name -> milvus.proto.streaming.VersionPair 34, // 28: milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion.assignments:type_name -> milvus.proto.streaming.StreamingNodeAssignment 31, // 29: milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion.cchannel:type_name -> milvus.proto.streaming.CChannelAssignment 88, // 30: milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion.replicate_configuration:type_name -> milvus.proto.common.ReplicateConfiguration 11, // 31: milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion.streaming_version:type_name -> milvus.proto.streaming.StreamingVersion 10, // 32: milvus.proto.streaming.CChannelAssignment.meta:type_name -> milvus.proto.streaming.CChannelMeta 33, // 33: milvus.proto.streaming.StreamingNodeAssignment.node:type_name -> milvus.proto.streaming.StreamingNodeInfo 7, // 34: milvus.proto.streaming.StreamingNodeAssignment.channels:type_name -> milvus.proto.streaming.PChannelInfo 90, // 35: milvus.proto.streaming.DeliverPolicy.all:type_name -> google.protobuf.Empty 90, // 36: milvus.proto.streaming.DeliverPolicy.latest:type_name -> google.protobuf.Empty 86, // 37: milvus.proto.streaming.DeliverPolicy.start_from:type_name -> milvus.proto.common.MessageID 86, // 38: milvus.proto.streaming.DeliverPolicy.start_after:type_name -> milvus.proto.common.MessageID 37, // 39: milvus.proto.streaming.DeliverFilter.time_tick_gt:type_name -> milvus.proto.streaming.DeliverFilterTimeTickGT 38, // 40: milvus.proto.streaming.DeliverFilter.time_tick_gte:type_name -> milvus.proto.streaming.DeliverFilterTimeTickGTE 39, // 41: milvus.proto.streaming.DeliverFilter.message_type:type_name -> milvus.proto.streaming.DeliverFilterMessageType 91, // 42: milvus.proto.streaming.DeliverFilterMessageType.message_types:type_name -> milvus.proto.messages.MessageType 3, // 43: milvus.proto.streaming.StreamingError.code:type_name -> milvus.proto.streaming.StreamingCode 7, // 44: milvus.proto.streaming.GetReplicateCheckpointRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 92, // 45: milvus.proto.streaming.GetReplicateCheckpointResponse.checkpoint:type_name -> milvus.proto.common.ReplicateCheckpoint 45, // 46: milvus.proto.streaming.ProduceRequest.produce:type_name -> milvus.proto.streaming.ProduceMessageRequest 46, // 47: milvus.proto.streaming.ProduceRequest.close:type_name -> milvus.proto.streaming.CloseProducerRequest 7, // 48: milvus.proto.streaming.CreateProducerRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 85, // 49: milvus.proto.streaming.ProduceMessageRequest.message:type_name -> milvus.proto.messages.Message 48, // 50: milvus.proto.streaming.ProduceResponse.create:type_name -> milvus.proto.streaming.CreateProducerResponse 49, // 51: milvus.proto.streaming.ProduceResponse.produce:type_name -> milvus.proto.streaming.ProduceMessageResponse 51, // 52: milvus.proto.streaming.ProduceResponse.close:type_name -> milvus.proto.streaming.CloseProducerResponse 50, // 53: milvus.proto.streaming.ProduceMessageResponse.result:type_name -> milvus.proto.streaming.ProduceMessageResponseResult 40, // 54: milvus.proto.streaming.ProduceMessageResponse.error:type_name -> milvus.proto.streaming.StreamingError 86, // 55: milvus.proto.streaming.ProduceMessageResponseResult.id:type_name -> milvus.proto.common.MessageID 93, // 56: milvus.proto.streaming.ProduceMessageResponseResult.txnContext:type_name -> milvus.proto.messages.TxnContext 94, // 57: milvus.proto.streaming.ProduceMessageResponseResult.extra:type_name -> google.protobuf.Any 86, // 58: milvus.proto.streaming.ProduceMessageResponseResult.last_confirmed_id:type_name -> milvus.proto.common.MessageID 56, // 59: milvus.proto.streaming.ConsumeRequest.create_vchannel_consumer:type_name -> milvus.proto.streaming.CreateVChannelConsumerRequest 55, // 60: milvus.proto.streaming.ConsumeRequest.create_vchannel_consumers:type_name -> milvus.proto.streaming.CreateVChannelConsumersRequest 59, // 61: milvus.proto.streaming.ConsumeRequest.close_vchannel:type_name -> milvus.proto.streaming.CloseVChannelConsumerRequest 53, // 62: milvus.proto.streaming.ConsumeRequest.close:type_name -> milvus.proto.streaming.CloseConsumerRequest 7, // 63: milvus.proto.streaming.CreateConsumerRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 56, // 64: milvus.proto.streaming.CreateVChannelConsumersRequest.create_vchannels:type_name -> milvus.proto.streaming.CreateVChannelConsumerRequest 35, // 65: milvus.proto.streaming.CreateVChannelConsumerRequest.deliver_policy:type_name -> milvus.proto.streaming.DeliverPolicy 36, // 66: milvus.proto.streaming.CreateVChannelConsumerRequest.deliver_filters:type_name -> milvus.proto.streaming.DeliverFilter 58, // 67: milvus.proto.streaming.CreateVChannelConsumersResponse.create_vchannels:type_name -> milvus.proto.streaming.CreateVChannelConsumerResponse 40, // 68: milvus.proto.streaming.CreateVChannelConsumerResponse.error:type_name -> milvus.proto.streaming.StreamingError 62, // 69: milvus.proto.streaming.ConsumeResponse.create:type_name -> milvus.proto.streaming.CreateConsumerResponse 63, // 70: milvus.proto.streaming.ConsumeResponse.consume:type_name -> milvus.proto.streaming.ConsumeMessageReponse 58, // 71: milvus.proto.streaming.ConsumeResponse.create_vchannel:type_name -> milvus.proto.streaming.CreateVChannelConsumerResponse 57, // 72: milvus.proto.streaming.ConsumeResponse.create_vchannels:type_name -> milvus.proto.streaming.CreateVChannelConsumersResponse 60, // 73: milvus.proto.streaming.ConsumeResponse.close_vchannel:type_name -> milvus.proto.streaming.CloseVChannelConsumerResponse 64, // 74: milvus.proto.streaming.ConsumeResponse.close:type_name -> milvus.proto.streaming.CloseConsumerResponse 87, // 75: milvus.proto.streaming.ConsumeMessageReponse.message:type_name -> milvus.proto.common.ImmutableMessage 7, // 76: milvus.proto.streaming.StreamingNodeManagerAssignRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 7, // 77: milvus.proto.streaming.StreamingNodeManagerRemoveRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 71, // 78: milvus.proto.streaming.StreamingNodeMetrics.wals:type_name -> milvus.proto.streaming.StreamingNodeWALMetrics 7, // 79: milvus.proto.streaming.StreamingNodeWALMetrics.info:type_name -> milvus.proto.streaming.PChannelInfo 72, // 80: milvus.proto.streaming.StreamingNodeWALMetrics.rw:type_name -> milvus.proto.streaming.StreamingNodeRWWALMetrics 73, // 81: milvus.proto.streaming.StreamingNodeWALMetrics.ro:type_name -> milvus.proto.streaming.StreamingNodeROWALMetrics 70, // 82: milvus.proto.streaming.StreamingNodeManagerCollectStatusResponse.metrics:type_name -> milvus.proto.streaming.StreamingNodeMetrics 4, // 83: milvus.proto.streaming.VChannelMeta.state:type_name -> milvus.proto.streaming.VChannelState 76, // 84: milvus.proto.streaming.VChannelMeta.collection_info:type_name -> milvus.proto.streaming.CollectionInfoOfVChannel 78, // 85: milvus.proto.streaming.CollectionInfoOfVChannel.partitions:type_name -> milvus.proto.streaming.PartitionInfoOfVChannel 77, // 86: milvus.proto.streaming.CollectionInfoOfVChannel.schemas:type_name -> milvus.proto.streaming.CollectionSchemaOfVChannel 95, // 87: milvus.proto.streaming.CollectionSchemaOfVChannel.schema:type_name -> milvus.proto.schema.CollectionSchema 5, // 88: milvus.proto.streaming.CollectionSchemaOfVChannel.state:type_name -> milvus.proto.streaming.VChannelSchemaState 6, // 89: milvus.proto.streaming.SegmentAssignmentMeta.state:type_name -> milvus.proto.streaming.SegmentAssignmentState 80, // 90: milvus.proto.streaming.SegmentAssignmentMeta.stat:type_name -> milvus.proto.streaming.SegmentAssignmentStat 96, // 91: milvus.proto.streaming.SegmentAssignmentStat.level:type_name -> milvus.proto.data.SegmentLevel 86, // 92: milvus.proto.streaming.WALCheckpoint.message_id:type_name -> milvus.proto.common.MessageID 88, // 93: milvus.proto.streaming.WALCheckpoint.replicate_config:type_name -> milvus.proto.common.ReplicateConfiguration 92, // 94: milvus.proto.streaming.WALCheckpoint.replicate_checkpoint:type_name -> milvus.proto.common.ReplicateCheckpoint 88, // 95: milvus.proto.streaming.ReplicateConfigurationMeta.replicate_configuration:type_name -> milvus.proto.common.ReplicateConfiguration 14, // 96: milvus.proto.streaming.ReplicateConfigurationMeta.acked_result:type_name -> milvus.proto.streaming.AckedResult 97, // 97: milvus.proto.streaming.ReplicatePChannelMeta.target_cluster:type_name -> milvus.proto.common.MilvusCluster 92, // 98: milvus.proto.streaming.ReplicatePChannelMeta.initialized_checkpoint:type_name -> milvus.proto.common.ReplicateCheckpoint 50, // 99: milvus.proto.streaming.BroadcastResponse.ResultsEntry.value:type_name -> milvus.proto.streaming.ProduceMessageResponseResult 98, // 100: milvus.proto.streaming.StreamingNodeStateService.GetComponentStates:input_type -> milvus.proto.milvus.GetComponentStatesRequest 16, // 101: milvus.proto.streaming.StreamingCoordBroadcastService.Broadcast:input_type -> milvus.proto.streaming.BroadcastRequest 18, // 102: milvus.proto.streaming.StreamingCoordBroadcastService.Ack:input_type -> milvus.proto.streaming.BroadcastAckRequest 20, // 103: milvus.proto.streaming.StreamingCoordAssignmentService.UpdateReplicateConfiguration:input_type -> milvus.proto.streaming.UpdateReplicateConfigurationRequest 22, // 104: milvus.proto.streaming.StreamingCoordAssignmentService.UpdateWALBalancePolicy:input_type -> milvus.proto.streaming.UpdateWALBalancePolicyRequest 26, // 105: milvus.proto.streaming.StreamingCoordAssignmentService.AssignmentDiscover:input_type -> milvus.proto.streaming.AssignmentDiscoverRequest 41, // 106: milvus.proto.streaming.StreamingNodeHandlerService.GetReplicateCheckpoint:input_type -> milvus.proto.streaming.GetReplicateCheckpointRequest 43, // 107: milvus.proto.streaming.StreamingNodeHandlerService.Produce:input_type -> milvus.proto.streaming.ProduceRequest 52, // 108: milvus.proto.streaming.StreamingNodeHandlerService.Consume:input_type -> milvus.proto.streaming.ConsumeRequest 65, // 109: milvus.proto.streaming.StreamingNodeManagerService.Assign:input_type -> milvus.proto.streaming.StreamingNodeManagerAssignRequest 67, // 110: milvus.proto.streaming.StreamingNodeManagerService.Remove:input_type -> milvus.proto.streaming.StreamingNodeManagerRemoveRequest 69, // 111: milvus.proto.streaming.StreamingNodeManagerService.CollectStatus:input_type -> milvus.proto.streaming.StreamingNodeManagerCollectStatusRequest 99, // 112: milvus.proto.streaming.StreamingNodeStateService.GetComponentStates:output_type -> milvus.proto.milvus.ComponentStates 17, // 113: milvus.proto.streaming.StreamingCoordBroadcastService.Broadcast:output_type -> milvus.proto.streaming.BroadcastResponse 19, // 114: milvus.proto.streaming.StreamingCoordBroadcastService.Ack:output_type -> milvus.proto.streaming.BroadcastAckResponse 21, // 115: milvus.proto.streaming.StreamingCoordAssignmentService.UpdateReplicateConfiguration:output_type -> milvus.proto.streaming.UpdateReplicateConfigurationResponse 25, // 116: milvus.proto.streaming.StreamingCoordAssignmentService.UpdateWALBalancePolicy:output_type -> milvus.proto.streaming.UpdateWALBalancePolicyResponse 29, // 117: milvus.proto.streaming.StreamingCoordAssignmentService.AssignmentDiscover:output_type -> milvus.proto.streaming.AssignmentDiscoverResponse 42, // 118: milvus.proto.streaming.StreamingNodeHandlerService.GetReplicateCheckpoint:output_type -> milvus.proto.streaming.GetReplicateCheckpointResponse 47, // 119: milvus.proto.streaming.StreamingNodeHandlerService.Produce:output_type -> milvus.proto.streaming.ProduceResponse 61, // 120: milvus.proto.streaming.StreamingNodeHandlerService.Consume:output_type -> milvus.proto.streaming.ConsumeResponse 66, // 121: milvus.proto.streaming.StreamingNodeManagerService.Assign:output_type -> milvus.proto.streaming.StreamingNodeManagerAssignResponse 68, // 122: milvus.proto.streaming.StreamingNodeManagerService.Remove:output_type -> milvus.proto.streaming.StreamingNodeManagerRemoveResponse 74, // 123: milvus.proto.streaming.StreamingNodeManagerService.CollectStatus:output_type -> milvus.proto.streaming.StreamingNodeManagerCollectStatusResponse 112, // [112:124] is the sub-list for method output_type 100, // [100:112] is the sub-list for method input_type 100, // [100:100] is the sub-list for extension type_name 100, // [100:100] is the sub-list for extension extendee 0, // [0:100] is the sub-list for field type_name } func init() { file_streaming_proto_init() } func file_streaming_proto_init() { if File_streaming_proto != nil { return } if !protoimpl.UnsafeEnabled { file_streaming_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PChannelInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PChannelAssignmentLog); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PChannelMeta); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CChannelMeta); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingVersion); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VersionPair); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastTask); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AckedResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AckedCheckpoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastAckRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BroadcastAckResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateReplicateConfigurationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateReplicateConfigurationResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateWALBalancePolicyRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WALBalancePolicyConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WALBalancePolicyNodes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateWALBalancePolicyResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AssignmentDiscoverRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReportAssignmentErrorRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseAssignmentDiscoverRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AssignmentDiscoverResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FullStreamingNodeAssignmentWithVersion); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CChannelAssignment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseAssignmentDiscoverResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeAssignment); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeliverPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeliverFilter); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeliverFilterTimeTickGT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeliverFilterTimeTickGTE); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeliverFilterMessageType); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingError); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetReplicateCheckpointRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetReplicateCheckpointResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProduceRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateProducerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProduceMessageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseProducerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProduceResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateProducerResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProduceMessageResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProduceMessageResponseResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseProducerResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConsumeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseConsumerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateConsumerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateVChannelConsumersRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateVChannelConsumerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateVChannelConsumersResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateVChannelConsumerResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseVChannelConsumerRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseVChannelConsumerResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConsumeResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateConsumerResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConsumeMessageReponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseConsumerResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeManagerAssignRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeManagerAssignResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeManagerRemoveRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeManagerRemoveResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeManagerCollectStatusRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeMetrics); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeWALMetrics); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeRWWALMetrics); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeROWALMetrics); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StreamingNodeManagerCollectStatusResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VChannelMeta); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CollectionInfoOfVChannel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CollectionSchemaOfVChannel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartitionInfoOfVChannel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SegmentAssignmentMeta); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SegmentAssignmentStat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WALCheckpoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReplicateConfigurationMeta); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_streaming_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReplicatePChannelMeta); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_streaming_proto_msgTypes[19].OneofWrappers = []interface{}{ (*AssignmentDiscoverRequest_ReportError)(nil), (*AssignmentDiscoverRequest_Close)(nil), } file_streaming_proto_msgTypes[22].OneofWrappers = []interface{}{ (*AssignmentDiscoverResponse_FullAssignment)(nil), (*AssignmentDiscoverResponse_Close)(nil), } file_streaming_proto_msgTypes[28].OneofWrappers = []interface{}{ (*DeliverPolicy_All)(nil), (*DeliverPolicy_Latest)(nil), (*DeliverPolicy_StartFrom)(nil), (*DeliverPolicy_StartAfter)(nil), } file_streaming_proto_msgTypes[29].OneofWrappers = []interface{}{ (*DeliverFilter_TimeTickGt)(nil), (*DeliverFilter_TimeTickGte)(nil), (*DeliverFilter_MessageType)(nil), } file_streaming_proto_msgTypes[36].OneofWrappers = []interface{}{ (*ProduceRequest_Produce)(nil), (*ProduceRequest_Close)(nil), } file_streaming_proto_msgTypes[40].OneofWrappers = []interface{}{ (*ProduceResponse_Create)(nil), (*ProduceResponse_Produce)(nil), (*ProduceResponse_Close)(nil), } file_streaming_proto_msgTypes[42].OneofWrappers = []interface{}{ (*ProduceMessageResponse_Result)(nil), (*ProduceMessageResponse_Error)(nil), } file_streaming_proto_msgTypes[45].OneofWrappers = []interface{}{ (*ConsumeRequest_CreateVchannelConsumer)(nil), (*ConsumeRequest_CreateVchannelConsumers)(nil), (*ConsumeRequest_CloseVchannel)(nil), (*ConsumeRequest_Close)(nil), } file_streaming_proto_msgTypes[51].OneofWrappers = []interface{}{ (*CreateVChannelConsumerResponse_ConsumerId)(nil), (*CreateVChannelConsumerResponse_Error)(nil), } file_streaming_proto_msgTypes[54].OneofWrappers = []interface{}{ (*ConsumeResponse_Create)(nil), (*ConsumeResponse_Consume)(nil), (*ConsumeResponse_CreateVchannel)(nil), (*ConsumeResponse_CreateVchannels)(nil), (*ConsumeResponse_CloseVchannel)(nil), (*ConsumeResponse_Close)(nil), } file_streaming_proto_msgTypes[64].OneofWrappers = []interface{}{ (*StreamingNodeWALMetrics_Rw)(nil), (*StreamingNodeWALMetrics_Ro)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_streaming_proto_rawDesc, NumEnums: 7, NumMessages: 78, NumExtensions: 0, NumServices: 5, }, GoTypes: file_streaming_proto_goTypes, DependencyIndexes: file_streaming_proto_depIdxs, EnumInfos: file_streaming_proto_enumTypes, MessageInfos: file_streaming_proto_msgTypes, }.Build() File_streaming_proto = out.File file_streaming_proto_rawDesc = nil file_streaming_proto_goTypes = nil file_streaming_proto_depIdxs = nil }