MCPcopy
hub / github.com/aceld/zinx / doMsgHandlerSlices

Method doMsgHandlerSlices

znet/msghandler.go:383–401  ·  view source on GitHub ↗
(request ziface.IRequest, workerID int)

Source from the content-addressed store, hash-verified

381}
382
383func (mh *MsgHandle) doMsgHandlerSlices(request ziface.IRequest, workerID int) {
384 defer func() {
385 if err := recover(); err != nil {
386 zlog.Ins().ErrorF("workerID: %d doMsgHandler panic: %v", workerID, err)
387 }
388 }()
389
390 msgId := request.GetMsgID()
391 handlers, ok := mh.RouterSlices.GetHandlers(msgId)
392 if !ok {
393 zlog.Ins().ErrorF("api msgID = %d is not FOUND!", request.GetMsgID())
394 return
395 }
396
397 request.BindRouterSlices(handlers)
398 request.RouterSlicesNext()
399 // 执行完成后回收 Request 对象回对象池
400 PutRequest(request)
401}
402
403func (mh *MsgHandle) StopOneWorker(workerID int) {
404 zlog.Ins().DebugF("stop Worker ID = %d ", workerID)

Callers 2

InterceptMethod · 0.95
StartOneWorkerMethod · 0.95

Calls 7

InsFunction · 0.92
PutRequestFunction · 0.85
ErrorFMethod · 0.65
GetMsgIDMethod · 0.65
GetHandlersMethod · 0.65
BindRouterSlicesMethod · 0.65
RouterSlicesNextMethod · 0.65

Tested by

no test coverage detected