Documentation
¶
Index ¶
- func ReplyTaskPoolFull[TraceData any, TP ctx.TracePtr[TraceData]](c *ctx.BaseCtx[TraceData, TP])
- type BaseService
- func (s *BaseService[TraceData, TP]) GetHandler() *handler.Handler[TraceData, TP]
- func (s *BaseService[TraceData, TP]) GetNatsCluster() *natsclient.ClusterClient
- func (s *BaseService[TraceData, TP]) PostEventloop(e any)
- func (s *BaseService[TraceData, TP]) Start(f func(any))
- func (s *BaseService[TraceData, TP]) Stop()
- type HashRunMode
- type ServerUserService
- func (s *ServerUserService[T1, TraceData, TP, US]) DealServerUserNatsMsg(msg *nats.Msg)
- func (s *ServerUserService[T1, TraceData, TP, US]) GetUserNatsCluster() *natsclient.ClusterClientServerUser[T1, US]
- func (s *ServerUserService[T1, TraceData, TP, US]) UserSubscribeAll(us US)
- func (s *ServerUserService[T1, TraceData, TP, US]) UserSubscribeAllWaitSuccess(us US)
- func (s *ServerUserService[T1, TraceData, TP, US]) UserSubscribeOne(us US)
- func (s *ServerUserService[T1, TraceData, TP, US]) UserSubscribeOneWaitSuccess(us US)
- func (s *ServerUserService[T1, TraceData, TP, US]) UserUnsubscribe(us US)
- type TaskRunMode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BaseService ¶
type BaseService[TraceData any, TP ctx.TracePtr[TraceData]] struct { // contains filtered or unexported fields }
func NewBaseService ¶
func NewBaseService[TraceData any, TP ctx.TracePtr[TraceData]]( natsUrls []string, lockQueueThread bool, hashMode HashRunMode, taskMode TaskRunMode, rpcTimeout time.Duration, middlewares ...handler.Middleware[TraceData, TP], ) *BaseService[TraceData, TP]
NewBaseService create a new BaseService
func (*BaseService[TraceData, TP]) GetHandler ¶
func (s *BaseService[TraceData, TP]) GetHandler() *handler.Handler[TraceData, TP]
GetHandler return all registered handlers
func (*BaseService[TraceData, TP]) GetNatsCluster ¶
func (s *BaseService[TraceData, TP]) GetNatsCluster() *natsclient.ClusterClient
GetNatsCluster return nats cluster client
func (*BaseService[TraceData, TP]) PostEventloop ¶
func (s *BaseService[TraceData, TP]) PostEventloop(e any)
PostEventloop post any event to eventloop
func (*BaseService[TraceData, TP]) Start ¶
func (s *BaseService[TraceData, TP]) Start(f func(any))
Start if PostEventloop is being called, param f need to be implemented by the user
func (*BaseService[TraceData, TP]) Stop ¶
func (s *BaseService[TraceData, TP]) Stop()
Stop the service
type HashRunMode ¶
type HashRunMode int
HashRunMode 0: FixedHashPoolMode, 1: OneHashOneGo FixedHashPoolMode use hash to run task, OneHashOneGo use one hash one goroutine
const ( // FixedHashPoolMode fixed((runtime.NumCPU()+1)*1024) task group pool // by ToHash() distribute task to task_group.TaskGroup FixedHashPoolMode HashRunMode = 0 // OneHashOneGo one hash one goroutine OneHashOneGo HashRunMode = 1 )
type ServerUserService ¶
type ServerUserService[T1 any, TraceData any, TP ctx.TracePtr[TraceData], US natsclient.ServerUserSubjectPtr[T1]] struct { *BaseService[TraceData, TP] // contains filtered or unexported fields }
ServerUserService is a service,can use user subject.
func NewServerUserService ¶
func NewServerUserService[T1 any, TraceData any, TP ctx.TracePtr[TraceData], US natsclient.ServerUserSubjectPtr[T1]]( natsUrls []string, lockQueueThread bool, hashMode HashRunMode, taskMode TaskRunMode, rpcTimeout time.Duration, middlewares ...handler.Middleware[TraceData, TP], ) *ServerUserService[T1, TraceData, TP, US]
NewServerUserService create a ServerUserService.
func (*ServerUserService[T1, TraceData, TP, US]) DealServerUserNatsMsg ¶ added in v0.1.3
func (s *ServerUserService[T1, TraceData, TP, US]) DealServerUserNatsMsg(msg *nats.Msg)
func (*ServerUserService[T1, TraceData, TP, US]) GetUserNatsCluster ¶
func (s *ServerUserService[T1, TraceData, TP, US]) GetUserNatsCluster() *natsclient.ClusterClientServerUser[T1, US]
GetUserNatsCluster return *ClusterClientServerUser.
func (*ServerUserService[T1, TraceData, TP, US]) UserSubscribeAll ¶
func (s *ServerUserService[T1, TraceData, TP, US]) UserSubscribeAll(us US)
UserSubscribeAll subscribe all NatsClient for user subject.
func (*ServerUserService[T1, TraceData, TP, US]) UserSubscribeAllWaitSuccess ¶
func (s *ServerUserService[T1, TraceData, TP, US]) UserSubscribeAllWaitSuccess(us US)
UserSubscribeAllWaitSuccess subscribe all NatsClient for user subject and wait success. Only used in multi-cluster or multiple connections to the same cluster
func (*ServerUserService[T1, TraceData, TP, US]) UserSubscribeOne ¶
func (s *ServerUserService[T1, TraceData, TP, US]) UserSubscribeOne(us US)
UserSubscribeOne subscribe one user subject.
func (*ServerUserService[T1, TraceData, TP, US]) UserSubscribeOneWaitSuccess ¶
func (s *ServerUserService[T1, TraceData, TP, US]) UserSubscribeOneWaitSuccess(us US)
UserSubscribeOneWaitSuccess subscribe one user subject and wait success. Only used in multi-cluster or multiple connections to the same cluster
func (*ServerUserService[T1, TraceData, TP, US]) UserUnsubscribe ¶
func (s *ServerUserService[T1, TraceData, TP, US]) UserUnsubscribe(us US)
UserUnsubscribe unsubscribe user subject if subscribed.
type TaskRunMode ¶
type TaskRunMode int
const ( // TaskPool all task run in task_group.TaskPool TaskPool TaskRunMode = 0 // OneTaskOneGo one task one goroutine OneTaskOneGo TaskRunMode = 1 )