wahandler peer 파일 분리

This commit is contained in:
2023-12-18 23:22:49 +09:00
parent ef75de4f55
commit 43d3e8cbff
4 changed files with 178 additions and 53 deletions

View File

@ -86,7 +86,9 @@ type send_msg_queue_elem struct {
msg []byte
}
type websocketHandlerBase struct {
type WebsocketHandler struct {
WebsocketApiBroker
redisMsgChanName string
redisCmdChanName string
redisSync *redis.Client
@ -99,16 +101,6 @@ type websocketHandlerBase struct {
sessionConsumer session.Consumer
}
type WebsocketHandler struct {
WebsocketApiBroker
*websocketHandlerBase
}
type WebsocketPeerHandler struct {
WebsocketPeerApiBroker
*websocketHandlerBase
}
type wsConfig struct {
gocommon.StorageAddr `json:"storage"`
}
@ -124,7 +116,7 @@ func init() {
gob.Register([]any{})
}
func makeWebsocketHandlerBase(consumer session.Consumer, redisUrl string) (*websocketHandlerBase, error) {
func NewWebsocketHandler(consumer session.Consumer, redisUrl string) (*WebsocketHandler, error) {
var config wsConfig
if err := gocommon.LoadConfig(&config); err != nil {
return nil, err
@ -159,7 +151,7 @@ func makeWebsocketHandlerBase(consumer session.Consumer, redisUrl string) (*webs
}
}()
return &websocketHandlerBase{
return &WebsocketHandler{
redisMsgChanName: fmt.Sprintf("_wsh_msg_%d", redisSync.Options().DB),
redisCmdChanName: fmt.Sprintf("_wsh_cmd_%d", redisSync.Options().DB),
redisSync: redisSync,
@ -171,28 +163,6 @@ func makeWebsocketHandlerBase(consumer session.Consumer, redisUrl string) (*webs
}, nil
}
func NewWebsocketPeerHandler(consumer session.Consumer, redisUrl string) (*WebsocketPeerHandler, error) {
base, err := makeWebsocketHandlerBase(consumer, redisUrl)
if err != nil {
return nil, err
}
return &WebsocketPeerHandler{
websocketHandlerBase: base,
}, nil
}
func NewWebsocketHandler(consumer session.Consumer, redisUrl string) (*WebsocketHandler, error) {
base, err := makeWebsocketHandlerBase(consumer, redisUrl)
if err != nil {
return nil, err
}
return &WebsocketHandler{
websocketHandlerBase: base,
}, nil
}
func (ws *WebsocketHandler) Start(ctx context.Context) {
ws.connWaitGroup.Add(1)
go ws.mainLoop(ctx)