aqi/ws/manager.go
2024-06-18 18:09:39 +08:00

39 lines
619 B
Go

package ws
import (
"sync"
)
type ActionManager struct {
handlerMap map[string]HandlersChain
}
var msy sync.Once
var manager *ActionManager
func InitManager() *ActionManager {
msy.Do(func() {
manager = &ActionManager{
handlerMap: map[string]HandlersChain{},
}
//处理websocket
go NewHubc().Run()
})
return manager
}
func (m *ActionManager) Add(name string, router HandlersChain) {
m.handlerMap[name] = router
}
func (m *ActionManager) Has(name string) bool {
_, ok := m.handlerMap[name]
return ok
}
func (m *ActionManager) Handlers(name string) HandlersChain {
return m.handlerMap[name]
}