diff --git a/wshandler/wshandler.go b/wshandler/wshandler.go index 950da01..ccf6fe1 100644 --- a/wshandler/wshandler.go +++ b/wshandler/wshandler.go @@ -156,17 +156,12 @@ func init() { gob.Register([]any{}) } -func NewWebsocketHandler(consumer session.Consumer) (*WebsocketHandler, error) { +func NewWebsocketHandler(consumer session.Consumer, redisClient *redis.Client) (*WebsocketHandler, error) { var config wsConfig if err := gocommon.LoadConfig(&config); err != nil { return nil, err } - redisSync, err := gocommon.NewRedisClient(config.Redis["wshandler"]) - if err != nil { - return nil, err - } - sendchan := make(chan send_msg_queue_elem, 1000) go func() { sender := func(elem *send_msg_queue_elem) { @@ -185,9 +180,9 @@ func NewWebsocketHandler(consumer session.Consumer) (*WebsocketHandler, error) { }() return &WebsocketHandler{ - redisMsgChanName: fmt.Sprintf("_wsh_msg_%d", redisSync.Options().DB), - redisCmdChanName: fmt.Sprintf("_wsh_cmd_%d", redisSync.Options().DB), - redisSync: redisSync, + redisMsgChanName: fmt.Sprintf("_wsh_msg_%d", redisClient.Options().DB), + redisCmdChanName: fmt.Sprintf("_wsh_cmd_%d", redisClient.Options().DB), + redisSync: redisClient, connInOutChan: make(chan *wsconn), deliveryChan: make(chan any, 1000), localDeliveryChan: make(chan any, 100),