UNPKG

@dxfeed/dxlink-websocket-client

Version:

dxLink WebSocket Client allows to connect the remote dxLink WebSocket endpoint

38 lines (37 loc) 1.99 kB
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; }