// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1 // protoc v3.14.0 // source: pb/channel/synclogic.proto package channel import ( reflect "reflect" sync "sync" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" ) 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) ) type ChannelMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"` ChannelId *uint64 `protobuf:"varint,2,opt,name=channelId" json:"channelId,omitempty"` Result *uint32 `protobuf:"varint,3,opt,name=result" json:"result,omitempty"` RspBeginSeq *uint64 `protobuf:"varint,4,opt,name=rspBeginSeq" json:"rspBeginSeq,omitempty"` RspEndSeq *uint64 `protobuf:"varint,5,opt,name=rspEndSeq" json:"rspEndSeq,omitempty"` Msgs []*ChannelMsgContent `protobuf:"bytes,6,rep,name=msgs" json:"msgs,omitempty"` } func (x *ChannelMsg) Reset() { *x = ChannelMsg{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelMsg) ProtoMessage() {} func (x *ChannelMsg) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 ChannelMsg.ProtoReflect.Descriptor instead. func (*ChannelMsg) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{0} } func (x *ChannelMsg) GetGuildId() uint64 { if x != nil && x.GuildId != nil { return *x.GuildId } return 0 } func (x *ChannelMsg) GetChannelId() uint64 { if x != nil && x.ChannelId != nil { return *x.ChannelId } return 0 } func (x *ChannelMsg) GetResult() uint32 { if x != nil && x.Result != nil { return *x.Result } return 0 } func (x *ChannelMsg) GetRspBeginSeq() uint64 { if x != nil && x.RspBeginSeq != nil { return *x.RspBeginSeq } return 0 } func (x *ChannelMsg) GetRspEndSeq() uint64 { if x != nil && x.RspEndSeq != nil { return *x.RspEndSeq } return 0 } func (x *ChannelMsg) GetMsgs() []*ChannelMsgContent { if x != nil { return x.Msgs } return nil } type ChannelMsgReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ChannelParam *ChannelParam `protobuf:"bytes,1,opt,name=channelParam" json:"channelParam,omitempty"` WithVersionFlag *uint32 `protobuf:"varint,2,opt,name=withVersionFlag" json:"withVersionFlag,omitempty"` DirectMessageFlag *uint32 `protobuf:"varint,3,opt,name=directMessageFlag" json:"directMessageFlag,omitempty"` } func (x *ChannelMsgReq) Reset() { *x = ChannelMsgReq{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelMsgReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelMsgReq) ProtoMessage() {} func (x *ChannelMsgReq) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 ChannelMsgReq.ProtoReflect.Descriptor instead. func (*ChannelMsgReq) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{1} } func (x *ChannelMsgReq) GetChannelParam() *ChannelParam { if x != nil { return x.ChannelParam } return nil } func (x *ChannelMsgReq) GetWithVersionFlag() uint32 { if x != nil && x.WithVersionFlag != nil { return *x.WithVersionFlag } return 0 } func (x *ChannelMsgReq) GetDirectMessageFlag() uint32 { if x != nil && x.DirectMessageFlag != nil { return *x.DirectMessageFlag } return 0 } type ChannelMsgRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Result *uint32 `protobuf:"varint,1,opt,name=result" json:"result,omitempty"` ErrMsg []byte `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` ChannelMsg *ChannelMsg `protobuf:"bytes,3,opt,name=channelMsg" json:"channelMsg,omitempty"` WithVersionFlag *uint32 `protobuf:"varint,4,opt,name=withVersionFlag" json:"withVersionFlag,omitempty"` GetMsgTime *uint64 `protobuf:"varint,5,opt,name=getMsgTime" json:"getMsgTime,omitempty"` } func (x *ChannelMsgRsp) Reset() { *x = ChannelMsgRsp{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelMsgRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelMsgRsp) ProtoMessage() {} func (x *ChannelMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 ChannelMsgRsp.ProtoReflect.Descriptor instead. func (*ChannelMsgRsp) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{2} } func (x *ChannelMsgRsp) GetResult() uint32 { if x != nil && x.Result != nil { return *x.Result } return 0 } func (x *ChannelMsgRsp) GetErrMsg() []byte { if x != nil { return x.ErrMsg } return nil } func (x *ChannelMsgRsp) GetChannelMsg() *ChannelMsg { if x != nil { return x.ChannelMsg } return nil } func (x *ChannelMsgRsp) GetWithVersionFlag() uint32 { if x != nil && x.WithVersionFlag != nil { return *x.WithVersionFlag } return 0 } func (x *ChannelMsgRsp) GetGetMsgTime() uint64 { if x != nil && x.GetMsgTime != nil { return *x.GetMsgTime } return 0 } type ChannelNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ChannelId *uint64 `protobuf:"varint,1,opt,name=channelId" json:"channelId,omitempty"` Seq *uint64 `protobuf:"varint,2,opt,name=seq" json:"seq,omitempty"` CntSeq *uint64 `protobuf:"varint,3,opt,name=cntSeq" json:"cntSeq,omitempty"` Time *uint64 `protobuf:"varint,4,opt,name=time" json:"time,omitempty"` MemberReadMsgSeq *uint64 `protobuf:"varint,5,opt,name=memberReadMsgSeq" json:"memberReadMsgSeq,omitempty"` MemberReadCntSeq *uint64 `protobuf:"varint,6,opt,name=memberReadCntSeq" json:"memberReadCntSeq,omitempty"` NotifyType *uint32 `protobuf:"varint,7,opt,name=notifyType" json:"notifyType,omitempty"` ChannelName []byte `protobuf:"bytes,8,opt,name=channelName" json:"channelName,omitempty"` ChannelType *uint32 `protobuf:"varint,9,opt,name=channelType" json:"channelType,omitempty"` Meta []byte `protobuf:"bytes,10,opt,name=meta" json:"meta,omitempty"` ReadMsgMeta []byte `protobuf:"bytes,11,opt,name=readMsgMeta" json:"readMsgMeta,omitempty"` EventTime *uint32 `protobuf:"varint,12,opt,name=eventTime" json:"eventTime,omitempty"` } func (x *ChannelNode) Reset() { *x = ChannelNode{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelNode) ProtoMessage() {} func (x *ChannelNode) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 ChannelNode.ProtoReflect.Descriptor instead. func (*ChannelNode) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{3} } func (x *ChannelNode) GetChannelId() uint64 { if x != nil && x.ChannelId != nil { return *x.ChannelId } return 0 } func (x *ChannelNode) GetSeq() uint64 { if x != nil && x.Seq != nil { return *x.Seq } return 0 } func (x *ChannelNode) GetCntSeq() uint64 { if x != nil && x.CntSeq != nil { return *x.CntSeq } return 0 } func (x *ChannelNode) GetTime() uint64 { if x != nil && x.Time != nil { return *x.Time } return 0 } func (x *ChannelNode) GetMemberReadMsgSeq() uint64 { if x != nil && x.MemberReadMsgSeq != nil { return *x.MemberReadMsgSeq } return 0 } func (x *ChannelNode) GetMemberReadCntSeq() uint64 { if x != nil && x.MemberReadCntSeq != nil { return *x.MemberReadCntSeq } return 0 } func (x *ChannelNode) GetNotifyType() uint32 { if x != nil && x.NotifyType != nil { return *x.NotifyType } return 0 } func (x *ChannelNode) GetChannelName() []byte { if x != nil { return x.ChannelName } return nil } func (x *ChannelNode) GetChannelType() uint32 { if x != nil && x.ChannelType != nil { return *x.ChannelType } return 0 } func (x *ChannelNode) GetMeta() []byte { if x != nil { return x.Meta } return nil } func (x *ChannelNode) GetReadMsgMeta() []byte { if x != nil { return x.ReadMsgMeta } return nil } func (x *ChannelNode) GetEventTime() uint32 { if x != nil && x.EventTime != nil { return *x.EventTime } return 0 } type ChannelParam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"` ChannelId *uint64 `protobuf:"varint,2,opt,name=channelId" json:"channelId,omitempty"` BeginSeq *uint64 `protobuf:"varint,3,opt,name=beginSeq" json:"beginSeq,omitempty"` EndSeq *uint64 `protobuf:"varint,4,opt,name=endSeq" json:"endSeq,omitempty"` Time *uint64 `protobuf:"varint,5,opt,name=time" json:"time,omitempty"` Version []uint64 `protobuf:"varint,6,rep,name=version" json:"version,omitempty"` Seqs []*MsgCond `protobuf:"bytes,7,rep,name=seqs" json:"seqs,omitempty"` } func (x *ChannelParam) Reset() { *x = ChannelParam{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChannelParam) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChannelParam) ProtoMessage() {} func (x *ChannelParam) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 ChannelParam.ProtoReflect.Descriptor instead. func (*ChannelParam) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{4} } func (x *ChannelParam) GetGuildId() uint64 { if x != nil && x.GuildId != nil { return *x.GuildId } return 0 } func (x *ChannelParam) GetChannelId() uint64 { if x != nil && x.ChannelId != nil { return *x.ChannelId } return 0 } func (x *ChannelParam) GetBeginSeq() uint64 { if x != nil && x.BeginSeq != nil { return *x.BeginSeq } return 0 } func (x *ChannelParam) GetEndSeq() uint64 { if x != nil && x.EndSeq != nil { return *x.EndSeq } return 0 } func (x *ChannelParam) GetTime() uint64 { if x != nil && x.Time != nil { return *x.Time } return 0 } func (x *ChannelParam) GetVersion() []uint64 { if x != nil { return x.Version } return nil } func (x *ChannelParam) GetSeqs() []*MsgCond { if x != nil { return x.Seqs } return nil } type DirectMessageSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TinyId *uint64 `protobuf:"varint,1,opt,name=tinyId" json:"tinyId,omitempty"` GuildId *uint64 `protobuf:"varint,2,opt,name=guildId" json:"guildId,omitempty"` GuildName []byte `protobuf:"bytes,3,opt,name=guildName" json:"guildName,omitempty"` MemberName []byte `protobuf:"bytes,4,opt,name=memberName" json:"memberName,omitempty"` NickName []byte `protobuf:"bytes,5,opt,name=nickName" json:"nickName,omitempty"` } func (x *DirectMessageSource) Reset() { *x = DirectMessageSource{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DirectMessageSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*DirectMessageSource) ProtoMessage() {} func (x *DirectMessageSource) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 DirectMessageSource.ProtoReflect.Descriptor instead. func (*DirectMessageSource) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{5} } func (x *DirectMessageSource) GetTinyId() uint64 { if x != nil && x.TinyId != nil { return *x.TinyId } return 0 } func (x *DirectMessageSource) GetGuildId() uint64 { if x != nil && x.GuildId != nil { return *x.GuildId } return 0 } func (x *DirectMessageSource) GetGuildName() []byte { if x != nil { return x.GuildName } return nil } func (x *DirectMessageSource) GetMemberName() []byte { if x != nil { return x.MemberName } return nil } func (x *DirectMessageSource) GetNickName() []byte { if x != nil { return x.NickName } return nil } type FirstViewMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PushFlag *uint32 `protobuf:"varint,1,opt,name=pushFlag" json:"pushFlag,omitempty"` Seq *uint32 `protobuf:"varint,2,opt,name=seq" json:"seq,omitempty"` GuildNodes []*GuildNode `protobuf:"bytes,3,rep,name=guildNodes" json:"guildNodes,omitempty"` ChannelMsgs []*ChannelMsg `protobuf:"bytes,4,rep,name=channelMsgs" json:"channelMsgs,omitempty"` GetMsgTime *uint64 `protobuf:"varint,5,opt,name=getMsgTime" json:"getMsgTime,omitempty"` DirectMessageGuildNodes []*GuildNode `protobuf:"bytes,6,rep,name=directMessageGuildNodes" json:"directMessageGuildNodes,omitempty"` } func (x *FirstViewMsg) Reset() { *x = FirstViewMsg{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FirstViewMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*FirstViewMsg) ProtoMessage() {} func (x *FirstViewMsg) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 FirstViewMsg.ProtoReflect.Descriptor instead. func (*FirstViewMsg) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{6} } func (x *FirstViewMsg) GetPushFlag() uint32 { if x != nil && x.PushFlag != nil { return *x.PushFlag } return 0 } func (x *FirstViewMsg) GetSeq() uint32 { if x != nil && x.Seq != nil { return *x.Seq } return 0 } func (x *FirstViewMsg) GetGuildNodes() []*GuildNode { if x != nil { return x.GuildNodes } return nil } func (x *FirstViewMsg) GetChannelMsgs() []*ChannelMsg { if x != nil { return x.ChannelMsgs } return nil } func (x *FirstViewMsg) GetGetMsgTime() uint64 { if x != nil && x.GetMsgTime != nil { return *x.GetMsgTime } return 0 } func (x *FirstViewMsg) GetDirectMessageGuildNodes() []*GuildNode { if x != nil { return x.DirectMessageGuildNodes } return nil } type FirstViewReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LastMsgTime *uint64 `protobuf:"varint,1,opt,name=lastMsgTime" json:"lastMsgTime,omitempty"` UdcFlag *uint32 `protobuf:"varint,2,opt,name=udcFlag" json:"udcFlag,omitempty"` Seq *uint32 `protobuf:"varint,3,opt,name=seq" json:"seq,omitempty"` DirectMessageFlag *uint32 `protobuf:"varint,4,opt,name=directMessageFlag" json:"directMessageFlag,omitempty"` } func (x *FirstViewReq) Reset() { *x = FirstViewReq{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FirstViewReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FirstViewReq) ProtoMessage() {} func (x *FirstViewReq) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 FirstViewReq.ProtoReflect.Descriptor instead. func (*FirstViewReq) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{7} } func (x *FirstViewReq) GetLastMsgTime() uint64 { if x != nil && x.LastMsgTime != nil { return *x.LastMsgTime } return 0 } func (x *FirstViewReq) GetUdcFlag() uint32 { if x != nil && x.UdcFlag != nil { return *x.UdcFlag } return 0 } func (x *FirstViewReq) GetSeq() uint32 { if x != nil && x.Seq != nil { return *x.Seq } return 0 } func (x *FirstViewReq) GetDirectMessageFlag() uint32 { if x != nil && x.DirectMessageFlag != nil { return *x.DirectMessageFlag } return 0 } type FirstViewRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Result *uint32 `protobuf:"varint,1,opt,name=result" json:"result,omitempty"` ErrMsg []byte `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` Seq *uint32 `protobuf:"varint,3,opt,name=seq" json:"seq,omitempty"` UdcFlag *uint32 `protobuf:"varint,4,opt,name=udcFlag" json:"udcFlag,omitempty"` GuildCount *uint32 `protobuf:"varint,5,opt,name=guildCount" json:"guildCount,omitempty"` SelfTinyid *uint64 `protobuf:"varint,6,opt,name=selfTinyid" json:"selfTinyid,omitempty"` DirectMessageSwitch *uint32 `protobuf:"varint,7,opt,name=directMessageSwitch" json:"directMessageSwitch,omitempty"` DirectMessageGuildCount *uint32 `protobuf:"varint,8,opt,name=directMessageGuildCount" json:"directMessageGuildCount,omitempty"` } func (x *FirstViewRsp) Reset() { *x = FirstViewRsp{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FirstViewRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*FirstViewRsp) ProtoMessage() {} func (x *FirstViewRsp) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 FirstViewRsp.ProtoReflect.Descriptor instead. func (*FirstViewRsp) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{8} } func (x *FirstViewRsp) GetResult() uint32 { if x != nil && x.Result != nil { return *x.Result } return 0 } func (x *FirstViewRsp) GetErrMsg() []byte { if x != nil { return x.ErrMsg } return nil } func (x *FirstViewRsp) GetSeq() uint32 { if x != nil && x.Seq != nil { return *x.Seq } return 0 } func (x *FirstViewRsp) GetUdcFlag() uint32 { if x != nil && x.UdcFlag != nil { return *x.UdcFlag } return 0 } func (x *FirstViewRsp) GetGuildCount() uint32 { if x != nil && x.GuildCount != nil { return *x.GuildCount } return 0 } func (x *FirstViewRsp) GetSelfTinyid() uint64 { if x != nil && x.SelfTinyid != nil { return *x.SelfTinyid } return 0 } func (x *FirstViewRsp) GetDirectMessageSwitch() uint32 { if x != nil && x.DirectMessageSwitch != nil { return *x.DirectMessageSwitch } return 0 } func (x *FirstViewRsp) GetDirectMessageGuildCount() uint32 { if x != nil && x.DirectMessageGuildCount != nil { return *x.DirectMessageGuildCount } return 0 } type GuildNode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GuildId *uint64 `protobuf:"varint,1,opt,name=guildId" json:"guildId,omitempty"` GuildCode *uint64 `protobuf:"varint,2,opt,name=guildCode" json:"guildCode,omitempty"` ChannelNodes []*ChannelNode `protobuf:"bytes,3,rep,name=channelNodes" json:"channelNodes,omitempty"` GuildName []byte `protobuf:"bytes,4,opt,name=guildName" json:"guildName,omitempty"` PeerSource *DirectMessageSource `protobuf:"bytes,5,opt,name=peerSource" json:"peerSource,omitempty"` } func (x *GuildNode) Reset() { *x = GuildNode{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GuildNode) String() string { return protoimpl.X.MessageStringOf(x) } func (*GuildNode) ProtoMessage() {} func (x *GuildNode) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 GuildNode.ProtoReflect.Descriptor instead. func (*GuildNode) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{9} } func (x *GuildNode) GetGuildId() uint64 { if x != nil && x.GuildId != nil { return *x.GuildId } return 0 } func (x *GuildNode) GetGuildCode() uint64 { if x != nil && x.GuildCode != nil { return *x.GuildCode } return 0 } func (x *GuildNode) GetChannelNodes() []*ChannelNode { if x != nil { return x.ChannelNodes } return nil } func (x *GuildNode) GetGuildName() []byte { if x != nil { return x.GuildName } return nil } func (x *GuildNode) GetPeerSource() *DirectMessageSource { if x != nil { return x.PeerSource } return nil } type MsgCond struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Seq *uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"` EventVersion *uint64 `protobuf:"varint,2,opt,name=eventVersion" json:"eventVersion,omitempty"` } func (x *MsgCond) Reset() { *x = MsgCond{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MsgCond) String() string { return protoimpl.X.MessageStringOf(x) } func (*MsgCond) ProtoMessage() {} func (x *MsgCond) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 MsgCond.ProtoReflect.Descriptor instead. func (*MsgCond) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{10} } func (x *MsgCond) GetSeq() uint64 { if x != nil && x.Seq != nil { return *x.Seq } return 0 } func (x *MsgCond) GetEventVersion() uint64 { if x != nil && x.EventVersion != nil { return *x.EventVersion } return 0 } type MultiChannelMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PushFlag *uint32 `protobuf:"varint,1,opt,name=pushFlag" json:"pushFlag,omitempty"` Seq *uint32 `protobuf:"varint,2,opt,name=seq" json:"seq,omitempty"` ChannelMsgs []*ChannelMsg `protobuf:"bytes,3,rep,name=channelMsgs" json:"channelMsgs,omitempty"` GetMsgTime *uint64 `protobuf:"varint,4,opt,name=getMsgTime" json:"getMsgTime,omitempty"` } func (x *MultiChannelMsg) Reset() { *x = MultiChannelMsg{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MultiChannelMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*MultiChannelMsg) ProtoMessage() {} func (x *MultiChannelMsg) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 MultiChannelMsg.ProtoReflect.Descriptor instead. func (*MultiChannelMsg) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{11} } func (x *MultiChannelMsg) GetPushFlag() uint32 { if x != nil && x.PushFlag != nil { return *x.PushFlag } return 0 } func (x *MultiChannelMsg) GetSeq() uint32 { if x != nil && x.Seq != nil { return *x.Seq } return 0 } func (x *MultiChannelMsg) GetChannelMsgs() []*ChannelMsg { if x != nil { return x.ChannelMsgs } return nil } func (x *MultiChannelMsg) GetGetMsgTime() uint64 { if x != nil && x.GetMsgTime != nil { return *x.GetMsgTime } return 0 } type MultiChannelMsgReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ChannelParams []*ChannelParam `protobuf:"bytes,1,rep,name=channelParams" json:"channelParams,omitempty"` Seq *uint32 `protobuf:"varint,2,opt,name=seq" json:"seq,omitempty"` DirectMessageFlag *uint32 `protobuf:"varint,3,opt,name=directMessageFlag" json:"directMessageFlag,omitempty"` } func (x *MultiChannelMsgReq) Reset() { *x = MultiChannelMsgReq{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MultiChannelMsgReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*MultiChannelMsgReq) ProtoMessage() {} func (x *MultiChannelMsgReq) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 MultiChannelMsgReq.ProtoReflect.Descriptor instead. func (*MultiChannelMsgReq) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{12} } func (x *MultiChannelMsgReq) GetChannelParams() []*ChannelParam { if x != nil { return x.ChannelParams } return nil } func (x *MultiChannelMsgReq) GetSeq() uint32 { if x != nil && x.Seq != nil { return *x.Seq } return 0 } func (x *MultiChannelMsgReq) GetDirectMessageFlag() uint32 { if x != nil && x.DirectMessageFlag != nil { return *x.DirectMessageFlag } return 0 } type MultiChannelMsgRsp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Result *uint32 `protobuf:"varint,1,opt,name=result" json:"result,omitempty"` ErrMsg []byte `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` Seq *uint32 `protobuf:"varint,3,opt,name=seq" json:"seq,omitempty"` } func (x *MultiChannelMsgRsp) Reset() { *x = MultiChannelMsgRsp{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MultiChannelMsgRsp) String() string { return protoimpl.X.MessageStringOf(x) } func (*MultiChannelMsgRsp) ProtoMessage() {} func (x *MultiChannelMsgRsp) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 MultiChannelMsgRsp.ProtoReflect.Descriptor instead. func (*MultiChannelMsgRsp) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{13} } func (x *MultiChannelMsgRsp) GetResult() uint32 { if x != nil && x.Result != nil { return *x.Result } return 0 } func (x *MultiChannelMsgRsp) GetErrMsg() []byte { if x != nil { return x.ErrMsg } return nil } func (x *MultiChannelMsgRsp) GetSeq() uint32 { if x != nil && x.Seq != nil { return *x.Seq } return 0 } type ReqBody struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ChannelParam *ChannelParam `protobuf:"bytes,1,opt,name=channelParam" json:"channelParam,omitempty"` DirectMessageFlag *uint32 `protobuf:"varint,2,opt,name=directMessageFlag" json:"directMessageFlag,omitempty"` } func (x *ReqBody) Reset() { *x = ReqBody{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ReqBody) String() string { return protoimpl.X.MessageStringOf(x) } func (*ReqBody) ProtoMessage() {} func (x *ReqBody) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 ReqBody.ProtoReflect.Descriptor instead. func (*ReqBody) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{14} } func (x *ReqBody) GetChannelParam() *ChannelParam { if x != nil { return x.ChannelParam } return nil } func (x *ReqBody) GetDirectMessageFlag() uint32 { if x != nil && x.DirectMessageFlag != nil { return *x.DirectMessageFlag } return 0 } type RspBody struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Result *uint32 `protobuf:"varint,1,opt,name=result" json:"result,omitempty"` ErrMsg []byte `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` ChannelMsg *ChannelMsg `protobuf:"bytes,3,opt,name=channelMsg" json:"channelMsg,omitempty"` } func (x *RspBody) Reset() { *x = RspBody{} if protoimpl.UnsafeEnabled { mi := &file_pb_channel_synclogic_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RspBody) String() string { return protoimpl.X.MessageStringOf(x) } func (*RspBody) ProtoMessage() {} func (x *RspBody) ProtoReflect() protoreflect.Message { mi := &file_pb_channel_synclogic_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 RspBody.ProtoReflect.Descriptor instead. func (*RspBody) Descriptor() ([]byte, []int) { return file_pb_channel_synclogic_proto_rawDescGZIP(), []int{15} } func (x *RspBody) GetResult() uint32 { if x != nil && x.Result != nil { return *x.Result } return 0 } func (x *RspBody) GetErrMsg() []byte { if x != nil { return x.ErrMsg } return nil } func (x *RspBody) GetChannelMsg() *ChannelMsg { if x != nil { return x.ChannelMsg } return nil } var File_pb_channel_synclogic_proto protoreflect.FileDescriptor var file_pb_channel_synclogic_proto_rawDesc = []byte{ 0x0a, 0x1a, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x73, 0x79, 0x6e, 0x63, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x17, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x73, 0x70, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x72, 0x73, 0x70, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x73, 0x70, 0x45, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x73, 0x70, 0x45, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6d, 0x73, 0x67, 0x73, 0x22, 0xa2, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x12, 0x39, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x22, 0xbe, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf9, 0x02, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x43, 0x6e, 0x74, 0x53, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x73, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xce, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x53, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x04, 0x73, 0x65, 0x71, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x64, 0x52, 0x04, 0x73, 0x65, 0x71, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x74, 0x69, 0x6e, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x95, 0x02, 0x0a, 0x0c, 0x46, 0x69, 0x72, 0x73, 0x74, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x75, 0x73, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x32, 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x17, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x17, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x72, 0x73, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x64, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x75, 0x64, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x22, 0x96, 0x02, 0x0a, 0x0c, 0x46, 0x69, 0x72, 0x73, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x64, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x75, 0x64, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x6c, 0x66, 0x54, 0x69, 0x6e, 0x79, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x66, 0x54, 0x69, 0x6e, 0x79, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x38, 0x0a, 0x17, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd9, 0x01, 0x0a, 0x09, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x0f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x75, 0x73, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x12, 0x3b, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x22, 0x56, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x52, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x71, 0x22, 0x72, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x39, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x22, 0x6e, 0x0a, 0x07, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x73, 0x67, 0x42, 0x14, 0x5a, 0x12, 0x70, 0x62, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x3b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, } var ( file_pb_channel_synclogic_proto_rawDescOnce sync.Once file_pb_channel_synclogic_proto_rawDescData = file_pb_channel_synclogic_proto_rawDesc ) func file_pb_channel_synclogic_proto_rawDescGZIP() []byte { file_pb_channel_synclogic_proto_rawDescOnce.Do(func() { file_pb_channel_synclogic_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_channel_synclogic_proto_rawDescData) }) return file_pb_channel_synclogic_proto_rawDescData } var file_pb_channel_synclogic_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_pb_channel_synclogic_proto_goTypes = []interface{}{ (*ChannelMsg)(nil), // 0: channel.ChannelMsg (*ChannelMsgReq)(nil), // 1: channel.ChannelMsgReq (*ChannelMsgRsp)(nil), // 2: channel.ChannelMsgRsp (*ChannelNode)(nil), // 3: channel.ChannelNode (*ChannelParam)(nil), // 4: channel.ChannelParam (*DirectMessageSource)(nil), // 5: channel.DirectMessageSource (*FirstViewMsg)(nil), // 6: channel.FirstViewMsg (*FirstViewReq)(nil), // 7: channel.FirstViewReq (*FirstViewRsp)(nil), // 8: channel.FirstViewRsp (*GuildNode)(nil), // 9: channel.GuildNode (*MsgCond)(nil), // 10: channel.MsgCond (*MultiChannelMsg)(nil), // 11: channel.MultiChannelMsg (*MultiChannelMsgReq)(nil), // 12: channel.MultiChannelMsgReq (*MultiChannelMsgRsp)(nil), // 13: channel.MultiChannelMsgRsp (*ReqBody)(nil), // 14: channel.ReqBody (*RspBody)(nil), // 15: channel.RspBody (*ChannelMsgContent)(nil), // 16: channel.ChannelMsgContent } var file_pb_channel_synclogic_proto_depIdxs = []int32{ 16, // 0: channel.ChannelMsg.msgs:type_name -> channel.ChannelMsgContent 4, // 1: channel.ChannelMsgReq.channelParam:type_name -> channel.ChannelParam 0, // 2: channel.ChannelMsgRsp.channelMsg:type_name -> channel.ChannelMsg 10, // 3: channel.ChannelParam.seqs:type_name -> channel.MsgCond 9, // 4: channel.FirstViewMsg.guildNodes:type_name -> channel.GuildNode 0, // 5: channel.FirstViewMsg.channelMsgs:type_name -> channel.ChannelMsg 9, // 6: channel.FirstViewMsg.directMessageGuildNodes:type_name -> channel.GuildNode 3, // 7: channel.GuildNode.channelNodes:type_name -> channel.ChannelNode 5, // 8: channel.GuildNode.peerSource:type_name -> channel.DirectMessageSource 0, // 9: channel.MultiChannelMsg.channelMsgs:type_name -> channel.ChannelMsg 4, // 10: channel.MultiChannelMsgReq.channelParams:type_name -> channel.ChannelParam 4, // 11: channel.ReqBody.channelParam:type_name -> channel.ChannelParam 0, // 12: channel.RspBody.channelMsg:type_name -> channel.ChannelMsg 13, // [13:13] is the sub-list for method output_type 13, // [13:13] is the sub-list for method input_type 13, // [13:13] is the sub-list for extension type_name 13, // [13:13] is the sub-list for extension extendee 0, // [0:13] is the sub-list for field type_name } func init() { file_pb_channel_synclogic_proto_init() } func file_pb_channel_synclogic_proto_init() { if File_pb_channel_synclogic_proto != nil { return } file_pb_channel_common_proto_init() if !protoimpl.UnsafeEnabled { file_pb_channel_synclogic_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelMsgReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelMsgRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChannelParam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DirectMessageSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirstViewMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirstViewReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirstViewRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuildNode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCond); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiChannelMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiChannelMsgReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiChannelMsgRsp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReqBody); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_pb_channel_synclogic_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RspBody); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_channel_synclogic_proto_rawDesc, NumEnums: 0, NumMessages: 16, NumExtensions: 0, NumServices: 0, }, GoTypes: file_pb_channel_synclogic_proto_goTypes, DependencyIndexes: file_pb_channel_synclogic_proto_depIdxs, MessageInfos: file_pb_channel_synclogic_proto_msgTypes, }.Build() File_pb_channel_synclogic_proto = out.File file_pb_channel_synclogic_proto_rawDesc = nil file_pb_channel_synclogic_proto_goTypes = nil file_pb_channel_synclogic_proto_depIdxs = nil }