This commit is contained in:
+4
-4
@@ -36,7 +36,7 @@ func NewRedisRouter(server *Identity, redisUrl string, password string, db int,
|
||||
return &r
|
||||
}
|
||||
|
||||
func (r *RedisRouter) Route(msg *meowlib.ToServerMessage) (*meowlib.FromServerMessage, error) {
|
||||
func (r *RedisRouter) Route(ctx context.Context, msg *meowlib.ToServerMessage) (*meowlib.FromServerMessage, error) {
|
||||
var from_server *meowlib.FromServerMessage
|
||||
// update messages counter
|
||||
err := r.Client.Incr("statistics:messages:total").Err()
|
||||
@@ -60,7 +60,7 @@ func (r *RedisRouter) Route(msg *meowlib.ToServerMessage) (*meowlib.FromServerMe
|
||||
}
|
||||
if msg.Timeout > 0 && len(from_server.Chat) == 0 && from_server.Invitation == nil {
|
||||
logger.Info().Msg("long poll, subscribing for messages")
|
||||
from_server, err = r.subscribe(msg, int(msg.Timeout))
|
||||
from_server, err = r.subscribe(ctx, msg, int(msg.Timeout))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -205,7 +205,7 @@ func (r *RedisRouter) checkForMessage(msg *meowlib.ToServerMessage) (*meowlib.Fr
|
||||
}
|
||||
|
||||
|
||||
func (r *RedisRouter) subscribe(msg *meowlib.ToServerMessage, timeout int) (*meowlib.FromServerMessage, error) {
|
||||
func (r *RedisRouter) subscribe(reqCtx context.Context, msg *meowlib.ToServerMessage, timeout int) (*meowlib.FromServerMessage, error) {
|
||||
if err := r.Client.Incr("statistics:messages:messagessubscription").Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -237,7 +237,7 @@ func (r *RedisRouter) subscribe(msg *meowlib.ToServerMessage, timeout int) (*meo
|
||||
return fromServer, nil
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithTimeout(r.Context, time.Duration(timeout)*time.Second)
|
||||
ctx, cancel := context.WithTimeout(reqCtx, time.Duration(timeout)*time.Second)
|
||||
defer cancel()
|
||||
|
||||
ch := pubsub.Channel()
|
||||
|
||||
Reference in New Issue
Block a user