Skip to main content

WebSocket Manager API Reference

The WebSocket Manager provides comprehensive WebSocket connection handling, pooling, and real-time communication features.

WebSocketManager

Main WebSocket connection management class.

Constructor

Parameters:
  • options (object): WebSocket configuration options
Options:
  • maxConnections (number): Maximum concurrent connections
  • connectionTimeout (number): Connection timeout
  • heartbeatInterval (number): Heartbeat interval
  • heartbeatTimeout (number): Heartbeat timeout
  • authentication (object): Authentication configuration
  • compression (object): Compression settings
  • protocols (array): Supported protocols

Methods

accept(request, options)

Accept a WebSocket connection.
Parameters:
  • request (Request): HTTP request with WebSocket upgrade
  • options (object, optional): Accept options
Returns: Promise resolving to socket, response, and context

getActiveConnections()

Get number of active connections.
Returns: Number of active connections

getUserSockets(userId)

Get sockets for a specific user.
Parameters:
  • userId (string): User identifier
Returns: Array of WebSocket connections

broadcast(message, filter)

Broadcast message to connections.
Parameters:
  • message (any): Message to broadcast
  • filter (function, optional): Filter function for connections

close(code, reason)

Close all connections.
Parameters:
  • code (number, optional): Close code
  • reason (string, optional): Close reason

WebSocketPool

Connection pooling for WebSocket connections.

Constructor

Parameters:
  • options (object): Pool configuration options
Options:
  • maxConnections (number): Maximum connections per pool
  • minConnections (number): Minimum connections to maintain
  • acquireTimeout (number): Timeout for acquiring connection
  • idleTimeout (number): Close idle connections after
  • validateOnCheckout (boolean): Validate connection before use

Methods

acquire()

Acquire connection from pool.
Returns: Promise resolving to WebSocket connection

release(connection)

Release connection back to pool.
Parameters:
  • connection (WebSocket): Connection to release

getActiveCount()

Get active connections count.
Returns: Number of active connections

getIdleCount()

Get idle connections count.
Returns: Number of idle connections

getHealthStatus()

Get backend health status.
Returns: Health status object

Broadcaster

Message broadcasting utilities.

Constructor

Methods

createChannel(name)

Create broadcast channel.
Parameters:
  • name (string): Channel name
Returns: Channel object

subscribe(socket, channel)

Subscribe socket to channel.
Parameters:
  • socket (WebSocket): WebSocket connection
  • channel (string): Channel name

unsubscribe(socket, channel)

Unsubscribe socket from channel.
Parameters:
  • socket (WebSocket): WebSocket connection
  • channel (string): Channel name

broadcast(channel, message, options)

Broadcast to channel.
Parameters:
  • channel (string): Channel name
  • message (any): Message to broadcast
  • options (object, optional): Broadcast options

Type Definitions

WebSocketManagerOptions

WebSocketPoolOptions

BroadcastOptions