MCPcopy Index your code
hub / github.com/dearcode/candy / SendMessage

Method SendMessage

gate/server.go:278–296  ·  view source on GitHub ↗

SendMessage 发送消息

(ctx context.Context, req *meta.GateSendMessageRequest)

Source from the content-addressed store, hash-verified

276
277// SendMessage 发送消息
278func (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, 开启推送
299func (g *Gate) Ready(msg *meta.Message, stream meta.Gate_ReadyServer) error {

Callers

nothing calls this directly

Calls 5

getSessionMethod · 0.95
getIDMethod · 0.80
newMessageMethod · 0.80
NewIDMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected