You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Open-IM-Server/pkg/proto/chat/chat.pb.go

641 lines
22 KiB

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: chat/chat.proto
package pbChat // import "./chat"
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import sdk_ws "Open_IM/pkg/proto/sdk_ws"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type MsgDataToMQ struct {
Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"`
OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
MsgData *sdk_ws.MsgData `protobuf:"bytes,3,opt,name=msgData" json:"msgData,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} }
func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToMQ) ProtoMessage() {}
func (*MsgDataToMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_6e4ec29226096c3a, []int{0}
}
func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b)
}
func (m *MsgDataToMQ) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MsgDataToMQ.Marshal(b, m, deterministic)
}
func (dst *MsgDataToMQ) XXX_Merge(src proto.Message) {
xxx_messageInfo_MsgDataToMQ.Merge(dst, src)
}
func (m *MsgDataToMQ) XXX_Size() int {
return xxx_messageInfo_MsgDataToMQ.Size(m)
}
func (m *MsgDataToMQ) XXX_DiscardUnknown() {
xxx_messageInfo_MsgDataToMQ.DiscardUnknown(m)
}
var xxx_messageInfo_MsgDataToMQ proto.InternalMessageInfo
func (m *MsgDataToMQ) GetToken() string {
if m != nil {
return m.Token
}
return ""
}
func (m *MsgDataToMQ) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
func (m *MsgDataToMQ) GetMsgData() *sdk_ws.MsgData {
if m != nil {
return m.MsgData
}
return nil
}
type MsgDataToDB struct {
MsgData *sdk_ws.MsgData `protobuf:"bytes,1,opt,name=msgData" json:"msgData,omitempty"`
OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} }
func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) }
func (*MsgDataToDB) ProtoMessage() {}
func (*MsgDataToDB) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_6e4ec29226096c3a, []int{1}
}
func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b)
}
func (m *MsgDataToDB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MsgDataToDB.Marshal(b, m, deterministic)
}
func (dst *MsgDataToDB) XXX_Merge(src proto.Message) {
xxx_messageInfo_MsgDataToDB.Merge(dst, src)
}
func (m *MsgDataToDB) XXX_Size() int {
return xxx_messageInfo_MsgDataToDB.Size(m)
}
func (m *MsgDataToDB) XXX_DiscardUnknown() {
xxx_messageInfo_MsgDataToDB.DiscardUnknown(m)
}
var xxx_messageInfo_MsgDataToDB proto.InternalMessageInfo
func (m *MsgDataToDB) GetMsgData() *sdk_ws.MsgData {
if m != nil {
return m.MsgData
}
return nil
}
func (m *MsgDataToDB) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
type PushMsgDataToMQ struct {
OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"`
MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData" json:"msgData,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} }
func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*PushMsgDataToMQ) ProtoMessage() {}
func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_6e4ec29226096c3a, []int{2}
}
func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b)
}
func (m *PushMsgDataToMQ) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PushMsgDataToMQ.Marshal(b, m, deterministic)
}
func (dst *PushMsgDataToMQ) XXX_Merge(src proto.Message) {
xxx_messageInfo_PushMsgDataToMQ.Merge(dst, src)
}
func (m *PushMsgDataToMQ) XXX_Size() int {
return xxx_messageInfo_PushMsgDataToMQ.Size(m)
}
func (m *PushMsgDataToMQ) XXX_DiscardUnknown() {
xxx_messageInfo_PushMsgDataToMQ.DiscardUnknown(m)
}
var xxx_messageInfo_PushMsgDataToMQ proto.InternalMessageInfo
func (m *PushMsgDataToMQ) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
func (m *PushMsgDataToMQ) GetMsgData() *sdk_ws.MsgData {
if m != nil {
return m.MsgData
}
return nil
}
// message PullMessageReq {
// string UserID = 1;
// int64 SeqBegin = 2;
// int64 SeqEnd = 3;
// string OperationID = 4;
// }
//
// message PullMessageResp {
// int32 ErrCode = 1;
// string ErrMsg = 2;
// int64 MaxSeq = 3;
// int64 MinSeq = 4;
// repeated GatherFormat SingleUserMsg = 5;
// repeated GatherFormat GroupUserMsg = 6;
// }
// message PullMessageBySeqListReq{
// string UserID = 1;
// string OperationID = 2;
// repeated int64 seqList =3;
// }
type GetMaxAndMinSeqReq struct {
UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"`
OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_6e4ec29226096c3a, []int{3}
}
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
}
func (m *GetMaxAndMinSeqReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetMaxAndMinSeqReq.Marshal(b, m, deterministic)
}
func (dst *GetMaxAndMinSeqReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetMaxAndMinSeqReq.Merge(dst, src)
}
func (m *GetMaxAndMinSeqReq) XXX_Size() int {
return xxx_messageInfo_GetMaxAndMinSeqReq.Size(m)
}
func (m *GetMaxAndMinSeqReq) XXX_DiscardUnknown() {
xxx_messageInfo_GetMaxAndMinSeqReq.DiscardUnknown(m)
}
var xxx_messageInfo_GetMaxAndMinSeqReq proto.InternalMessageInfo
func (m *GetMaxAndMinSeqReq) GetUserID() string {
if m != nil {
return m.UserID
}
return ""
}
func (m *GetMaxAndMinSeqReq) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
type GetMaxAndMinSeqResp struct {
ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"`
MaxSeq int64 `protobuf:"varint,3,opt,name=MaxSeq" json:"MaxSeq,omitempty"`
MinSeq int64 `protobuf:"varint,4,opt,name=MinSeq" json:"MinSeq,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_6e4ec29226096c3a, []int{4}
}
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
}
func (m *GetMaxAndMinSeqResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetMaxAndMinSeqResp.Marshal(b, m, deterministic)
}
func (dst *GetMaxAndMinSeqResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetMaxAndMinSeqResp.Merge(dst, src)
}
func (m *GetMaxAndMinSeqResp) XXX_Size() int {
return xxx_messageInfo_GetMaxAndMinSeqResp.Size(m)
}
func (m *GetMaxAndMinSeqResp) XXX_DiscardUnknown() {
xxx_messageInfo_GetMaxAndMinSeqResp.DiscardUnknown(m)
}
var xxx_messageInfo_GetMaxAndMinSeqResp proto.InternalMessageInfo
func (m *GetMaxAndMinSeqResp) GetErrCode() int32 {
if m != nil {
return m.ErrCode
}
return 0
}
func (m *GetMaxAndMinSeqResp) GetErrMsg() string {
if m != nil {
return m.ErrMsg
}
return ""
}
func (m *GetMaxAndMinSeqResp) GetMaxSeq() int64 {
if m != nil {
return m.MaxSeq
}
return 0
}
func (m *GetMaxAndMinSeqResp) GetMinSeq() int64 {
if m != nil {
return m.MinSeq
}
return 0
}
type SendMsgReq struct {
Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"`
OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
MsgData *sdk_ws.MsgData `protobuf:"bytes,3,opt,name=msgData" json:"msgData,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SendMsgReq) Reset() { *m = SendMsgReq{} }
func (m *SendMsgReq) String() string { return proto.CompactTextString(m) }
func (*SendMsgReq) ProtoMessage() {}
func (*SendMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_6e4ec29226096c3a, []int{5}
}
func (m *SendMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgReq.Unmarshal(m, b)
}
func (m *SendMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SendMsgReq.Marshal(b, m, deterministic)
}
func (dst *SendMsgReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_SendMsgReq.Merge(dst, src)
}
func (m *SendMsgReq) XXX_Size() int {
return xxx_messageInfo_SendMsgReq.Size(m)
}
func (m *SendMsgReq) XXX_DiscardUnknown() {
xxx_messageInfo_SendMsgReq.DiscardUnknown(m)
}
var xxx_messageInfo_SendMsgReq proto.InternalMessageInfo
func (m *SendMsgReq) GetToken() string {
if m != nil {
return m.Token
}
return ""
}
func (m *SendMsgReq) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
func (m *SendMsgReq) GetMsgData() *sdk_ws.MsgData {
if m != nil {
return m.MsgData
}
return nil
}
type SendMsgResp struct {
ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"`
ServerMsgID string `protobuf:"bytes,4,opt,name=serverMsgID" json:"serverMsgID,omitempty"`
ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
SendTime int64 `protobuf:"varint,6,opt,name=sendTime" json:"sendTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SendMsgResp) Reset() { *m = SendMsgResp{} }
func (m *SendMsgResp) String() string { return proto.CompactTextString(m) }
func (*SendMsgResp) ProtoMessage() {}
func (*SendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_6e4ec29226096c3a, []int{6}
}
func (m *SendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgResp.Unmarshal(m, b)
}
func (m *SendMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SendMsgResp.Marshal(b, m, deterministic)
}
func (dst *SendMsgResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_SendMsgResp.Merge(dst, src)
}
func (m *SendMsgResp) XXX_Size() int {
return xxx_messageInfo_SendMsgResp.Size(m)
}
func (m *SendMsgResp) XXX_DiscardUnknown() {
xxx_messageInfo_SendMsgResp.DiscardUnknown(m)
}
var xxx_messageInfo_SendMsgResp proto.InternalMessageInfo
func (m *SendMsgResp) GetErrCode() int32 {
if m != nil {
return m.ErrCode
}
return 0
}
func (m *SendMsgResp) GetErrMsg() string {
if m != nil {
return m.ErrMsg
}
return ""
}
func (m *SendMsgResp) GetServerMsgID() string {
if m != nil {
return m.ServerMsgID
}
return ""
}
func (m *SendMsgResp) GetClientMsgID() string {
if m != nil {
return m.ClientMsgID
}
return ""
}
func (m *SendMsgResp) GetSendTime() int64 {
if m != nil {
return m.SendTime
}
return 0
}
func init() {
proto.RegisterType((*MsgDataToMQ)(nil), "pbChat.MsgDataToMQ")
proto.RegisterType((*MsgDataToDB)(nil), "pbChat.MsgDataToDB")
proto.RegisterType((*PushMsgDataToMQ)(nil), "pbChat.PushMsgDataToMQ")
proto.RegisterType((*GetMaxAndMinSeqReq)(nil), "pbChat.GetMaxAndMinSeqReq")
proto.RegisterType((*GetMaxAndMinSeqResp)(nil), "pbChat.GetMaxAndMinSeqResp")
proto.RegisterType((*SendMsgReq)(nil), "pbChat.SendMsgReq")
proto.RegisterType((*SendMsgResp)(nil), "pbChat.SendMsgResp")
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// Client API for Chat service
type ChatClient interface {
GetMaxAndMinSeq(ctx context.Context, in *GetMaxAndMinSeqReq, opts ...grpc.CallOption) (*GetMaxAndMinSeqResp, error)
PullMessage(ctx context.Context, in *sdk_ws.PullMessageReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageResp, error)
PullMessageBySeqList(ctx context.Context, in *sdk_ws.PullMessageBySeqListReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageBySeqListResp, error)
SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.CallOption) (*SendMsgResp, error)
}
type chatClient struct {
cc *grpc.ClientConn
}
func NewChatClient(cc *grpc.ClientConn) ChatClient {
return &chatClient{cc}
}
func (c *chatClient) GetMaxAndMinSeq(ctx context.Context, in *GetMaxAndMinSeqReq, opts ...grpc.CallOption) (*GetMaxAndMinSeqResp, error) {
out := new(GetMaxAndMinSeqResp)
err := grpc.Invoke(ctx, "/pbChat.Chat/GetMaxAndMinSeq", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *chatClient) PullMessage(ctx context.Context, in *sdk_ws.PullMessageReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageResp, error) {
out := new(sdk_ws.PullMessageResp)
err := grpc.Invoke(ctx, "/pbChat.Chat/PullMessage", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *chatClient) PullMessageBySeqList(ctx context.Context, in *sdk_ws.PullMessageBySeqListReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageBySeqListResp, error) {
out := new(sdk_ws.PullMessageBySeqListResp)
err := grpc.Invoke(ctx, "/pbChat.Chat/PullMessageBySeqList", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *chatClient) SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.CallOption) (*SendMsgResp, error) {
out := new(SendMsgResp)
err := grpc.Invoke(ctx, "/pbChat.Chat/SendMsg", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Chat service
type ChatServer interface {
GetMaxAndMinSeq(context.Context, *GetMaxAndMinSeqReq) (*GetMaxAndMinSeqResp, error)
PullMessage(context.Context, *sdk_ws.PullMessageReq) (*sdk_ws.PullMessageResp, error)
PullMessageBySeqList(context.Context, *sdk_ws.PullMessageBySeqListReq) (*sdk_ws.PullMessageBySeqListResp, error)
SendMsg(context.Context, *SendMsgReq) (*SendMsgResp, error)
}
func RegisterChatServer(s *grpc.Server, srv ChatServer) {
s.RegisterService(&_Chat_serviceDesc, srv)
}
func _Chat_GetMaxAndMinSeq_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetMaxAndMinSeqReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChatServer).GetMaxAndMinSeq(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pbChat.Chat/GetMaxAndMinSeq",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChatServer).GetMaxAndMinSeq(ctx, req.(*GetMaxAndMinSeqReq))
}
return interceptor(ctx, in, info, handler)
}
func _Chat_PullMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(sdk_ws.PullMessageReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChatServer).PullMessage(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pbChat.Chat/PullMessage",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChatServer).PullMessage(ctx, req.(*sdk_ws.PullMessageReq))
}
return interceptor(ctx, in, info, handler)
}
func _Chat_PullMessageBySeqList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(sdk_ws.PullMessageBySeqListReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChatServer).PullMessageBySeqList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pbChat.Chat/PullMessageBySeqList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChatServer).PullMessageBySeqList(ctx, req.(*sdk_ws.PullMessageBySeqListReq))
}
return interceptor(ctx, in, info, handler)
}
func _Chat_SendMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SendMsgReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChatServer).SendMsg(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pbChat.Chat/SendMsg",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChatServer).SendMsg(ctx, req.(*SendMsgReq))
}
return interceptor(ctx, in, info, handler)
}
var _Chat_serviceDesc = grpc.ServiceDesc{
ServiceName: "pbChat.Chat",
HandlerType: (*ChatServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetMaxAndMinSeq",
Handler: _Chat_GetMaxAndMinSeq_Handler,
},
{
MethodName: "PullMessage",
Handler: _Chat_PullMessage_Handler,
},
{
MethodName: "PullMessageBySeqList",
Handler: _Chat_PullMessageBySeqList_Handler,
},
{
MethodName: "SendMsg",
Handler: _Chat_SendMsg_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "chat/chat.proto",
}
func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_6e4ec29226096c3a) }
var fileDescriptor_chat_6e4ec29226096c3a = []byte{
// 477 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0x4d, 0x6f, 0xda, 0x40,
0x10, 0x15, 0x24, 0x40, 0x33, 0x56, 0x85, 0xb4, 0x41, 0x95, 0xe5, 0xf4, 0x40, 0xad, 0x56, 0xca,
0xc9, 0x96, 0xe8, 0xb1, 0xa7, 0x12, 0xa2, 0x96, 0xaa, 0xdb, 0xa4, 0x26, 0xbd, 0xf4, 0x82, 0x1c,
0x3c, 0x32, 0x16, 0x60, 0x2f, 0x9e, 0xa5, 0xa4, 0xbf, 0xa6, 0xbf, 0xa2, 0xff, 0xaf, 0xda, 0x5d,
0x43, 0x96, 0x20, 0x54, 0x4e, 0xb9, 0x58, 0x7a, 0x6f, 0x66, 0xde, 0xdb, 0xe7, 0xfd, 0x80, 0xf6,
0x64, 0x1a, 0xcb, 0x50, 0x7d, 0x02, 0x51, 0x16, 0xb2, 0x60, 0x4d, 0x71, 0x7f, 0x35, 0x8d, 0xa5,
0xf7, 0xe6, 0x46, 0x60, 0x3e, 0x1e, 0xf2, 0x50, 0xcc, 0xd2, 0x50, 0x97, 0x42, 0x4a, 0x66, 0xe3,
0x35, 0x85, 0x6b, 0x32, 0xad, 0xfe, 0x0a, 0x1c, 0x4e, 0xe9, 0x20, 0x96, 0xf1, 0x5d, 0xc1, 0xbf,
0xb3, 0x0e, 0x34, 0x64, 0x31, 0xc3, 0xdc, 0xad, 0x75, 0x6b, 0x97, 0x67, 0x91, 0x01, 0xac, 0x0b,
0x4e, 0x21, 0xb0, 0x8c, 0x65, 0x56, 0xe4, 0xc3, 0x81, 0x5b, 0xd7, 0x35, 0x9b, 0x62, 0x01, 0xb4,
0x16, 0x46, 0xc6, 0x3d, 0xe9, 0xd6, 0x2e, 0x9d, 0x5e, 0x27, 0x28, 0x94, 0x77, 0xb6, 0x18, 0x53,
0x32, 0x0b, 0x2a, 0x8b, 0x68, 0xd3, 0xe4, 0x8f, 0x2d, 0xdb, 0x41, 0xdf, 0x1e, 0xaf, 0x1d, 0x31,
0xfe, 0xff, 0x05, 0xf9, 0x13, 0x68, 0xdf, 0xae, 0x68, 0x6a, 0x67, 0xeb, 0x82, 0x73, 0x63, 0x0d,
0x99, 0x84, 0x36, 0x65, 0x2f, 0xa3, 0x7e, 0x4c, 0x8a, 0x6f, 0xc0, 0x3e, 0xa1, 0xe4, 0xf1, 0xc3,
0xc7, 0x3c, 0xe1, 0x59, 0x3e, 0xc2, 0x65, 0x84, 0x4b, 0xf6, 0x0a, 0x9a, 0x3f, 0x08, 0xcb, 0xad,
0x45, 0x85, 0x9e, 0xfa, 0xd7, 0xf7, 0xfc, 0xfd, 0x35, 0x9c, 0xef, 0xe9, 0x91, 0x60, 0x2e, 0xb4,
0xae, 0xcb, 0xf2, 0xaa, 0x48, 0x50, 0x2b, 0x36, 0xa2, 0x0d, 0x54, 0x56, 0xd7, 0x65, 0xc9, 0x29,
0xad, 0xd4, 0x2a, 0xa4, 0x78, 0x1e, 0x3f, 0x8c, 0x70, 0xa9, 0x77, 0xe3, 0x24, 0xaa, 0x90, 0xe6,
0xb5, 0xae, 0x7b, 0x5a, 0xf1, 0x1a, 0xf9, 0x12, 0x60, 0x84, 0x79, 0xc2, 0x29, 0x55, 0x01, 0x9e,
0xeb, 0x10, 0xfc, 0xa9, 0x81, 0xb3, 0xb5, 0x35, 0x39, 0x71, 0x37, 0x27, 0x3e, 0xe6, 0xc4, 0x9d,
0x9c, 0x06, 0xa9, 0x35, 0x11, 0x96, 0xbf, 0x50, 0x81, 0xe1, 0x40, 0x87, 0x3a, 0x8b, 0x6c, 0x4a,
0x75, 0x4c, 0xe6, 0x19, 0xe6, 0xd2, 0x74, 0x34, 0x4c, 0x87, 0x45, 0x31, 0x0f, 0x5e, 0x10, 0xe6,
0xc9, 0x5d, 0xb6, 0x40, 0xb7, 0xa9, 0xff, 0xca, 0x16, 0xf7, 0xfe, 0xd6, 0xe1, 0x54, 0xdd, 0x24,
0xf6, 0x05, 0xda, 0x4f, 0x76, 0x86, 0x79, 0x81, 0xb9, 0x65, 0xc1, 0xfe, 0x11, 0xf0, 0x2e, 0x0e,
0xd6, 0x48, 0xb0, 0xcf, 0xe0, 0xdc, 0xae, 0xe6, 0x73, 0x8e, 0x44, 0x71, 0x8a, 0xec, 0x62, 0xe7,
0x27, 0x59, 0x15, 0x25, 0xf4, 0xfa, 0x70, 0x91, 0x04, 0x9b, 0x40, 0xc7, 0xa2, 0xfa, 0xbf, 0x47,
0xb8, 0xfc, 0x9a, 0x91, 0x64, 0x6f, 0x0f, 0x4d, 0x6d, 0x5b, 0x94, 0xf6, 0xbb, 0x23, 0xba, 0x48,
0xb0, 0x1e, 0xb4, 0xaa, 0x4d, 0x62, 0x6c, 0x13, 0xeb, 0xf1, 0xb0, 0x78, 0xe7, 0x7b, 0x1c, 0x89,
0x7e, 0xfb, 0xe7, 0xcb, 0x40, 0x3f, 0x48, 0x1f, 0x4c, 0xf1, 0xbe, 0xa9, 0x5f, 0x9b, 0xf7, 0xff,
0x02, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x57, 0x8f, 0x13, 0xab, 0x04, 0x00, 0x00,
}