API reference / @chanx-js/client / core / ControllerOptions
Interface: ControllerOptions<Address, ToClient>
Defined in: packages/client/src/core/controller.ts:28
Extends
ConnectOptions<Address>
Type Parameters
| Type Parameter |
|---|
Address extends string |
ToClient extends ChanxMessage |
Properties
buffer?
optional buffer?: BufferMode;Defined in: packages/client/src/core/controller.ts:33
closeDelay?
optional closeDelay?: number;Defined in: packages/client/src/core/socket.ts:59
Grace period before a socket with no remaining consumers is actually closed. React's StrictMode unmounts and immediately remounts in development, which would otherwise tear down and rebuild the connection on every mount.
Inherited from
enabled?
optional enabled?: boolean;Defined in: packages/client/src/core/controller.ts:32
heartbeat?
optional heartbeat?: false | HeartbeatOptions;Defined in: packages/client/src/core/socket.ts:50
Ping on an interval and reconnect if nothing comes back. Off unless enabled: chanx consumers only answer ping when they declare a handler for it, and one that does not replies with an error frame every interval. connect() turns it on for channels whose schema declares ping/pong.
Inherited from
maxQueuedFrames?
optional maxQueuedFrames?: number;Defined in: packages/client/src/core/socket.ts:52
Cap on frames buffered while the socket is not yet open.
Inherited from
ConnectOptions.maxQueuedFrames
on?
optional on?: HandlerMap<ToClient>;Defined in: packages/client/src/core/controller.ts:36
onError?
optional onError?: (error) => void;Defined in: packages/client/src/core/controller.ts:37
Parameters
| Parameter | Type |
|---|---|
error | ChanxErrorFrame |
Returns
void
only?
optional only?: readonly ToClient["action"][];Defined in: packages/client/src/core/controller.ts:35
Restrict which actions reach the buffer. Handlers in on are unaffected.
onReconnectStop?
optional onReconnectStop?: (attempts) => void;Defined in: packages/client/src/core/socket.ts:43
Parameters
| Parameter | Type |
|---|---|
attempts | number |
Returns
void
Inherited from
ConnectOptions.onReconnectStop
onUnhandled?
optional onUnhandled?: (message, envelope) => void;Defined in: packages/client/src/core/controller.ts:42
Messages nothing took: no on handler, and kept out of the buffer by only or buffer: 'none'.
Parameters
| Parameter | Type |
|---|---|
message | ToClient |
envelope | Envelope |
Returns
void
params?
optional params?: ParamsOf<Address>;Defined in: packages/client/src/core/client.ts:21
Inherited from
protocols?
optional protocols?: string | string[];Defined in: packages/client/src/core/socket.ts:30
Inherited from
queryParams?
optional queryParams?: Record<string, string | number>;Defined in: packages/client/src/core/socket.ts:31
Inherited from
reconnectAttempts?
optional reconnectAttempts?: number;Defined in: packages/client/src/core/socket.ts:39
Inherited from
ConnectOptions.reconnectAttempts
reconnectInterval?
optional reconnectInterval?: number | ((attempt) => number);Defined in: packages/client/src/core/socket.ts:41
Fixed delay, or a function of the attempt number for backoff.
Inherited from
ConnectOptions.reconnectInterval
retryOnError?
optional retryOnError?: boolean;Defined in: packages/client/src/core/socket.ts:42
Inherited from
share?
optional share?: boolean;Defined in: packages/client/src/core/socket.ts:37
Share one socket per resolved URL. connect() defaults it to true for channels that carry topics and false otherwise: topic frames are routed per consumer, but on a plain channel every consumer of a shared socket sees every reply.
Inherited from
shouldReconnect?
optional shouldReconnect?: (event) => boolean;Defined in: packages/client/src/core/socket.ts:38
Parameters
| Parameter | Type |
|---|---|
event | { code?: number; reason?: string; } |
event.code? | number |
event.reason? | string |
Returns
boolean
Inherited from
ConnectOptions.shouldReconnect
socketFactory?
optional socketFactory?: SocketFactory;Defined in: packages/client/src/core/socket.ts:53
Inherited from
validate?
optional validate?: ValidateConfig;Defined in: packages/client/src/core/client.ts:22