SendMessage 发送消息
(ctx context.Context, req *meta.GateSendMessageRequest)
| 276 | |
| 277 | // SendMessage 发送消息 |
| 278 | func (g *Gate) SendMessage(ctx context.Context, req *meta.GateSendMessageRequest) (*meta.GateSendMessageResponse, error) { |
| 279 | s, err := g.getSession(ctx) |
| 280 | if err != nil { |
| 281 | return &meta.GateSendMessageResponse{Header: &meta.ResponseHeader{Code: util.ErrorGetSession, Msg: err.Error()}}, nil |
| 282 | } |
| 283 | |
| 284 | if req.Msg.ID, err = g.master.NewID(); err != nil { |
| 285 | return &meta.GateSendMessageResponse{Header: &meta.ResponseHeader{Code: -1, Msg: err.Error()}}, nil |
| 286 | } |
| 287 | |
| 288 | //防止乱写 |
| 289 | req.Msg.From = s.getID() |
| 290 | |
| 291 | if err = g.store.newMessage(req.Msg); err != nil { |
| 292 | return &meta.GateSendMessageResponse{Header: &meta.ResponseHeader{Code: util.ErrorNewMessage, Msg: err.Error()}}, nil |
| 293 | } |
| 294 | |
| 295 | return &meta.GateSendMessageResponse{Id: req.Msg.ID}, nil |
| 296 | } |
| 297 | |
| 298 | // Ready 连接成功后立刻调用Ready, 开启推送 |
| 299 | func (g *Gate) Ready(msg *meta.Message, stream meta.Gate_ReadyServer) error { |
nothing calls this directly
no test coverage detected