// 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 ( milvuspb "github.com/milvus-io/milvus-proto/go-api/v2/milvuspb" 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" 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) ) // 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[0].Descriptor() } func (PChannelMetaState) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[0] } 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{0} } // 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. BroadcastTaskState_BROADCAST_TASK_STATE_WAIT_ACK BroadcastTaskState = 3 // task has been broadcasted, waiting for ack, the resource lock is still acquired by some vchannels. ) // 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", } 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, } ) 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[1].Descriptor() } func (BroadcastTaskState) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[1] } 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{1} } // 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_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", 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_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[2].Descriptor() } func (StreamingCode) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[2] } 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{2} } // SegmentAssignmentState is the state of segment assignment. // The state machine can be described as following: // 1. PENDING -> GROWING -> SEALED -> FLUSHED type SegmentAssignmentState int32 const ( SegmentAssignmentState_SEGMENT_ASSIGNMENT_STATE_UNKNOWN SegmentAssignmentState = 0 // should never used. SegmentAssignmentState_SEGMENT_ASSIGNMENT_STATE_PENDING SegmentAssignmentState = 1 SegmentAssignmentState_SEGMENT_ASSIGNMENT_STATE_GROWING SegmentAssignmentState = 2 SegmentAssignmentState_SEGMENT_ASSIGNMENT_STATE_SEALED SegmentAssignmentState = 3 SegmentAssignmentState_SEGMENT_ASSIGNMENT_STATE_FLUSHED SegmentAssignmentState = 4 // can never be seen, because it's ) // Enum value maps for SegmentAssignmentState. var ( SegmentAssignmentState_name = map[int32]string{ 0: "SEGMENT_ASSIGNMENT_STATE_UNKNOWN", 1: "SEGMENT_ASSIGNMENT_STATE_PENDING", 2: "SEGMENT_ASSIGNMENT_STATE_GROWING", 3: "SEGMENT_ASSIGNMENT_STATE_SEALED", 4: "SEGMENT_ASSIGNMENT_STATE_FLUSHED", } SegmentAssignmentState_value = map[string]int32{ "SEGMENT_ASSIGNMENT_STATE_UNKNOWN": 0, "SEGMENT_ASSIGNMENT_STATE_PENDING": 1, "SEGMENT_ASSIGNMENT_STATE_GROWING": 2, "SEGMENT_ASSIGNMENT_STATE_SEALED": 3, "SEGMENT_ASSIGNMENT_STATE_FLUSHED": 4, } ) 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[3].Descriptor() } func (SegmentAssignmentState) Type() protoreflect.EnumType { return &file_streaming_proto_enumTypes[3] } 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{3} } // 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 } 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 } // 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. } 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 } // 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. } 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 } // 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[3] 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[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 VersionPair.ProtoReflect.Descriptor instead. func (*VersionPair) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{3} } 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. AckedVchannelBitmap []byte `protobuf:"bytes,3,opt,name=acked_vchannel_bitmap,json=ackedVchannelBitmap,proto3" json:"acked_vchannel_bitmap,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[4] 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[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 BroadcastTask.ProtoReflect.Descriptor instead. func (*BroadcastTask) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{4} } 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 } func (x *BroadcastTask) GetAckedVchannelBitmap() []byte { if x != nil { return x.AckedVchannelBitmap } return nil } // 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[5] 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[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 BroadcastRequest.ProtoReflect.Descriptor instead. func (*BroadcastRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{5} } 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[6] 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[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 BroadcastResponse.ProtoReflect.Descriptor instead. func (*BroadcastResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{6} } 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 BroadcastId uint64 `protobuf:"varint,1,opt,name=broadcast_id,json=broadcastId,proto3" json:"broadcast_id,omitempty"` // broadcast id. Vchannel string `protobuf:"bytes,2,opt,name=vchannel,proto3" json:"vchannel,omitempty"` // the vchannel that acked the message. } func (x *BroadcastAckRequest) Reset() { *x = BroadcastAckRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[7] 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[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 BroadcastAckRequest.ProtoReflect.Descriptor instead. func (*BroadcastAckRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{7} } func (x *BroadcastAckRequest) GetBroadcastId() uint64 { if x != nil { return x.BroadcastId } return 0 } func (x *BroadcastAckRequest) GetVchannel() string { if x != nil { return x.Vchannel } return "" } 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[8] 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[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 BroadcastAckResponse.ProtoReflect.Descriptor instead. func (*BroadcastAckResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{8} } type BroadcastWatchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Command: // // *BroadcastWatchRequest_CreateEventWatch // *BroadcastWatchRequest_Close Command isBroadcastWatchRequest_Command `protobuf_oneof:"command"` } func (x *BroadcastWatchRequest) Reset() { *x = BroadcastWatchRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BroadcastWatchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*BroadcastWatchRequest) ProtoMessage() {} func (x *BroadcastWatchRequest) 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 BroadcastWatchRequest.ProtoReflect.Descriptor instead. func (*BroadcastWatchRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{9} } func (m *BroadcastWatchRequest) GetCommand() isBroadcastWatchRequest_Command { if m != nil { return m.Command } return nil } func (x *BroadcastWatchRequest) GetCreateEventWatch() *BroadcastCreateEventWatchRequest { if x, ok := x.GetCommand().(*BroadcastWatchRequest_CreateEventWatch); ok { return x.CreateEventWatch } return nil } func (x *BroadcastWatchRequest) GetClose() *CloseBroadcastWatchRequest { if x, ok := x.GetCommand().(*BroadcastWatchRequest_Close); ok { return x.Close } return nil } type isBroadcastWatchRequest_Command interface { isBroadcastWatchRequest_Command() } type BroadcastWatchRequest_CreateEventWatch struct { CreateEventWatch *BroadcastCreateEventWatchRequest `protobuf:"bytes,1,opt,name=create_event_watch,json=createEventWatch,proto3,oneof"` } type BroadcastWatchRequest_Close struct { Close *CloseBroadcastWatchRequest `protobuf:"bytes,2,opt,name=close,proto3,oneof"` } func (*BroadcastWatchRequest_CreateEventWatch) isBroadcastWatchRequest_Command() {} func (*BroadcastWatchRequest_Close) isBroadcastWatchRequest_Command() {} type BroadcastCreateEventWatchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Event *messagespb.BroadcastEvent `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"` } func (x *BroadcastCreateEventWatchRequest) Reset() { *x = BroadcastCreateEventWatchRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BroadcastCreateEventWatchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*BroadcastCreateEventWatchRequest) ProtoMessage() {} func (x *BroadcastCreateEventWatchRequest) 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 BroadcastCreateEventWatchRequest.ProtoReflect.Descriptor instead. func (*BroadcastCreateEventWatchRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{10} } func (x *BroadcastCreateEventWatchRequest) GetEvent() *messagespb.BroadcastEvent { if x != nil { return x.Event } return nil } type CloseBroadcastWatchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CloseBroadcastWatchRequest) Reset() { *x = CloseBroadcastWatchRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseBroadcastWatchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseBroadcastWatchRequest) ProtoMessage() {} func (x *CloseBroadcastWatchRequest) 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 CloseBroadcastWatchRequest.ProtoReflect.Descriptor instead. func (*CloseBroadcastWatchRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{11} } type BroadcastWatchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Response: // // *BroadcastWatchResponse_EventDone // *BroadcastWatchResponse_Close Response isBroadcastWatchResponse_Response `protobuf_oneof:"response"` } func (x *BroadcastWatchResponse) Reset() { *x = BroadcastWatchResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BroadcastWatchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BroadcastWatchResponse) ProtoMessage() {} func (x *BroadcastWatchResponse) 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 BroadcastWatchResponse.ProtoReflect.Descriptor instead. func (*BroadcastWatchResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{12} } func (m *BroadcastWatchResponse) GetResponse() isBroadcastWatchResponse_Response { if m != nil { return m.Response } return nil } func (x *BroadcastWatchResponse) GetEventDone() *BroadcastEventWatchResponse { if x, ok := x.GetResponse().(*BroadcastWatchResponse_EventDone); ok { return x.EventDone } return nil } func (x *BroadcastWatchResponse) GetClose() *CloseBroadcastWatchResponse { if x, ok := x.GetResponse().(*BroadcastWatchResponse_Close); ok { return x.Close } return nil } type isBroadcastWatchResponse_Response interface { isBroadcastWatchResponse_Response() } type BroadcastWatchResponse_EventDone struct { EventDone *BroadcastEventWatchResponse `protobuf:"bytes,1,opt,name=event_done,json=eventDone,proto3,oneof"` } type BroadcastWatchResponse_Close struct { Close *CloseBroadcastWatchResponse `protobuf:"bytes,2,opt,name=close,proto3,oneof"` } func (*BroadcastWatchResponse_EventDone) isBroadcastWatchResponse_Response() {} func (*BroadcastWatchResponse_Close) isBroadcastWatchResponse_Response() {} type BroadcastEventWatchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Event *messagespb.BroadcastEvent `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"` } func (x *BroadcastEventWatchResponse) Reset() { *x = BroadcastEventWatchResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BroadcastEventWatchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*BroadcastEventWatchResponse) ProtoMessage() {} func (x *BroadcastEventWatchResponse) 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 BroadcastEventWatchResponse.ProtoReflect.Descriptor instead. func (*BroadcastEventWatchResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{13} } func (x *BroadcastEventWatchResponse) GetEvent() *messagespb.BroadcastEvent { if x != nil { return x.Event } return nil } type CloseBroadcastWatchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CloseBroadcastWatchResponse) Reset() { *x = CloseBroadcastWatchResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CloseBroadcastWatchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CloseBroadcastWatchResponse) ProtoMessage() {} func (x *CloseBroadcastWatchResponse) 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 CloseBroadcastWatchResponse.ProtoReflect.Descriptor instead. func (*CloseBroadcastWatchResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{14} } // 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[15] 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[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 AssignmentDiscoverRequest.ProtoReflect.Descriptor instead. func (*AssignmentDiscoverRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{15} } 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[16] 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[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 ReportAssignmentErrorRequest.ProtoReflect.Descriptor instead. func (*ReportAssignmentErrorRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{16} } 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[17] 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[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 CloseAssignmentDiscoverRequest.ProtoReflect.Descriptor instead. func (*CloseAssignmentDiscoverRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{17} } // 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[18] 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[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 AssignmentDiscoverResponse.ProtoReflect.Descriptor instead. func (*AssignmentDiscoverResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{18} } 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"` } func (x *FullStreamingNodeAssignmentWithVersion) Reset() { *x = FullStreamingNodeAssignmentWithVersion{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[19] 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[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 FullStreamingNodeAssignmentWithVersion.ProtoReflect.Descriptor instead. func (*FullStreamingNodeAssignmentWithVersion) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{19} } 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 } 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[20] 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[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 CloseAssignmentDiscoverResponse.ProtoReflect.Descriptor instead. func (*CloseAssignmentDiscoverResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{20} } // 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[21] 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[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 StreamingNodeInfo.ProtoReflect.Descriptor instead. func (*StreamingNodeInfo) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{21} } 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[22] 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[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 StreamingNodeAssignment.ProtoReflect.Descriptor instead. func (*StreamingNodeAssignment) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{22} } 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[23] 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[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 DeliverPolicy.ProtoReflect.Descriptor instead. func (*DeliverPolicy) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{23} } 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() *messagespb.MessageID { if x, ok := x.GetPolicy().(*DeliverPolicy_StartFrom); ok { return x.StartFrom } return nil } func (x *DeliverPolicy) GetStartAfter() *messagespb.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 *messagespb.MessageID `protobuf:"bytes,3,opt,name=start_from,json=startFrom,proto3,oneof"` // deliver message from this message id. [startFrom, ...] } type DeliverPolicy_StartAfter struct { StartAfter *messagespb.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[24] 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[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 DeliverFilter.ProtoReflect.Descriptor instead. func (*DeliverFilter) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{24} } 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[25] 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[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 DeliverFilterTimeTickGT.ProtoReflect.Descriptor instead. func (*DeliverFilterTimeTickGT) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{25} } 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[26] 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[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 DeliverFilterTimeTickGTE.ProtoReflect.Descriptor instead. func (*DeliverFilterTimeTickGTE) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{26} } 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[27] 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[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 DeliverFilterMessageType.ProtoReflect.Descriptor instead. func (*DeliverFilterMessageType) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{27} } 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[28] 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[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 StreamingError.ProtoReflect.Descriptor instead. func (*StreamingError) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{28} } 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 "" } // 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[29] 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[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 ProduceRequest.ProtoReflect.Descriptor instead. func (*ProduceRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{29} } 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[30] 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[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 CreateProducerRequest.ProtoReflect.Descriptor instead. func (*CreateProducerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{30} } 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[31] 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[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 ProduceMessageRequest.ProtoReflect.Descriptor instead. func (*ProduceMessageRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{31} } 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[32] 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[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 CloseProducerRequest.ProtoReflect.Descriptor instead. func (*CloseProducerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{32} } // 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[33] 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[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 ProduceResponse.ProtoReflect.Descriptor instead. func (*ProduceResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{33} } 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 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[34] 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[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 CreateProducerResponse.ProtoReflect.Descriptor instead. func (*CreateProducerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{34} } 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[35] 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[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 ProduceMessageResponse.ProtoReflect.Descriptor instead. func (*ProduceMessageResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{35} } 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 *messagespb.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. } func (x *ProduceMessageResponseResult) Reset() { *x = ProduceMessageResponseResult{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[36] 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[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 ProduceMessageResponseResult.ProtoReflect.Descriptor instead. func (*ProduceMessageResponseResult) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{36} } func (x *ProduceMessageResponseResult) GetId() *messagespb.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 } // 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[37] 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[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 CloseProducerResponse.ProtoReflect.Descriptor instead. func (*CloseProducerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{37} } // 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[38] 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[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 ConsumeRequest.ProtoReflect.Descriptor instead. func (*ConsumeRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{38} } 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[39] 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[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 CloseConsumerRequest.ProtoReflect.Descriptor instead. func (*CloseConsumerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{39} } // 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[40] 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[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 CreateConsumerRequest.ProtoReflect.Descriptor instead. func (*CreateConsumerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{40} } 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[41] 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[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 CreateVChannelConsumersRequest.ProtoReflect.Descriptor instead. func (*CreateVChannelConsumersRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{41} } 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. } func (x *CreateVChannelConsumerRequest) Reset() { *x = CreateVChannelConsumerRequest{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[42] 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[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 CreateVChannelConsumerRequest.ProtoReflect.Descriptor instead. func (*CreateVChannelConsumerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{42} } 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 } // 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[43] 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[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 CreateVChannelConsumersResponse.ProtoReflect.Descriptor instead. func (*CreateVChannelConsumersResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{43} } 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[44] 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[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 CreateVChannelConsumerResponse.ProtoReflect.Descriptor instead. func (*CreateVChannelConsumerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{44} } 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[45] 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[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 CloseVChannelConsumerRequest.ProtoReflect.Descriptor instead. func (*CloseVChannelConsumerRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{45} } 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[46] 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[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 CloseVChannelConsumerResponse.ProtoReflect.Descriptor instead. func (*CloseVChannelConsumerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{46} } 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[47] 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[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 ConsumeResponse.ProtoReflect.Descriptor instead. func (*ConsumeResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{47} } 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 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[48] 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[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 CreateConsumerResponse.ProtoReflect.Descriptor instead. func (*CreateConsumerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{48} } 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 *messagespb.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[49] 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[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 ConsumeMessageReponse.ProtoReflect.Descriptor instead. func (*ConsumeMessageReponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{49} } func (x *ConsumeMessageReponse) GetConsumerId() int64 { if x != nil { return x.ConsumerId } return 0 } func (x *ConsumeMessageReponse) GetMessage() *messagespb.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[50] 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[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 CloseConsumerResponse.ProtoReflect.Descriptor instead. func (*CloseConsumerResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{50} } // 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[51] 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[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 StreamingNodeManagerAssignRequest.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerAssignRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{51} } 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[52] 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[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 StreamingNodeManagerAssignResponse.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerAssignResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{52} } 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[53] 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[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 StreamingNodeManagerRemoveRequest.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerRemoveRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{53} } 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[54] 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[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 StreamingNodeManagerRemoveResponse.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerRemoveResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{54} } 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[55] 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[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 StreamingNodeManagerCollectStatusRequest.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerCollectStatusRequest) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{55} } type StreamingNodeBalanceAttributes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *StreamingNodeBalanceAttributes) Reset() { *x = StreamingNodeBalanceAttributes{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StreamingNodeBalanceAttributes) String() string { return protoimpl.X.MessageStringOf(x) } func (*StreamingNodeBalanceAttributes) ProtoMessage() {} func (x *StreamingNodeBalanceAttributes) 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 StreamingNodeBalanceAttributes.ProtoReflect.Descriptor instead. func (*StreamingNodeBalanceAttributes) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{56} } type StreamingNodeManagerCollectStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields BalanceAttributes *StreamingNodeBalanceAttributes `protobuf:"bytes,1,opt,name=balance_attributes,json=balanceAttributes,proto3" json:"balance_attributes,omitempty"` } func (x *StreamingNodeManagerCollectStatusResponse) Reset() { *x = StreamingNodeManagerCollectStatusResponse{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[57] 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[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 StreamingNodeManagerCollectStatusResponse.ProtoReflect.Descriptor instead. func (*StreamingNodeManagerCollectStatusResponse) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{57} } func (x *StreamingNodeManagerCollectStatusResponse) GetBalanceAttributes() *StreamingNodeBalanceAttributes { if x != nil { return x.BalanceAttributes } return nil } // / // / 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"` } func (x *SegmentAssignmentMeta) Reset() { *x = SegmentAssignmentMeta{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[58] 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[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 SegmentAssignmentMeta.ProtoReflect.Descriptor instead. func (*SegmentAssignmentMeta) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{58} } 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 } // 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"` InsertedRows uint64 `protobuf:"varint,2,opt,name=inserted_rows,json=insertedRows,proto3" json:"inserted_rows,omitempty"` InsertedBinarySize uint64 `protobuf:"varint,3,opt,name=inserted_binary_size,json=insertedBinarySize,proto3" json:"inserted_binary_size,omitempty"` CreateTimestampNanoseconds int64 `protobuf:"varint,4,opt,name=create_timestamp_nanoseconds,json=createTimestampNanoseconds,proto3" json:"create_timestamp_nanoseconds,omitempty"` LastModifiedTimestampNanoseconds int64 `protobuf:"varint,5,opt,name=last_modified_timestamp_nanoseconds,json=lastModifiedTimestampNanoseconds,proto3" json:"last_modified_timestamp_nanoseconds,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. } func (x *SegmentAssignmentStat) Reset() { *x = SegmentAssignmentStat{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[59] 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[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 SegmentAssignmentStat.ProtoReflect.Descriptor instead. func (*SegmentAssignmentStat) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{59} } func (x *SegmentAssignmentStat) GetMaxBinarySize() uint64 { if x != nil { return x.MaxBinarySize } return 0 } func (x *SegmentAssignmentStat) GetInsertedRows() uint64 { if x != nil { return x.InsertedRows } return 0 } func (x *SegmentAssignmentStat) GetInsertedBinarySize() uint64 { if x != nil { return x.InsertedBinarySize } return 0 } func (x *SegmentAssignmentStat) GetCreateTimestampNanoseconds() int64 { if x != nil { return x.CreateTimestampNanoseconds } return 0 } func (x *SegmentAssignmentStat) GetLastModifiedTimestampNanoseconds() int64 { if x != nil { return x.LastModifiedTimestampNanoseconds } 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 } // The WALCheckpoint that is used to recovery the wal scanner. type WALCheckpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MessageID *messagespb.MessageID `protobuf:"bytes,1,opt,name=messageID,proto3" json:"messageID,omitempty"` } func (x *WALCheckpoint) Reset() { *x = WALCheckpoint{} if protoimpl.UnsafeEnabled { mi := &file_streaming_proto_msgTypes[60] 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[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 WALCheckpoint.ProtoReflect.Descriptor instead. func (*WALCheckpoint) Descriptor() ([]byte, []int) { return file_streaming_proto_rawDescGZIP(), []int{60} } func (x *WALCheckpoint) GetMessageID() *messagespb.MessageID { if x != nil { return x.MessageID } 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, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 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, 0x22, 0x36, 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, 0x22, 0x6a, 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, 0x22, 0x9b, 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, 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, 0xbf, 0x01, 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, 0x32, 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, 0x52, 0x13, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x56, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, 0x74, 0x6d, 0x61, 0x70, 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, 0x54, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 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, 0xd8, 0x01, 0x0a, 0x15, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 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, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x4a, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 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, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 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, 0x5f, 0x0a, 0x20, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xc7, 0x01, 0x0a, 0x16, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 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, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x4b, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 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, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 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, 0x5a, 0x0a, 0x1b, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0xba, 0x01, 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, 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, 0xff, 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, 0x41, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 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, 0x49, 0x44, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 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, 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, 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, 0x61, 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, 0x19, 0x0a, 0x08, 0x77, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0xdb, 0x01, 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, 0x30, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 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, 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, 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, 0xd9, 0x01, 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, 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, 0x61, 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, 0x19, 0x0a, 0x08, 0x77, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 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, 0x7b, 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, 0x41, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x69, 0x6c, 0x76, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 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, 0x20, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x92, 0x01, 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, 0x65, 0x0a, 0x12, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 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, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x11, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0xa3, 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, 0x22, 0x87, 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, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x40, 0x0a, 0x1c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x4d, 0x0a, 0x23, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 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, 0x22, 0x4f, 0x0a, 0x0d, 0x57, 0x41, 0x4c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 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, 0x49, 0x44, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x44, 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, 0x9a, 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, 0x21, 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, 0x2a, 0x82, 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, 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, 0xd5, 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, 0x50, 0x45, 0x4e, 0x44, 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, 0x47, 0x52, 0x4f, 0x57, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 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, 0x53, 0x45, 0x41, 0x4c, 0x45, 0x44, 0x10, 0x03, 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, 0x04, 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, 0xd6, 0x02, 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, 0x12, 0x6c, 0x0a, 0x05, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 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, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 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, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x32, 0xa5, 0x01, 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, 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, 0xe1, 0x01, 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, 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, 4) var file_streaming_proto_msgTypes = make([]protoimpl.MessageInfo, 62) var file_streaming_proto_goTypes = []interface{}{ (PChannelMetaState)(0), // 0: milvus.proto.streaming.PChannelMetaState (BroadcastTaskState)(0), // 1: milvus.proto.streaming.BroadcastTaskState (StreamingCode)(0), // 2: milvus.proto.streaming.StreamingCode (SegmentAssignmentState)(0), // 3: milvus.proto.streaming.SegmentAssignmentState (*PChannelInfo)(nil), // 4: milvus.proto.streaming.PChannelInfo (*PChannelAssignmentLog)(nil), // 5: milvus.proto.streaming.PChannelAssignmentLog (*PChannelMeta)(nil), // 6: milvus.proto.streaming.PChannelMeta (*VersionPair)(nil), // 7: milvus.proto.streaming.VersionPair (*BroadcastTask)(nil), // 8: milvus.proto.streaming.BroadcastTask (*BroadcastRequest)(nil), // 9: milvus.proto.streaming.BroadcastRequest (*BroadcastResponse)(nil), // 10: milvus.proto.streaming.BroadcastResponse (*BroadcastAckRequest)(nil), // 11: milvus.proto.streaming.BroadcastAckRequest (*BroadcastAckResponse)(nil), // 12: milvus.proto.streaming.BroadcastAckResponse (*BroadcastWatchRequest)(nil), // 13: milvus.proto.streaming.BroadcastWatchRequest (*BroadcastCreateEventWatchRequest)(nil), // 14: milvus.proto.streaming.BroadcastCreateEventWatchRequest (*CloseBroadcastWatchRequest)(nil), // 15: milvus.proto.streaming.CloseBroadcastWatchRequest (*BroadcastWatchResponse)(nil), // 16: milvus.proto.streaming.BroadcastWatchResponse (*BroadcastEventWatchResponse)(nil), // 17: milvus.proto.streaming.BroadcastEventWatchResponse (*CloseBroadcastWatchResponse)(nil), // 18: milvus.proto.streaming.CloseBroadcastWatchResponse (*AssignmentDiscoverRequest)(nil), // 19: milvus.proto.streaming.AssignmentDiscoverRequest (*ReportAssignmentErrorRequest)(nil), // 20: milvus.proto.streaming.ReportAssignmentErrorRequest (*CloseAssignmentDiscoverRequest)(nil), // 21: milvus.proto.streaming.CloseAssignmentDiscoverRequest (*AssignmentDiscoverResponse)(nil), // 22: milvus.proto.streaming.AssignmentDiscoverResponse (*FullStreamingNodeAssignmentWithVersion)(nil), // 23: milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion (*CloseAssignmentDiscoverResponse)(nil), // 24: milvus.proto.streaming.CloseAssignmentDiscoverResponse (*StreamingNodeInfo)(nil), // 25: milvus.proto.streaming.StreamingNodeInfo (*StreamingNodeAssignment)(nil), // 26: milvus.proto.streaming.StreamingNodeAssignment (*DeliverPolicy)(nil), // 27: milvus.proto.streaming.DeliverPolicy (*DeliverFilter)(nil), // 28: milvus.proto.streaming.DeliverFilter (*DeliverFilterTimeTickGT)(nil), // 29: milvus.proto.streaming.DeliverFilterTimeTickGT (*DeliverFilterTimeTickGTE)(nil), // 30: milvus.proto.streaming.DeliverFilterTimeTickGTE (*DeliverFilterMessageType)(nil), // 31: milvus.proto.streaming.DeliverFilterMessageType (*StreamingError)(nil), // 32: milvus.proto.streaming.StreamingError (*ProduceRequest)(nil), // 33: milvus.proto.streaming.ProduceRequest (*CreateProducerRequest)(nil), // 34: milvus.proto.streaming.CreateProducerRequest (*ProduceMessageRequest)(nil), // 35: milvus.proto.streaming.ProduceMessageRequest (*CloseProducerRequest)(nil), // 36: milvus.proto.streaming.CloseProducerRequest (*ProduceResponse)(nil), // 37: milvus.proto.streaming.ProduceResponse (*CreateProducerResponse)(nil), // 38: milvus.proto.streaming.CreateProducerResponse (*ProduceMessageResponse)(nil), // 39: milvus.proto.streaming.ProduceMessageResponse (*ProduceMessageResponseResult)(nil), // 40: milvus.proto.streaming.ProduceMessageResponseResult (*CloseProducerResponse)(nil), // 41: milvus.proto.streaming.CloseProducerResponse (*ConsumeRequest)(nil), // 42: milvus.proto.streaming.ConsumeRequest (*CloseConsumerRequest)(nil), // 43: milvus.proto.streaming.CloseConsumerRequest (*CreateConsumerRequest)(nil), // 44: milvus.proto.streaming.CreateConsumerRequest (*CreateVChannelConsumersRequest)(nil), // 45: milvus.proto.streaming.CreateVChannelConsumersRequest (*CreateVChannelConsumerRequest)(nil), // 46: milvus.proto.streaming.CreateVChannelConsumerRequest (*CreateVChannelConsumersResponse)(nil), // 47: milvus.proto.streaming.CreateVChannelConsumersResponse (*CreateVChannelConsumerResponse)(nil), // 48: milvus.proto.streaming.CreateVChannelConsumerResponse (*CloseVChannelConsumerRequest)(nil), // 49: milvus.proto.streaming.CloseVChannelConsumerRequest (*CloseVChannelConsumerResponse)(nil), // 50: milvus.proto.streaming.CloseVChannelConsumerResponse (*ConsumeResponse)(nil), // 51: milvus.proto.streaming.ConsumeResponse (*CreateConsumerResponse)(nil), // 52: milvus.proto.streaming.CreateConsumerResponse (*ConsumeMessageReponse)(nil), // 53: milvus.proto.streaming.ConsumeMessageReponse (*CloseConsumerResponse)(nil), // 54: milvus.proto.streaming.CloseConsumerResponse (*StreamingNodeManagerAssignRequest)(nil), // 55: milvus.proto.streaming.StreamingNodeManagerAssignRequest (*StreamingNodeManagerAssignResponse)(nil), // 56: milvus.proto.streaming.StreamingNodeManagerAssignResponse (*StreamingNodeManagerRemoveRequest)(nil), // 57: milvus.proto.streaming.StreamingNodeManagerRemoveRequest (*StreamingNodeManagerRemoveResponse)(nil), // 58: milvus.proto.streaming.StreamingNodeManagerRemoveResponse (*StreamingNodeManagerCollectStatusRequest)(nil), // 59: milvus.proto.streaming.StreamingNodeManagerCollectStatusRequest (*StreamingNodeBalanceAttributes)(nil), // 60: milvus.proto.streaming.StreamingNodeBalanceAttributes (*StreamingNodeManagerCollectStatusResponse)(nil), // 61: milvus.proto.streaming.StreamingNodeManagerCollectStatusResponse (*SegmentAssignmentMeta)(nil), // 62: milvus.proto.streaming.SegmentAssignmentMeta (*SegmentAssignmentStat)(nil), // 63: milvus.proto.streaming.SegmentAssignmentStat (*WALCheckpoint)(nil), // 64: milvus.proto.streaming.WALCheckpoint nil, // 65: milvus.proto.streaming.BroadcastResponse.ResultsEntry (*messagespb.Message)(nil), // 66: milvus.proto.messages.Message (*messagespb.BroadcastEvent)(nil), // 67: milvus.proto.messages.BroadcastEvent (*emptypb.Empty)(nil), // 68: google.protobuf.Empty (*messagespb.MessageID)(nil), // 69: milvus.proto.messages.MessageID (messagespb.MessageType)(0), // 70: milvus.proto.messages.MessageType (*messagespb.TxnContext)(nil), // 71: milvus.proto.messages.TxnContext (*anypb.Any)(nil), // 72: google.protobuf.Any (*messagespb.ImmutableMessage)(nil), // 73: milvus.proto.messages.ImmutableMessage (*milvuspb.GetComponentStatesRequest)(nil), // 74: milvus.proto.milvus.GetComponentStatesRequest (*milvuspb.ComponentStates)(nil), // 75: milvus.proto.milvus.ComponentStates } var file_streaming_proto_depIdxs = []int32{ 25, // 0: milvus.proto.streaming.PChannelAssignmentLog.node:type_name -> milvus.proto.streaming.StreamingNodeInfo 4, // 1: milvus.proto.streaming.PChannelMeta.channel:type_name -> milvus.proto.streaming.PChannelInfo 25, // 2: milvus.proto.streaming.PChannelMeta.node:type_name -> milvus.proto.streaming.StreamingNodeInfo 0, // 3: milvus.proto.streaming.PChannelMeta.state:type_name -> milvus.proto.streaming.PChannelMetaState 5, // 4: milvus.proto.streaming.PChannelMeta.histories:type_name -> milvus.proto.streaming.PChannelAssignmentLog 66, // 5: milvus.proto.streaming.BroadcastTask.message:type_name -> milvus.proto.messages.Message 1, // 6: milvus.proto.streaming.BroadcastTask.state:type_name -> milvus.proto.streaming.BroadcastTaskState 66, // 7: milvus.proto.streaming.BroadcastRequest.message:type_name -> milvus.proto.messages.Message 65, // 8: milvus.proto.streaming.BroadcastResponse.results:type_name -> milvus.proto.streaming.BroadcastResponse.ResultsEntry 14, // 9: milvus.proto.streaming.BroadcastWatchRequest.create_event_watch:type_name -> milvus.proto.streaming.BroadcastCreateEventWatchRequest 15, // 10: milvus.proto.streaming.BroadcastWatchRequest.close:type_name -> milvus.proto.streaming.CloseBroadcastWatchRequest 67, // 11: milvus.proto.streaming.BroadcastCreateEventWatchRequest.event:type_name -> milvus.proto.messages.BroadcastEvent 17, // 12: milvus.proto.streaming.BroadcastWatchResponse.event_done:type_name -> milvus.proto.streaming.BroadcastEventWatchResponse 18, // 13: milvus.proto.streaming.BroadcastWatchResponse.close:type_name -> milvus.proto.streaming.CloseBroadcastWatchResponse 67, // 14: milvus.proto.streaming.BroadcastEventWatchResponse.event:type_name -> milvus.proto.messages.BroadcastEvent 20, // 15: milvus.proto.streaming.AssignmentDiscoverRequest.report_error:type_name -> milvus.proto.streaming.ReportAssignmentErrorRequest 21, // 16: milvus.proto.streaming.AssignmentDiscoverRequest.close:type_name -> milvus.proto.streaming.CloseAssignmentDiscoverRequest 4, // 17: milvus.proto.streaming.ReportAssignmentErrorRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 32, // 18: milvus.proto.streaming.ReportAssignmentErrorRequest.err:type_name -> milvus.proto.streaming.StreamingError 23, // 19: milvus.proto.streaming.AssignmentDiscoverResponse.full_assignment:type_name -> milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion 24, // 20: milvus.proto.streaming.AssignmentDiscoverResponse.close:type_name -> milvus.proto.streaming.CloseAssignmentDiscoverResponse 7, // 21: milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion.version:type_name -> milvus.proto.streaming.VersionPair 26, // 22: milvus.proto.streaming.FullStreamingNodeAssignmentWithVersion.assignments:type_name -> milvus.proto.streaming.StreamingNodeAssignment 25, // 23: milvus.proto.streaming.StreamingNodeAssignment.node:type_name -> milvus.proto.streaming.StreamingNodeInfo 4, // 24: milvus.proto.streaming.StreamingNodeAssignment.channels:type_name -> milvus.proto.streaming.PChannelInfo 68, // 25: milvus.proto.streaming.DeliverPolicy.all:type_name -> google.protobuf.Empty 68, // 26: milvus.proto.streaming.DeliverPolicy.latest:type_name -> google.protobuf.Empty 69, // 27: milvus.proto.streaming.DeliverPolicy.start_from:type_name -> milvus.proto.messages.MessageID 69, // 28: milvus.proto.streaming.DeliverPolicy.start_after:type_name -> milvus.proto.messages.MessageID 29, // 29: milvus.proto.streaming.DeliverFilter.time_tick_gt:type_name -> milvus.proto.streaming.DeliverFilterTimeTickGT 30, // 30: milvus.proto.streaming.DeliverFilter.time_tick_gte:type_name -> milvus.proto.streaming.DeliverFilterTimeTickGTE 31, // 31: milvus.proto.streaming.DeliverFilter.message_type:type_name -> milvus.proto.streaming.DeliverFilterMessageType 70, // 32: milvus.proto.streaming.DeliverFilterMessageType.message_types:type_name -> milvus.proto.messages.MessageType 2, // 33: milvus.proto.streaming.StreamingError.code:type_name -> milvus.proto.streaming.StreamingCode 35, // 34: milvus.proto.streaming.ProduceRequest.produce:type_name -> milvus.proto.streaming.ProduceMessageRequest 36, // 35: milvus.proto.streaming.ProduceRequest.close:type_name -> milvus.proto.streaming.CloseProducerRequest 4, // 36: milvus.proto.streaming.CreateProducerRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 66, // 37: milvus.proto.streaming.ProduceMessageRequest.message:type_name -> milvus.proto.messages.Message 38, // 38: milvus.proto.streaming.ProduceResponse.create:type_name -> milvus.proto.streaming.CreateProducerResponse 39, // 39: milvus.proto.streaming.ProduceResponse.produce:type_name -> milvus.proto.streaming.ProduceMessageResponse 41, // 40: milvus.proto.streaming.ProduceResponse.close:type_name -> milvus.proto.streaming.CloseProducerResponse 40, // 41: milvus.proto.streaming.ProduceMessageResponse.result:type_name -> milvus.proto.streaming.ProduceMessageResponseResult 32, // 42: milvus.proto.streaming.ProduceMessageResponse.error:type_name -> milvus.proto.streaming.StreamingError 69, // 43: milvus.proto.streaming.ProduceMessageResponseResult.id:type_name -> milvus.proto.messages.MessageID 71, // 44: milvus.proto.streaming.ProduceMessageResponseResult.txnContext:type_name -> milvus.proto.messages.TxnContext 72, // 45: milvus.proto.streaming.ProduceMessageResponseResult.extra:type_name -> google.protobuf.Any 46, // 46: milvus.proto.streaming.ConsumeRequest.create_vchannel_consumer:type_name -> milvus.proto.streaming.CreateVChannelConsumerRequest 45, // 47: milvus.proto.streaming.ConsumeRequest.create_vchannel_consumers:type_name -> milvus.proto.streaming.CreateVChannelConsumersRequest 49, // 48: milvus.proto.streaming.ConsumeRequest.close_vchannel:type_name -> milvus.proto.streaming.CloseVChannelConsumerRequest 43, // 49: milvus.proto.streaming.ConsumeRequest.close:type_name -> milvus.proto.streaming.CloseConsumerRequest 4, // 50: milvus.proto.streaming.CreateConsumerRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 46, // 51: milvus.proto.streaming.CreateVChannelConsumersRequest.create_vchannels:type_name -> milvus.proto.streaming.CreateVChannelConsumerRequest 27, // 52: milvus.proto.streaming.CreateVChannelConsumerRequest.deliver_policy:type_name -> milvus.proto.streaming.DeliverPolicy 28, // 53: milvus.proto.streaming.CreateVChannelConsumerRequest.deliver_filters:type_name -> milvus.proto.streaming.DeliverFilter 48, // 54: milvus.proto.streaming.CreateVChannelConsumersResponse.create_vchannels:type_name -> milvus.proto.streaming.CreateVChannelConsumerResponse 32, // 55: milvus.proto.streaming.CreateVChannelConsumerResponse.error:type_name -> milvus.proto.streaming.StreamingError 52, // 56: milvus.proto.streaming.ConsumeResponse.create:type_name -> milvus.proto.streaming.CreateConsumerResponse 53, // 57: milvus.proto.streaming.ConsumeResponse.consume:type_name -> milvus.proto.streaming.ConsumeMessageReponse 48, // 58: milvus.proto.streaming.ConsumeResponse.create_vchannel:type_name -> milvus.proto.streaming.CreateVChannelConsumerResponse 47, // 59: milvus.proto.streaming.ConsumeResponse.create_vchannels:type_name -> milvus.proto.streaming.CreateVChannelConsumersResponse 50, // 60: milvus.proto.streaming.ConsumeResponse.close_vchannel:type_name -> milvus.proto.streaming.CloseVChannelConsumerResponse 54, // 61: milvus.proto.streaming.ConsumeResponse.close:type_name -> milvus.proto.streaming.CloseConsumerResponse 73, // 62: milvus.proto.streaming.ConsumeMessageReponse.message:type_name -> milvus.proto.messages.ImmutableMessage 4, // 63: milvus.proto.streaming.StreamingNodeManagerAssignRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 4, // 64: milvus.proto.streaming.StreamingNodeManagerRemoveRequest.pchannel:type_name -> milvus.proto.streaming.PChannelInfo 60, // 65: milvus.proto.streaming.StreamingNodeManagerCollectStatusResponse.balance_attributes:type_name -> milvus.proto.streaming.StreamingNodeBalanceAttributes 3, // 66: milvus.proto.streaming.SegmentAssignmentMeta.state:type_name -> milvus.proto.streaming.SegmentAssignmentState 63, // 67: milvus.proto.streaming.SegmentAssignmentMeta.stat:type_name -> milvus.proto.streaming.SegmentAssignmentStat 69, // 68: milvus.proto.streaming.WALCheckpoint.messageID:type_name -> milvus.proto.messages.MessageID 40, // 69: milvus.proto.streaming.BroadcastResponse.ResultsEntry.value:type_name -> milvus.proto.streaming.ProduceMessageResponseResult 74, // 70: milvus.proto.streaming.StreamingNodeStateService.GetComponentStates:input_type -> milvus.proto.milvus.GetComponentStatesRequest 9, // 71: milvus.proto.streaming.StreamingCoordBroadcastService.Broadcast:input_type -> milvus.proto.streaming.BroadcastRequest 11, // 72: milvus.proto.streaming.StreamingCoordBroadcastService.Ack:input_type -> milvus.proto.streaming.BroadcastAckRequest 13, // 73: milvus.proto.streaming.StreamingCoordBroadcastService.Watch:input_type -> milvus.proto.streaming.BroadcastWatchRequest 19, // 74: milvus.proto.streaming.StreamingCoordAssignmentService.AssignmentDiscover:input_type -> milvus.proto.streaming.AssignmentDiscoverRequest 33, // 75: milvus.proto.streaming.StreamingNodeHandlerService.Produce:input_type -> milvus.proto.streaming.ProduceRequest 42, // 76: milvus.proto.streaming.StreamingNodeHandlerService.Consume:input_type -> milvus.proto.streaming.ConsumeRequest 55, // 77: milvus.proto.streaming.StreamingNodeManagerService.Assign:input_type -> milvus.proto.streaming.StreamingNodeManagerAssignRequest 57, // 78: milvus.proto.streaming.StreamingNodeManagerService.Remove:input_type -> milvus.proto.streaming.StreamingNodeManagerRemoveRequest 59, // 79: milvus.proto.streaming.StreamingNodeManagerService.CollectStatus:input_type -> milvus.proto.streaming.StreamingNodeManagerCollectStatusRequest 75, // 80: milvus.proto.streaming.StreamingNodeStateService.GetComponentStates:output_type -> milvus.proto.milvus.ComponentStates 10, // 81: milvus.proto.streaming.StreamingCoordBroadcastService.Broadcast:output_type -> milvus.proto.streaming.BroadcastResponse 12, // 82: milvus.proto.streaming.StreamingCoordBroadcastService.Ack:output_type -> milvus.proto.streaming.BroadcastAckResponse 16, // 83: milvus.proto.streaming.StreamingCoordBroadcastService.Watch:output_type -> milvus.proto.streaming.BroadcastWatchResponse 22, // 84: milvus.proto.streaming.StreamingCoordAssignmentService.AssignmentDiscover:output_type -> milvus.proto.streaming.AssignmentDiscoverResponse 37, // 85: milvus.proto.streaming.StreamingNodeHandlerService.Produce:output_type -> milvus.proto.streaming.ProduceResponse 51, // 86: milvus.proto.streaming.StreamingNodeHandlerService.Consume:output_type -> milvus.proto.streaming.ConsumeResponse 56, // 87: milvus.proto.streaming.StreamingNodeManagerService.Assign:output_type -> milvus.proto.streaming.StreamingNodeManagerAssignResponse 58, // 88: milvus.proto.streaming.StreamingNodeManagerService.Remove:output_type -> milvus.proto.streaming.StreamingNodeManagerRemoveResponse 61, // 89: milvus.proto.streaming.StreamingNodeManagerService.CollectStatus:output_type -> milvus.proto.streaming.StreamingNodeManagerCollectStatusResponse 80, // [80:90] is the sub-list for method output_type 70, // [70:80] is the sub-list for method input_type 70, // [70:70] is the sub-list for extension type_name 70, // [70:70] is the sub-list for extension extendee 0, // [0:70] 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.(*VersionPair); 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.(*BroadcastTask); 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.(*BroadcastRequest); 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.(*BroadcastResponse); 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.(*BroadcastAckRequest); 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.(*BroadcastAckResponse); 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.(*BroadcastWatchRequest); 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.(*BroadcastCreateEventWatchRequest); 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.(*CloseBroadcastWatchRequest); 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.(*BroadcastWatchResponse); 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.(*BroadcastEventWatchResponse); 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.(*CloseBroadcastWatchResponse); 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.(*AssignmentDiscoverRequest); 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.(*ReportAssignmentErrorRequest); 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.(*CloseAssignmentDiscoverRequest); 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.(*AssignmentDiscoverResponse); 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.(*FullStreamingNodeAssignmentWithVersion); 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.(*CloseAssignmentDiscoverResponse); 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.(*StreamingNodeInfo); 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.(*StreamingNodeAssignment); 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.(*DeliverPolicy); 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.(*DeliverFilter); 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.(*DeliverFilterTimeTickGT); 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.(*DeliverFilterTimeTickGTE); 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.(*DeliverFilterMessageType); 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.(*StreamingError); 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.(*ProduceRequest); 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.(*CreateProducerRequest); 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.(*ProduceMessageRequest); 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.(*CloseProducerRequest); 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.(*ProduceResponse); 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.(*CreateProducerResponse); 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.(*ProduceMessageResponse); 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.(*ProduceMessageResponseResult); 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.(*CloseProducerResponse); 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.(*ConsumeRequest); 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.(*CloseConsumerRequest); 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.(*CreateConsumerRequest); 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.(*CreateVChannelConsumersRequest); 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.(*CreateVChannelConsumerRequest); 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.(*CreateVChannelConsumersResponse); 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.(*CreateVChannelConsumerResponse); 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.(*CloseVChannelConsumerRequest); 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.(*CloseVChannelConsumerResponse); 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.(*ConsumeResponse); 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.(*CreateConsumerResponse); 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.(*ConsumeMessageReponse); 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.(*CloseConsumerResponse); 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.(*StreamingNodeManagerAssignRequest); 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.(*StreamingNodeManagerAssignResponse); 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.(*StreamingNodeManagerRemoveRequest); 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.(*StreamingNodeManagerRemoveResponse); 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.(*StreamingNodeManagerCollectStatusRequest); 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.(*StreamingNodeBalanceAttributes); 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.(*StreamingNodeManagerCollectStatusResponse); 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.(*SegmentAssignmentMeta); 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.(*SegmentAssignmentStat); 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.(*WALCheckpoint); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_streaming_proto_msgTypes[9].OneofWrappers = []interface{}{ (*BroadcastWatchRequest_CreateEventWatch)(nil), (*BroadcastWatchRequest_Close)(nil), } file_streaming_proto_msgTypes[12].OneofWrappers = []interface{}{ (*BroadcastWatchResponse_EventDone)(nil), (*BroadcastWatchResponse_Close)(nil), } file_streaming_proto_msgTypes[15].OneofWrappers = []interface{}{ (*AssignmentDiscoverRequest_ReportError)(nil), (*AssignmentDiscoverRequest_Close)(nil), } file_streaming_proto_msgTypes[18].OneofWrappers = []interface{}{ (*AssignmentDiscoverResponse_FullAssignment)(nil), (*AssignmentDiscoverResponse_Close)(nil), } file_streaming_proto_msgTypes[23].OneofWrappers = []interface{}{ (*DeliverPolicy_All)(nil), (*DeliverPolicy_Latest)(nil), (*DeliverPolicy_StartFrom)(nil), (*DeliverPolicy_StartAfter)(nil), } file_streaming_proto_msgTypes[24].OneofWrappers = []interface{}{ (*DeliverFilter_TimeTickGt)(nil), (*DeliverFilter_TimeTickGte)(nil), (*DeliverFilter_MessageType)(nil), } file_streaming_proto_msgTypes[29].OneofWrappers = []interface{}{ (*ProduceRequest_Produce)(nil), (*ProduceRequest_Close)(nil), } file_streaming_proto_msgTypes[33].OneofWrappers = []interface{}{ (*ProduceResponse_Create)(nil), (*ProduceResponse_Produce)(nil), (*ProduceResponse_Close)(nil), } file_streaming_proto_msgTypes[35].OneofWrappers = []interface{}{ (*ProduceMessageResponse_Result)(nil), (*ProduceMessageResponse_Error)(nil), } file_streaming_proto_msgTypes[38].OneofWrappers = []interface{}{ (*ConsumeRequest_CreateVchannelConsumer)(nil), (*ConsumeRequest_CreateVchannelConsumers)(nil), (*ConsumeRequest_CloseVchannel)(nil), (*ConsumeRequest_Close)(nil), } file_streaming_proto_msgTypes[44].OneofWrappers = []interface{}{ (*CreateVChannelConsumerResponse_ConsumerId)(nil), (*CreateVChannelConsumerResponse_Error)(nil), } file_streaming_proto_msgTypes[47].OneofWrappers = []interface{}{ (*ConsumeResponse_Create)(nil), (*ConsumeResponse_Consume)(nil), (*ConsumeResponse_CreateVchannel)(nil), (*ConsumeResponse_CreateVchannels)(nil), (*ConsumeResponse_CloseVchannel)(nil), (*ConsumeResponse_Close)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_streaming_proto_rawDesc, NumEnums: 4, NumMessages: 62, 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 }