34 lines
723 B
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
|
|
}
|