Documentation / @super-line/core / Adapter
Interface: Adapter
Defined in: packages/core/src/adapter.ts:10
Cross-node fan-out seam. Rooms, topics, and serverToServer all compile down to channel pub/sub. A node subscribes to a channel only while it has a local member, and publishes always go through the adapter (the in-memory adapter loops back), so a node delivers to its local members on receipt — one code path, no double-send.
The default is a per-server in-memory adapter; use @super-line/adapter-redis to fan out across processes.
Properties
presence?
optionalpresence?:PresenceStore
Defined in: packages/core/src/adapter.ts:26
Optional cluster-wide presence directory. Powers srv.cluster.* and srv.isOnline. The in-memory and Redis adapters implement it; cluster queries throw a clear error on an adapter that doesn't.
Methods
close()?
optionalclose():void|Promise<void>
Defined in: packages/core/src/adapter.ts:20
Optional teardown (e.g. close Redis connections).
Returns
void | Promise<void>
onMessage()
onMessage(
handler):void
Defined in: packages/core/src/adapter.ts:18
Register the handler invoked for each message on a subscribed channel.
Parameters
handler
(channel, payload) => void
Returns
void
publish()
publish(
channel,payload):void|Promise<void>
Defined in: packages/core/src/adapter.ts:16
Publish an encoded payload to channel (delivered to every subscribed node).
Parameters
channel
string
payload
string | Uint8Array<ArrayBufferLike>
Returns
void | Promise<void>
subscribe()
subscribe(
channel):void|Promise<void>
Defined in: packages/core/src/adapter.ts:12
Start receiving messages published to channel.
Parameters
channel
string
Returns
void | Promise<void>
unsubscribe()
unsubscribe(
channel):void|Promise<void>
Defined in: packages/core/src/adapter.ts:14
Stop receiving messages for channel.
Parameters
channel
string
Returns
void | Promise<void>