LogoRobo.js
Packages@robojs/mock

GatewayServer

Class: GatewayServer

Discord Gateway WebSocket server Handles WebSocket connections and sends Gateway protocol messages

Constructors

new GatewayServer()

new GatewayServer(): GatewayServer

Returns

GatewayServer

Accessors

connectionCount

Get Signature

get connectionCount(): number

Get number of active connections

Returns

number

Methods

clearControlFlags()

clearControlFlags(sessionId): void

Clear control flags for a session

Parameters

ParameterTypeDescription
sessionIdstringThe session ID

Returns

void


close()

close(): void

Close all connections and shut down the server

Returns

void


disconnectSession()

disconnectSession(
   sessionId, 
   closeCode, 
   reason?): number

Force disconnect all connections for a session with a specific close code Used for testing reconnection handling

Parameters

ParameterTypeDescription
sessionIdstringThe session ID to disconnect
closeCodenumberThe WebSocket close code to use
reason?stringOptional reason string

Returns

number

Number of connections disconnected


dispatchToSession()

dispatchToSession(
   sessionId, 
   event, 
   data, 
   guildId?): number

Dispatch an event to all connections in a session Handles intent filtering and sequence number management

Parameters

ParameterTypeDescription
sessionIdstringThe session to dispatch to
eventstringThe event name (e.g., "MESSAGE_CREATE")
dataunknownThe event payload data (without op/s/t wrapper)
guildId?stringOptional guild ID for intent filtering

Returns

number

Number of connections the event was sent to


getControlFlags()

getControlFlags(sessionId): undefined | ConnectionControlFlags

Get control flags for a session

Parameters

ParameterTypeDescription
sessionIdstringThe session ID

Returns

undefined | ConnectionControlFlags

The control flags, or undefined if none set


getHeartbeatInterval()

getHeartbeatInterval(): number

Get the current heartbeat interval

Returns

number


handleUpgrade()

handleUpgrade(
   req, 
   socket, 
   head): void

Handle HTTP upgrade request Called by @robojs/server when a WebSocket upgrade is requested

Parameters

ParameterType
reqIncomingMessage
socketDuplex
headBuffer<ArrayBufferLike>

Returns

void


invalidateSession()

invalidateSession(sessionId): boolean

Invalidate a session (clears session data for fresh READY on reconnect) Used for testing session invalidation handling

Parameters

ParameterTypeDescription
sessionIdstringThe session ID to invalidate

Returns

boolean

true if session was invalidated, false if not found


setHeartbeatInterval()

setHeartbeatInterval(interval): void

Set the heartbeat interval for new connections (in ms) Default is 41250ms (standard Discord interval) Use shorter intervals for testing (e.g., 1000ms)

Parameters

ParameterType
intervalnumber

Returns

void


setStopHeartbeatAcks()

setStopHeartbeatAcks(sessionId, stop): void

Set whether to stop sending heartbeat ACKs for a session Used for testing heartbeat timeout handling

Parameters

ParameterTypeDescription
sessionIdstringThe session ID to control
stopbooleanWhether to stop sending ACKs (true) or resume (false)

Returns

void

On this page