engine/websocket_fanout

Multi-node WebSocket room/app broadcast via Redis pub/sub. Engine-internal. Local sockets are delivered by websocket_hub; this module only bridges nodes. Config (under gingee.json → websockets), same redis shape as queue/scheduler: "websockets": { "fanout": { "driver": "none" | "redis" }, "redis": { "url" | host/port/..., "key_prefix": "gingee:ws:" } }
Description:
  • Multi-node WebSocket room/app broadcast via Redis pub/sub. Engine-internal. Local sockets are delivered by websocket_hub; this module only bridges nodes. Config (under gingee.json → websockets), same redis shape as queue/scheduler: "websockets": { "fanout": { "driver": "none" | "redis" }, "redis": { "url" | host/port/..., "key_prefix": "gingee:ws:" } }

Classes

RedisFanout

Methods

(inner) createRedisClient(redisCfg, logger) → {object}

Parameters:
Name Type Description
redisCfg object
logger object
Returns:
ioredis client
Type
object

(inner) decodePayload(encoding, body) → {string|Buffer}

Parameters:
Name Type Description
encoding string
body string
Returns:
Type
string | Buffer

(inner) encodePayload(data) → {Object}

Description:
  • Encode app payload for Redis JSON envelope.
Parameters:
Name Type Description
data *
Returns:
Type
Object

(inner) normalizeFanout(wsConfig) → {Object}

Parameters:
Name Type Description
wsConfig object | null | undefined full websockets section
Returns:
Type
Object

(inner) normalizeRedis(raw) → {object}

Parameters:
Name Type Description
raw object | null | undefined
Returns:
Type
object

(inner) waitReady(client) → {Promise.<void>}

Parameters:
Name Type Description
client object ioredis client
Returns:
Type
Promise.<void>