Skip to content

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?

optional presence?: 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()?

optional close(): 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>

Released under the MIT License.