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
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>