Documentation / @super-line/server / SocketServer
Interface: SocketServer<C, A>
Defined in: index.ts:235
A running super-line server, returned by createSocketServer.
Type Parameters
C
C extends Contract
A
A extends AuthResult<C>
Properties
cluster
readonlycluster:ClusterView
Defined in: index.ts:241
Asynchronous, cluster-wide introspection backed by the adapter's presence directory.
local
readonlylocal:LocalView
Defined in: index.ts:239
Synchronous, node-local introspection (connections, rooms, topics on this process).
nodeId
readonlynodeId:string
Defined in: index.ts:237
This node's stable id (unique per server process).
Methods
close()
close():
Promise<void>
Defined in: index.ts:263
Returns
Promise<void>
emitServer()
emitServer<
E>(event,data):void
Defined in: index.ts:257
Broadcast a typed event to all OTHER server nodes (at-most-once, excludes self).
Type Parameters
E
E extends string | number | symbol
Parameters
event
E
data
ServerEmit<ServerEvents<C>[E]>
Returns
void
forRole()
forRole<
R>(role):RoleLens<C,R>
Defined in: index.ts:255
Lens for role-scoped sends, e.g. forRole('user').publish('feed', data).
Type Parameters
R
R extends string
Parameters
role
R
Returns
RoleLens<C, R>
implement()
implement(
handlers):SocketServer<C,A>
Defined in: index.ts:249
Register handlers for shared + per-role requests (chainable).
Parameters
handlers
Handlers<C, A>
Returns
SocketServer<C, A>
isOnline()
isOnline(
userId):Promise<boolean>
Defined in: index.ts:243
Whether a user (by identify key) has at least one live connection anywhere.
Parameters
userId
string
Returns
Promise<boolean>
onServer()
onServer<
E>(event,handler): () =>void
Defined in: index.ts:259
Listen for inter-server events from other nodes. Returns an unsubscribe fn.
Type Parameters
E
E extends string | number | symbol
Parameters
event
E
handler
(data) => void
Returns
() => void
publish()
publish<
T>(topic,data):void
Defined in: index.ts:253
Publish a SHARED topic to all subscribers (server-only publish).
Type Parameters
T
T extends string | number | symbol
Parameters
topic
T
data
EmitData<TopicsOf<StcOf<C["shared"]>>[T]>
Returns
void
room()
room(
name):Room<C>
Defined in: index.ts:251
Mixed-role connection group; broadcast() sends a shared contract event to members.
Parameters
name
string
Returns
Room<C>
toConn()
toConn(
id):ConnTarget<C>
Defined in: index.ts:245
Target a single connection by id, on whatever node holds it (cross-node emit/close).
Parameters
id
string
Returns
ConnTarget<C>
toUser()
toUser(
userId):UserTarget<C>
Defined in: index.ts:247
Target all of a user's connections (by identify key) across nodes (emit/disconnect).
Parameters
userId
string
Returns
UserTarget<C>