@dxfeed/dxlink-websocket-client
Version:
dxLink WebSocket Client allows to connect the remote dxLink WebSocket endpoint
38 lines (37 loc) • 1.99 kB
TypeScript
import { type DXLinkChannel, DXLinkChannelState, type DXLinkChannelMessageListener, type DXLinkChannelStateChangeListener, type DXLinkErrorListener, type DXLinkChannelMessage, type DXLinkError } from '@dxfeed/dxlink-core';
import { type DXLinkWebSocketClientConfig } from './config';
import { type ChannelPayloadMessage, type DXLinkWebSocketMessage } from './messages';
/**
* A DXLink channel implementation.
* @internal
*/
export declare class DXLinkWebSocketChannel implements DXLinkChannel {
readonly id: number;
readonly service: string;
readonly parameters: Record<string, unknown>;
private readonly sendMessage;
private status;
private readonly messageListeners;
private readonly statusListeners;
private readonly errorListeners;
private logger;
constructor(id: number, service: string, parameters: Record<string, unknown>, sendMessage: (message: DXLinkWebSocketMessage) => void, config: DXLinkWebSocketClientConfig);
send: ({ type, ...payload }: DXLinkChannelMessage) => void;
addMessageListener: (listener: DXLinkChannelMessageListener) => Set<DXLinkChannelMessageListener>;
removeMessageListener: (listener: DXLinkChannelMessageListener) => boolean;
getState: () => DXLinkChannelState;
addStateChangeListener: (listener: DXLinkChannelStateChangeListener) => Set<DXLinkChannelStateChangeListener>;
removeStateChangeListener: (listener: DXLinkChannelStateChangeListener) => boolean;
addErrorListener: (listener: DXLinkErrorListener) => Set<DXLinkErrorListener>;
removeErrorListener: (listener: DXLinkErrorListener) => boolean;
error: ({ type, message }: DXLinkError) => void;
close: () => void;
request: () => void;
processPayloadMessage: (message: ChannelPayloadMessage) => void;
processStatusOpened: () => void;
processStatusRequested: () => void;
processStatusClosed: () => void;
processError: (error: DXLinkError) => void;
private setStatus;
private clear;
}