Files
service-gateway/app/login_queue.go

34 lines
723 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"
"sync"
)
// ModuleLoginQueue 登录队列模块
type ModuleLoginQueue struct {
module.DefaultModule
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(ready *sync.WaitGroup) error {
m.login.Start(runtime.NumCPU())
ready.Done()
return nil
}
func (m *ModuleLoginQueue) Stop() error {
m.login.Stop()
return nil
}