Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
3809abc381
@ -20,9 +20,8 @@ import (
|
||||
|
||||
func newClient(options *Options) (sys *Client, err error) {
|
||||
sys = &Client{
|
||||
options: options,
|
||||
metadata: fmt.Sprintf("stag=%s&stype=%s&sid=%s&version=%s&addr=%s", options.ServiceTag, options.ServiceType, options.ServiceId, options.ServiceVersion, "tcp@"+options.ServiceAddr),
|
||||
// clients: make(map[string]client.XClient),
|
||||
options: options,
|
||||
metadata: fmt.Sprintf("stag=%s&stype=%s&sid=%s&version=%s&addr=%s", options.ServiceTag, options.ServiceType, options.ServiceId, options.ServiceVersion, "tcp@"+options.ServiceAddr),
|
||||
clusterClients: make(map[string]map[string]client.XClient),
|
||||
conns: make(map[string]net.Conn),
|
||||
connecting: make(map[string]struct{}),
|
||||
@ -33,11 +32,10 @@ func newClient(options *Options) (sys *Client, err error) {
|
||||
}
|
||||
|
||||
type Client struct {
|
||||
options *Options
|
||||
metadata string
|
||||
writeTimeout time.Duration
|
||||
AsyncWrite bool
|
||||
// clients map[string]client.XClient
|
||||
options *Options
|
||||
metadata string
|
||||
writeTimeout time.Duration
|
||||
AsyncWrite bool
|
||||
clusterClients map[string]map[string]client.XClient //其他集群客户端
|
||||
connsMapMu sync.RWMutex
|
||||
conns map[string]net.Conn
|
||||
@ -52,19 +50,21 @@ type Client struct {
|
||||
func (this *Client) DoMessage() {
|
||||
for msg := range this.msgChan {
|
||||
go func(req *protocol.Message) {
|
||||
this.Debugf("DoMessage ServicePath:%s ServiceMethod:%s", req.ServicePath, req.ServiceMethod)
|
||||
addr, ok := req.Metadata[ServiceAddrKey]
|
||||
if !ok {
|
||||
this.Errorf("Metadata no found ServiceAddrKey!")
|
||||
return
|
||||
if req.ServicePath != "" && req.ServiceMethod != "" {
|
||||
this.Debugf("DoMessage :%v", req)
|
||||
addr, ok := req.Metadata[ServiceAddrKey]
|
||||
if !ok {
|
||||
this.Errorf("Metadata no found ServiceAddrKey!")
|
||||
return
|
||||
}
|
||||
conn, ok := this.conns[addr]
|
||||
if !ok {
|
||||
this.Errorf("no found conn addr:%s", addr)
|
||||
return
|
||||
}
|
||||
res, _ := this.handleRequest(context.Background(), req)
|
||||
this.sendResponse(conn, req, res)
|
||||
}
|
||||
conn, ok := this.conns[addr]
|
||||
if !ok {
|
||||
this.Errorf("no found conn addr:%s", addr)
|
||||
return
|
||||
}
|
||||
res, _ := this.handleRequest(context.Background(), req)
|
||||
this.sendResponse(conn, req, res)
|
||||
}(msg)
|
||||
}
|
||||
}
|
||||
@ -242,6 +242,7 @@ func (this *Client) UpdateServer(servers map[string]*ServiceNode) {
|
||||
this.connecting[v.ServiceAddr] = struct{}{}
|
||||
this.connectMapMu.Unlock()
|
||||
if err := this.Call(context.Background(), fmt.Sprintf("%s/%s", v.ServiceType, v.ServiceId), RpcX_ShakeHands, &ServiceNode{
|
||||
ServiceTag: this.options.ServiceTag,
|
||||
ServiceId: this.options.ServiceId,
|
||||
ServiceType: this.options.ServiceType,
|
||||
ServiceAddr: this.options.ServiceAddr},
|
||||
@ -250,6 +251,8 @@ func (this *Client) UpdateServer(servers map[string]*ServiceNode) {
|
||||
this.connectMapMu.Lock()
|
||||
delete(this.connecting, v.ServiceAddr)
|
||||
this.connectMapMu.Unlock()
|
||||
} else {
|
||||
this.Debugf("UpdateServer addr:%s ", v.ServiceAddr)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -262,9 +265,6 @@ func (this *Client) ClientConnected(conn net.Conn) (net.Conn, error) {
|
||||
this.connsMapMu.Lock()
|
||||
this.conns[addr] = conn
|
||||
this.connsMapMu.Unlock()
|
||||
this.connectMapMu.Lock()
|
||||
delete(this.connecting, addr)
|
||||
this.connectMapMu.Unlock()
|
||||
this.Debugf("ClientConnected addr:%v", addr)
|
||||
return conn, nil
|
||||
}
|
||||
|
@ -75,6 +75,7 @@ func (this *Selector) Find(ctx context.Context, servicePath, serviceMethod strin
|
||||
for i, v := range nodes {
|
||||
addrs[i] = v.ServiceAddr
|
||||
}
|
||||
return addrs
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -194,42 +194,105 @@ func (this *Service) ClusterBroadcast(ctx context.Context, servicePath string, s
|
||||
return
|
||||
}
|
||||
|
||||
// func (this *Service) PreReadRequest(ctx context.Context) error {
|
||||
// var (
|
||||
// stag string
|
||||
// selector client.Selector
|
||||
// ok bool
|
||||
// )
|
||||
// req_metadata, ok := ctx.Value(share.ReqMetaDataKey).(map[string]string)
|
||||
// this.Debugf("PreReadRequest Meta:%v ", ctx.Value(share.ReqMetaDataKey))
|
||||
// if stag, ok = req_metadata[ServiceClusterTag]; ok {
|
||||
// if selector, ok = this.selectors[stag]; !ok {
|
||||
// this.selectors[stag] = newSelector(nil)
|
||||
// selector = this.selectors[stag]
|
||||
// }
|
||||
// if addr, ok := req_metadata[ServiceAddrKey]; ok {
|
||||
// if _, ok = this.clientmeta[addr]; !ok {
|
||||
// if smeta, ok := req_metadata[ServiceMetaKey]; ok {
|
||||
// servers := make(map[string]string)
|
||||
// this.clientmutex.Lock()
|
||||
// this.clientmeta[addr] = smeta
|
||||
// this.clients[addr] = ctx.Value(server.RemoteConnContextKey).(net.Conn)
|
||||
// for k, v := range this.clientmeta {
|
||||
// servers[k] = v
|
||||
// }
|
||||
// this.clientmutex.Unlock()
|
||||
// selector.UpdateServer(servers)
|
||||
// this.Debugf("fond new node addr:%s smeta:%s \n", addr, smeta)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return nil
|
||||
// }
|
||||
|
||||
//监听客户端链接到服务上 保存客户端的连接对象
|
||||
func (this *Service) PreHandleRequest(ctx context.Context, r *protocol.Message) error {
|
||||
var (
|
||||
stag string
|
||||
selector client.Selector
|
||||
ok bool
|
||||
)
|
||||
req_metadata := ctx.Value(share.ReqMetaDataKey).(map[string]string)
|
||||
if stag, ok = req_metadata[ServiceClusterTag]; ok {
|
||||
if selector, ok = this.selectors[stag]; !ok {
|
||||
this.selectors[stag] = newSelector(nil)
|
||||
selector = this.selectors[stag]
|
||||
}
|
||||
if addr, ok := req_metadata[ServiceAddrKey]; ok {
|
||||
if _, ok = this.clientmeta[addr]; !ok {
|
||||
if smeta, ok := req_metadata[ServiceMetaKey]; ok {
|
||||
servers := make(map[string]string)
|
||||
this.clientmutex.Lock()
|
||||
this.clientmeta[addr] = smeta
|
||||
this.clients[addr] = ctx.Value(server.RemoteConnContextKey).(net.Conn)
|
||||
for k, v := range this.clientmeta {
|
||||
servers[k] = v
|
||||
}
|
||||
this.clientmutex.Unlock()
|
||||
selector.UpdateServer(servers)
|
||||
this.Debugf("fond new node addr:%s smeta:%s \n", addr, smeta)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
// func (this *Service) PreHandleRequest(ctx context.Context, r *protocol.Message) error {
|
||||
// var (
|
||||
// stag string
|
||||
// selector client.Selector
|
||||
// ok bool
|
||||
// )
|
||||
// req_metadata := ctx.Value(share.ReqMetaDataKey).(map[string]string)
|
||||
// this.Debugf("PreHandleRequest ServicePath:%s ServiceMethod:%s Meta:%v ", r.ServicePath, r.ServiceMethod, ctx.Value(share.ReqMetaDataKey))
|
||||
// if stag, ok = req_metadata[ServiceClusterTag]; ok {
|
||||
// if selector, ok = this.selectors[stag]; !ok {
|
||||
// this.selectors[stag] = newSelector(nil)
|
||||
// selector = this.selectors[stag]
|
||||
// }
|
||||
// if addr, ok := req_metadata[ServiceAddrKey]; ok {
|
||||
// if _, ok = this.clientmeta[addr]; !ok {
|
||||
// if smeta, ok := req_metadata[ServiceMetaKey]; ok {
|
||||
// servers := make(map[string]string)
|
||||
// this.clientmutex.Lock()
|
||||
// this.clientmeta[addr] = smeta
|
||||
// this.clients[addr] = ctx.Value(server.RemoteConnContextKey).(net.Conn)
|
||||
// for k, v := range this.clientmeta {
|
||||
// servers[k] = v
|
||||
// }
|
||||
// this.clientmutex.Unlock()
|
||||
// selector.UpdateServer(servers)
|
||||
// this.Debugf("fond new node addr:%s smeta:%s \n", addr, smeta)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return nil
|
||||
// }
|
||||
|
||||
//监控rpc连接收到的请求消息 处理消息回调请求
|
||||
func (this *Service) PostReadRequest(ctx context.Context, r *protocol.Message, e error) error {
|
||||
if isCallMessage := (r.MessageType() == protocol.Request); isCallMessage {
|
||||
var (
|
||||
stag string
|
||||
selector client.Selector
|
||||
ok bool
|
||||
)
|
||||
req_metadata := r.Metadata
|
||||
this.Debugf("PreReadRequest ServicePath:%s ServicePath:%s Metadata:%v ", r.ServicePath, r.ServiceMethod, r.Metadata)
|
||||
if stag, ok = req_metadata[ServiceClusterTag]; ok {
|
||||
if selector, ok = this.selectors[stag]; !ok {
|
||||
this.selectors[stag] = newSelector(nil)
|
||||
selector = this.selectors[stag]
|
||||
}
|
||||
if addr, ok := req_metadata[ServiceAddrKey]; ok {
|
||||
if _, ok = this.clientmeta[addr]; !ok {
|
||||
if smeta, ok := req_metadata[ServiceMetaKey]; ok {
|
||||
servers := make(map[string]string)
|
||||
this.clientmutex.Lock()
|
||||
this.clientmeta[addr] = smeta
|
||||
this.clients[addr] = ctx.Value(server.RemoteConnContextKey).(net.Conn)
|
||||
for k, v := range this.clientmeta {
|
||||
servers[k] = v
|
||||
}
|
||||
this.clientmutex.Unlock()
|
||||
selector.UpdateServer(servers)
|
||||
this.Debugf("fond new node addr:%s smeta:%s \n", addr, smeta)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
e = errors.New("is callMessage")
|
||||
@ -326,8 +389,8 @@ func (this *Service) call(ctx context.Context, clusterTag string, servicePath st
|
||||
selector client.Selector
|
||||
ok bool
|
||||
)
|
||||
if servicePath == "" {
|
||||
err = errors.New("servicePath no cant null")
|
||||
if clusterTag == "" || servicePath == "" {
|
||||
err = fmt.Errorf("clusterTag:%s servicePath:%s no cant null", clusterTag, servicePath)
|
||||
return
|
||||
}
|
||||
metadata = map[string]string{
|
||||
|
@ -12,7 +12,9 @@ import (
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) SendCheck(session comm.IUserSession, req *pb.ChatSendReq) (code pb.ErrorCode) {
|
||||
|
||||
if (req.Channel == pb.ChatChannel_Union && req.TargetId == "") || (req.Channel == pb.ChatChannel_Private && req.TargetId == "") {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@ -25,7 +27,9 @@ func (this *apiComp) Send(session comm.IUserSession, req *pb.ChatSendReq) (code
|
||||
user *pb.DBUser
|
||||
max_chat int32
|
||||
)
|
||||
|
||||
if code = this.SendCheck(session, req); code != pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
if user = this.module.ModuleUser.GetUser(session.GetUserId()); user == nil {
|
||||
this.module.Errorf("GetUser is nill")
|
||||
code = pb.ErrorCode_DBError
|
||||
@ -54,7 +58,10 @@ func (this *apiComp) Send(session comm.IUserSession, req *pb.ChatSendReq) (code
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
this.module.PushWorld(msg)
|
||||
if err = this.module.PushWorld(msg); err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
break
|
||||
case pb.ChatChannel_Union:
|
||||
msg.UnionId = req.TargetId
|
||||
@ -62,11 +69,17 @@ func (this *apiComp) Send(session comm.IUserSession, req *pb.ChatSendReq) (code
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
this.module.PushUnion(msg)
|
||||
if err = this.module.PushUnion(req.TargetId, msg); err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
break
|
||||
case pb.ChatChannel_Private:
|
||||
msg.Ruid = req.TargetId
|
||||
this.module.PushUser(msg)
|
||||
if err = this.module.PushUser(msg); err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
break
|
||||
}
|
||||
session.SendMsg(string(this.module.GetType()), "send", &pb.ChatSendResp{})
|
||||
|
@ -64,38 +64,39 @@ func (this *Chat) EventUserOffline(session comm.IUserSession) {
|
||||
|
||||
//Push--------------------------------------------------------------------------------------------------------------
|
||||
//推送消息到世界
|
||||
func (this *Chat) PushWorld(msg *pb.DBChat) {
|
||||
func (this *Chat) PushWorld(msg *pb.DBChat) (err error) {
|
||||
var (
|
||||
err error
|
||||
reply *pb.RPCMessageReply
|
||||
)
|
||||
reply = &pb.RPCMessageReply{}
|
||||
data, _ := anypb.New(msg)
|
||||
data, _ := anypb.New(&pb.ChatMessagePush{Chat: msg})
|
||||
if err = this.service.RpcBroadcast(context.Background(), comm.Service_Gateway, string(comm.Rpc_GatewaySendRadioMsg), pb.UserMessage{
|
||||
MainType: string(this.GetType()),
|
||||
SubType: "push",
|
||||
SubType: "message",
|
||||
Data: data,
|
||||
}, reply); err != nil {
|
||||
this.Errorf("err:%v", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//推送消息到工会
|
||||
func (this *Chat) PushUnion(msg *pb.DBChat) {
|
||||
|
||||
func (this *Chat) PushUnion(unionId string, msg *pb.DBChat) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
//推送消息到用户
|
||||
func (this *Chat) PushUser(msg *pb.DBChat) {
|
||||
func (this *Chat) PushUser(msg *pb.DBChat) (err error) {
|
||||
if session, ok := this.GetUserSession(msg.Ruid); ok {
|
||||
session.SendMsg(string(this.GetType()), "push", msg)
|
||||
if err := session.Push(); err != nil {
|
||||
session.SendMsg(string(this.GetType()), "message", &pb.ChatMessagePush{Chat: msg})
|
||||
if err = session.Push(); err != nil {
|
||||
this.Errorf("err:%v", err)
|
||||
}
|
||||
return
|
||||
} else {
|
||||
this.modelChat.SaveUserMsg(msg)
|
||||
err = this.modelChat.SaveUserMsg(msg)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//全集群推送
|
||||
@ -105,7 +106,7 @@ func (this *Chat) PushToUsers(group, channel int32, msg *pb.DBChat) {
|
||||
users []*pb.CacheUser
|
||||
)
|
||||
if users, err = this.modelChat.GetCrossChannelMember(group, channel); err == nil {
|
||||
if err = this.SendMsgToUsers(string(this.GetType()), "push", msg, users...); err != nil {
|
||||
if err = this.SendMsgToUsers(string(this.GetType()), "message", &pb.ChatMessagePush{Chat: msg}, users...); err != nil {
|
||||
this.Errorf("err:%v", err)
|
||||
return
|
||||
}
|
||||
@ -119,10 +120,10 @@ func (this *Chat) PushAllWorld(msg *pb.DBChat) {
|
||||
reply *pb.RPCMessageReply
|
||||
)
|
||||
reply = &pb.RPCMessageReply{}
|
||||
data, _ := anypb.New(msg)
|
||||
data, _ := anypb.New(&pb.ChatMessagePush{Chat: msg})
|
||||
if err = this.service.ClusterBroadcast(context.Background(), comm.Service_Gateway, string(comm.Rpc_GatewaySendRadioMsg), pb.UserMessage{
|
||||
MainType: string(this.GetType()),
|
||||
SubType: "push",
|
||||
SubType: "message",
|
||||
Data: data,
|
||||
}, reply); err != nil {
|
||||
this.Errorf("err:%v", err)
|
||||
|
@ -21,6 +21,7 @@ type AgentMgrComp struct {
|
||||
cbase.ModuleCompBase
|
||||
options *Options
|
||||
service base.IRPCXService
|
||||
module *Gateway
|
||||
agents *sync.Map
|
||||
}
|
||||
|
||||
@ -28,6 +29,7 @@ func (this *AgentMgrComp) Init(service core.IService, module core.IModule, comp
|
||||
err = this.ModuleCompBase.Init(service, module, comp, options)
|
||||
this.options = options.(*Options)
|
||||
this.service = service.(base.IRPCXService)
|
||||
this.module = module.(*Gateway)
|
||||
this.agents = new(sync.Map)
|
||||
return
|
||||
}
|
||||
@ -88,6 +90,7 @@ func (this *AgentMgrComp) UnBind(ctx context.Context, args *pb.AgentUnBuildReq,
|
||||
|
||||
// SendMsgToAgent 向用户发送消息
|
||||
func (this *AgentMgrComp) SendMsgToAgent(ctx context.Context, args *pb.AgentSendMessageReq, reply *pb.RPCMessageReply) error {
|
||||
this.module.Debugf("SendMsgToAgent: agent:%s msg:%v", args.UserSessionId, args.Reply)
|
||||
if a, ok := this.agents.Load(args.UserSessionId); ok {
|
||||
for _, v := range args.Reply {
|
||||
a.(IAgent).WriteMsg(v)
|
||||
@ -106,6 +109,7 @@ func (this *AgentMgrComp) SendMsgToAgents(ctx context.Context, args *pb.BatchMes
|
||||
SubType: args.SubType,
|
||||
Data: args.Data,
|
||||
}
|
||||
this.module.Debugf("SendMsgToAgents: agents:%v msg:%v", args.UserSessionIds, msg)
|
||||
for _, v := range args.UserSessionIds {
|
||||
if a, ok := this.agents.Load(v); ok {
|
||||
a.(IAgent).WriteMsg(msg)
|
||||
@ -121,6 +125,7 @@ func (this *AgentMgrComp) SendMsgToAllAgent(ctx context.Context, args *pb.BroadC
|
||||
SubType: args.SubType,
|
||||
Data: args.Data,
|
||||
}
|
||||
this.module.Debugf("SendMsgToAllAgent: msg:%v", msg)
|
||||
this.agents.Range(func(key, value any) bool {
|
||||
value.(IAgent).WriteMsg(msg)
|
||||
return true
|
||||
|
@ -82,6 +82,7 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (cod
|
||||
err = this.module.modelSession.Change(user.Uid, map[string]interface{}{
|
||||
"uid": user.Uid,
|
||||
"sessionId": session.GetSessionId(),
|
||||
"serviceTag": session.GetServiecTag(),
|
||||
"gatewayServiceId": session.GetGatewayServiceId(),
|
||||
"ip": session.GetIP(),
|
||||
},
|
||||
|
@ -26,7 +26,7 @@ type ChatMessagePush struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Chats []*DBChat `protobuf:"bytes,1,rep,name=chats,proto3" json:"chats"`
|
||||
Chat *DBChat `protobuf:"bytes,1,opt,name=chat,proto3" json:"chat"`
|
||||
}
|
||||
|
||||
func (x *ChatMessagePush) Reset() {
|
||||
@ -61,9 +61,9 @@ func (*ChatMessagePush) Descriptor() ([]byte, []int) {
|
||||
return file_chat_chat_msg_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *ChatMessagePush) GetChats() []*DBChat {
|
||||
func (x *ChatMessagePush) GetChat() *DBChat {
|
||||
if x != nil {
|
||||
return x.Chats
|
||||
return x.Chat
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@ -662,55 +662,55 @@ var File_chat_chat_msg_proto protoreflect.FileDescriptor
|
||||
var file_chat_chat_msg_proto_rawDesc = []byte{
|
||||
0x0a, 0x13, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6d, 0x73, 0x67, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x63, 0x68, 0x61, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x74,
|
||||
0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x0f, 0x43, 0x68, 0x61,
|
||||
0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x05,
|
||||
0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2e, 0x0a, 0x0f, 0x43, 0x68, 0x61,
|
||||
0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04,
|
||||
0x63, 0x68, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x43,
|
||||
0x68, 0x61, 0x74, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x68, 0x61,
|
||||
0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71,
|
||||
0x22, 0x34, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61,
|
||||
0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e,
|
||||
0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61,
|
||||
0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68,
|
||||
0x61, 0x6e, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12,
|
||||
0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x4e, 0x0a,
|
||||
0x16, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e,
|
||||
0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e,
|
||||
0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e,
|
||||
0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x38, 0x0a,
|
||||
0x0e, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12,
|
||||
0x26, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x0c, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07,
|
||||
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x30, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x74, 0x47,
|
||||
0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x05, 0x63, 0x68,
|
||||
0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x43, 0x68,
|
||||
0x61, 0x74, 0x52, 0x05, 0x63, 0x68, 0x61, 0x74, 0x73, 0x22, 0x5a, 0x0a, 0x12, 0x43, 0x68, 0x61,
|
||||
0x74, 0x53, 0x70, 0x61, 0x6e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12,
|
||||
0x26, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x0c, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07,
|
||||
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e,
|
||||
0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e,
|
||||
0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x61,
|
||||
0x6e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x05,
|
||||
0x63, 0x68, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42,
|
||||
0x43, 0x68, 0x61, 0x74, 0x52, 0x05, 0x63, 0x68, 0x61, 0x74, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x43,
|
||||
0x68, 0x61, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52,
|
||||
0x65, 0x71, 0x22, 0x34, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x43,
|
||||
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68,
|
||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63,
|
||||
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x35, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x74,
|
||||
0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65,
|
||||
0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22,
|
||||
0x4e, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x43, 0x68,
|
||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61,
|
||||
0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68,
|
||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63,
|
||||
0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22,
|
||||
0x38, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x74, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
|
||||
0x71, 0x12, 0x26, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
|
||||
0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x30, 0x0a, 0x0f, 0x43, 0x68, 0x61,
|
||||
0x74, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x05,
|
||||
0x63, 0x68, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42,
|
||||
0x43, 0x68, 0x61, 0x74, 0x52, 0x05, 0x63, 0x68, 0x61, 0x74, 0x73, 0x22, 0x5a, 0x0a, 0x12, 0x43,
|
||||
0x68, 0x61, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
|
||||
0x71, 0x12, 0x26, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
|
||||
0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61,
|
||||
0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68,
|
||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x74, 0x53,
|
||||
0x70, 0x61, 0x6e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d,
|
||||
0x0a, 0x05, 0x63, 0x68, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e,
|
||||
0x44, 0x42, 0x43, 0x68, 0x61, 0x74, 0x52, 0x05, 0x63, 0x68, 0x61, 0x74, 0x73, 0x22, 0x6b, 0x0a,
|
||||
0x0b, 0x43, 0x68, 0x61, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x07,
|
||||
0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e,
|
||||
0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61,
|
||||
0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64,
|
||||
0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x68,
|
||||
0x61, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x53, 0x0a, 0x0f, 0x43, 0x68,
|
||||
0x61, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a,
|
||||
0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c,
|
||||
0x2e, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68,
|
||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22,
|
||||
0x12, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x52,
|
||||
0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
0x43, 0x68, 0x61, 0x74, 0x52, 0x05, 0x63, 0x68, 0x61, 0x74, 0x73, 0x22, 0x6b, 0x0a, 0x0b, 0x43,
|
||||
0x68, 0x61, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x07, 0x63, 0x68,
|
||||
0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x43, 0x68,
|
||||
0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e,
|
||||
0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x74,
|
||||
0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x53, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x74,
|
||||
0x53, 0x70, 0x61, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x07, 0x63,
|
||||
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x43,
|
||||
0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e,
|
||||
0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x12, 0x0a,
|
||||
0x10, 0x43, 0x68, 0x61, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73,
|
||||
0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -744,7 +744,7 @@ var file_chat_chat_msg_proto_goTypes = []interface{}{
|
||||
(ChatChannel)(0), // 14: ChatChannel
|
||||
}
|
||||
var file_chat_chat_msg_proto_depIdxs = []int32{
|
||||
13, // 0: ChatMessagePush.chats:type_name -> DBChat
|
||||
13, // 0: ChatMessagePush.chat:type_name -> DBChat
|
||||
14, // 1: ChatGetListReq.channel:type_name -> ChatChannel
|
||||
13, // 2: ChatGetListResp.chats:type_name -> DBChat
|
||||
14, // 3: ChatSpanGetListReq.channel:type_name -> ChatChannel
|
||||
|
@ -4,7 +4,7 @@ import "chat/chat_db.proto";
|
||||
|
||||
//聊天消息推送
|
||||
message ChatMessagePush{
|
||||
repeated DBChat chats = 1;
|
||||
DBChat chat = 1;
|
||||
}
|
||||
|
||||
//申请跨服频道号
|
||||
|
@ -2,12 +2,11 @@ syntax = "proto3";
|
||||
option go_package = ".;pb";
|
||||
|
||||
message CacheUser {
|
||||
string uid = 1; //用户id
|
||||
string SessionId = 2; //会话id
|
||||
string ServiceTag = 3; //所在服务集群 区服id
|
||||
string GatewayServiceId = 4; //所在网关服务id
|
||||
string ip = 5; //远程ip
|
||||
// DB_UserData UserData = 4; //@go_tags(`json:",inline"`)
|
||||
string uid = 1; //@go_tags(`json:"uid"`) 用户id
|
||||
string SessionId = 2; //@go_tags(`json:"sessionId"`) 会话id
|
||||
string ServiceTag = 3; //@go_tags(`json:"serviceTag"`) 所在服务集群 区服id
|
||||
string GatewayServiceId = 4; //@go_tags(`json:"gatewayServiceId"`) 所在网关服务id
|
||||
string ip = 5; //@go_tags(`json:"ip"`) 远程ip
|
||||
}
|
||||
|
||||
message DBUser {
|
||||
|
@ -26,9 +26,9 @@ type CacheUser struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"` //用户id
|
||||
SessionId string `protobuf:"bytes,2,opt,name=SessionId,proto3" json:"SessionId"` //会话id
|
||||
ServiceTag string `protobuf:"bytes,3,opt,name=ServiceTag,proto3" json:"ServiceTag"` //所在服务集群 区服id
|
||||
GatewayServiceId string `protobuf:"bytes,4,opt,name=GatewayServiceId,proto3" json:"GatewayServiceId"` //所在网关服务id
|
||||
SessionId string `protobuf:"bytes,2,opt,name=SessionId,proto3" json:"sessionId"` //会话id
|
||||
ServiceTag string `protobuf:"bytes,3,opt,name=ServiceTag,proto3" json:"serviceTag"` //所在服务集群 区服id
|
||||
GatewayServiceId string `protobuf:"bytes,4,opt,name=GatewayServiceId,proto3" json:"gatewayServiceId"` //所在网关服务id
|
||||
Ip string `protobuf:"bytes,5,opt,name=ip,proto3" json:"ip"` //远程ip
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user