Documentation
¶
Index ¶
- func RegisterEvent[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterEventBroadcast[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterEventForce[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterEventForceBroadcast[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterEventForceSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterEventForceSingleBroadcast[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterEventSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterEventSingleBroadcast[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterRPC[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterRPCForce[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterRPCForceSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterRPCResp[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterRPCRespForce[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterRPCRespForceSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterRPCRespSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], ...](h *Handler[TraceData, TP], desc string, ...)
- func RegisterRPCSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], ...](h *Handler[TraceData, TP], desc string, ...)
- type Elem
- func (this_ *Elem[TraceData, TP]) Call(c *ctx.BaseCtx[TraceData, TP]) *berror.ErrMsg
- func (this_ *Elem[TraceData, TP]) IsForce() bool
- func (this_ *Elem[TraceData, TP]) IsRPC() bool
- func (this_ *Elem[TraceData, TP]) IsRPCResp() bool
- func (this_ *Elem[TraceData, TP]) IsSingle() bool
- func (this_ *Elem[TraceData, TP]) MsgName() string
- func (this_ *Elem[TraceData, TP]) ReqPool() *sync.Pool
- func (this_ *Elem[TraceData, TP]) RespPool() *sync.Pool
- func (this_ *Elem[TraceData, TP]) String() string
- type HandleFunc
- type Handler
- func (h *Handler[TraceData, TP]) GetBroadcastSubjInfo() map[string]struct{}
- func (h *Handler[TraceData, TP]) GetHandler(msgName string) (*Elem[TraceData, TP], bool)
- func (h *Handler[TraceData, TP]) GetQueueSubjInfo() map[string]struct{}
- func (h *Handler[TraceData, TP]) Group(middlewares ...Middleware[TraceData, TP]) *Handler[TraceData, TP]
- func (h *Handler[TraceData, TP]) Logger()
- type Middleware
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterEvent ¶
func RegisterEvent[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, T1 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterEvent Call in many goroutines, just one sub will receive the event
func RegisterEventBroadcast ¶
func RegisterEventBroadcast[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, T1 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterEventBroadcast Call in many goroutines,and all subscribers will receive
func RegisterEventForce ¶
func RegisterEventForce[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, T1 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterEventForce f is force handle when Server is busy many goroutines it is only used for very important businesses, such as recharge-related interfaces, adding gold coins to players, etc. just one sub will receive the event
func RegisterEventForceBroadcast ¶
func RegisterEventForceBroadcast[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, T1 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterEventForceBroadcast f is force handle when Server is busy many goroutines it is only used for very important businesses, such as recharge-related interfaces, adding gold coins to players, etc. all subscribers will receive
func RegisterEventForceSingle ¶
func RegisterEventForceSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, T1 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterEventForceSingle f is force handle when Server is busy on eventloop just one sub will receive the event
func RegisterEventForceSingleBroadcast ¶
func RegisterEventForceSingleBroadcast[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, T1 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterEventForceSingleBroadcast f is force handle when Server is busy on eventloop all subscribers will receive
func RegisterEventSingle ¶
func RegisterEventSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, T1 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterEventSingle Call in eventloop, just one sub will receive the event
func RegisterEventSingleBroadcast ¶
func RegisterEventSingleBroadcast[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], TraceData any, T1 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterEventSingleBroadcast Call in eventloop ,and all subscribers will receive
func RegisterRPC ¶
func RegisterRPC[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], RESP define.ProtoMessagePtr[T2], TraceData any, T1 any, T2 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) (RESP, *berror.ErrMsg), middlewares ...Middleware[TraceData, TP], )
RegisterRPC RESP is out parameter and Call in many goroutines,just one sub will receive the event
func RegisterRPCForce ¶
func RegisterRPCForce[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], RESP define.ProtoMessagePtr[T2], TraceData any, T1 any, T2 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) (RESP, *berror.ErrMsg), middlewares ...Middleware[TraceData, TP], )
RegisterRPCForce f is force handle when Server is busy many goroutines it is only used for very important businesses, such as recharge-related interfaces, adding gold coins to players, etc. just one sub will receive the event
func RegisterRPCForceSingle ¶
func RegisterRPCForceSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], RESP define.ProtoMessagePtr[T2], TraceData any, T1 any, T2 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) (RESP, *berror.ErrMsg), middlewares ...Middleware[TraceData, TP], )
RegisterRPCForceSingle f is force handle when Server is busy on eventloop,just one sub will receive the event
func RegisterRPCResp ¶
func RegisterRPCResp[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], RESP define.ProtoMessagePtr[T2], TraceData any, T1 any, T2 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ, RESP) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterRPCResp RESP is in parameter and Call in many goroutines,just one sub will receive the event
func RegisterRPCRespForce ¶
func RegisterRPCRespForce[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], RESP define.ProtoMessagePtr[T2], TraceData any, T1 any, T2 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ, RESP) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterRPCRespForce f is force handle when Server is busy many goroutines It is only used for very important businesses, such as recharge-related interfaces, adding gold coins to players, etc. just one sub will receive the event
func RegisterRPCRespForceSingle ¶
func RegisterRPCRespForceSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], RESP define.ProtoMessagePtr[T2], TraceData any, T1 any, T2 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ, RESP) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterRPCRespForceSingle f is force handle when Server is busy on eventloop,just one sub will receive the event
func RegisterRPCRespSingle ¶
func RegisterRPCRespSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], RESP define.ProtoMessagePtr[T2], TraceData any, T1 any, T2 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ, RESP) *berror.ErrMsg, middlewares ...Middleware[TraceData, TP], )
RegisterRPCRespSingle RESP is in parameter and Call in eventloop,just one sub will receive the event
func RegisterRPCSingle ¶
func RegisterRPCSingle[TP ctx.TracePtr[TraceData], REQ define.ProtoMessagePtr[T1], RESP define.ProtoMessagePtr[T2], TraceData any, T1 any, T2 any]( h *Handler[TraceData, TP], desc string, f func(*ctx.BaseCtx[TraceData, TP], REQ) (RESP, *berror.ErrMsg), middlewares ...Middleware[TraceData, TP], )
RegisterRPCSingle RESP is out parameter and Call on eventloop,just one sub will receive the event
Types ¶
type Elem ¶
type Elem[TraceData any, TP ctx.TracePtr[TraceData]] struct { // contains filtered or unexported fields }
type HandleFunc ¶
type HandleFunc[TraceData any, TP ctx.TracePtr[TraceData]] func(*ctx.BaseCtx[TraceData, TP]) *berror.ErrMsg
func LoggerAndRecover ¶ added in v0.0.8
type Handler ¶
type Handler[TraceData any, TP ctx.TracePtr[TraceData]] struct { // contains filtered or unexported fields }
func NewHandler ¶
func NewHandler[TraceData any, TP ctx.TracePtr[TraceData]](middlewares ...Middleware[TraceData, TP]) *Handler[TraceData, TP]
NewHandler create Router Handler
func (*Handler[TraceData, TP]) GetBroadcastSubjInfo ¶
GetBroadcastSubjInfo get all broadcast subj topic prefix
func (*Handler[TraceData, TP]) GetHandler ¶
GetHandler get Elem by msgName or nil
func (*Handler[TraceData, TP]) GetQueueSubjInfo ¶
GetQueueSubjInfo get all queue subj topic prefix
func (*Handler[TraceData, TP]) Group ¶
func (h *Handler[TraceData, TP]) Group(middlewares ...Middleware[TraceData, TP]) *Handler[TraceData, TP]
Group create a new Handler with same base middlewares