Files
service-gateway/app/login_queue.go

35 lines
729 B
Go

package app
import (
"git.hlsq.asia/mmorpg/service-common/module"
"git.hlsq.asia/mmorpg/service-gateway/internal/global"
"git.hlsq.asia/mmorpg/service-gateway/internal/handler/ws_handler/login"
"runtime"
)
// ModuleLoginQueue 登录队列模块
type ModuleLoginQueue struct {
login *login.Login
queueUp *login.QueueUp
}
func (m *ModuleLoginQueue) Init() error {
m.login = login.NewLoginQueue(global.MaxQueueUpSize)
m.queueUp = login.NewQueueUp(global.MaxQueueUpSize)
return nil
}
func (m *ModuleLoginQueue) Start() error {
m.login.Start(runtime.NumCPU())
return nil
}
func (m *ModuleLoginQueue) Stop() error {
m.login.Stop()
return nil
}
func (m *ModuleLoginQueue) Bind(_ ...any) module.Module {
return m
}