Documentation ¶
Index ¶
- func NewRequest(msg iface.IMessage, s *melody.Session, m *melody.Melody) iface.IRequest
- func NewServer(ctx context.Context) iface.IServer
- type Message
- type MsgHandler
- func (mh *MsgHandler) AddRouter(ctx context.Context, bizType string, router iface.IRouter)
- func (mh *MsgHandler) DoMsgHandler(ctx context.Context, request iface.IRequest)
- func (mh *MsgHandler) HandleMsg(ctx context.Context, request iface.IRequest)
- func (mh *MsgHandler) SendMsgToTaskQueue(request iface.IRequest) (err error)
- func (mh *MsgHandler) StartOneWorker(ctx context.Context, workerID int, taskQueue chan iface.IRequest)
- func (mh *MsgHandler) StartWorkerPool(ctx context.Context)
- type Request
- type Server
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRequest ¶
Types ¶
type MsgHandler ¶
type MsgHandler struct { Apis map[string]iface.IRouter //存放每个bizType 所对应的处理方法的map属性 WorkerPoolSize uint64 //业务工作Worker池的数量 TaskQueue []chan iface.IRequest //Worker负责取任务的消息队列 }
func NewMsgHandle ¶
func NewMsgHandle(ctx context.Context) *MsgHandler
func (*MsgHandler) DoMsgHandler ¶
func (mh *MsgHandler) DoMsgHandler(ctx context.Context, request iface.IRequest)
DoMsgHandler 马上以非阻塞方式处理消息
func (*MsgHandler) HandleMsg ¶
func (mh *MsgHandler) HandleMsg(ctx context.Context, request iface.IRequest)
func (*MsgHandler) SendMsgToTaskQueue ¶
func (mh *MsgHandler) SendMsgToTaskQueue(request iface.IRequest) (err error)
SendMsgToTaskQueue 将消息交给TaskQueue,由worker进行处理
func (*MsgHandler) StartOneWorker ¶
func (mh *MsgHandler) StartOneWorker(ctx context.Context, workerID int, taskQueue chan iface.IRequest)
StartOneWorker 启动一个Worker工作流程
func (*MsgHandler) StartWorkerPool ¶
func (mh *MsgHandler) StartWorkerPool(ctx context.Context)
StartWorkerPool 启动worker工作池
Click to show internal directories.
Click to hide internal directories.