UNPKG

@mos-connection/connector

Version:
107 lines 3.29 kB
import { EventEmitter } from 'eventemitter3'; import { SocketConnectionEvent } from './socketConnection'; import { MosModel } from '@mos-connection/helper'; import { HandedOverQueue } from './NCSServerConnection'; import { ParsedMosMessage } from './mosMessageParser'; export type CallBackFunction = (data: { error: Error | string; } | { reply: ParsedMosMessage; }) => void; export interface QueueMessage { time: number; msg: MosModel.MosMessage; } export interface MosSocketClientEvents { [SocketConnectionEvent.CONNECTED]: () => void; [SocketConnectionEvent.DISCONNECTED]: () => void; [SocketConnectionEvent.DISPOSED]: () => void; [SocketConnectionEvent.ALIVE]: () => void; error: (error: Error) => void; warning: (warning: string) => void; rawMessage: (...args: any[]) => void; } export declare class MosSocketClient extends EventEmitter<MosSocketClientEvents> { private _host; private _port; private _autoReconnect; private _reconnectDelay; private _reconnectAttempts; private _debug; private _strict; private _description; private _client; private _shouldBeConnected; private _connected; private _lastConnectionAttempt; private _reconnectAttempt; private _connectionAttemptTimer; private _commandTimeout; private _queueCallback; private _lingeringCallback; private _queueMessages; private _sentMessage; private _sentMessageTimeout?; private _lingeringMessage; private _timedOutCommands; private processQueueTimeout?; private queueCleanupTimeout?; private _disposed; private messageParser; /** */ constructor(host: string, port: number, description: string, timeout: number, debug: boolean, strict: boolean); /** */ set autoReconnect(autoReconnect: boolean); /** */ set autoReconnectInterval(autoReconnectInterval: number); /** */ set autoReconnectAttempts(autoReconnectAttempts: number); /** */ connect(): void; get isConnected(): boolean; /** */ disconnect(): void; queueCommand(message: MosModel.MosMessage, cb: CallBackFunction, time?: number): void; processQueue(): void; /** * Returns a queue of messages to be executed by a different connection. * Will exclude hearbeats from the returned queue. The heartbeats must stay inside * the internal queue because they are needed for the connection lifecycle. */ handOverQueue(): HandedOverQueue; /** */ get host(): string; /** */ get port(): number; /** */ dispose(): void; /** * convenience wrapper to expose all logging calls to parent object */ log(...args: any[]): void; setDebug(debug: boolean): void; /** */ private set connected(value); /** */ private get connected(); private _sendReply; /** */ private executeCommand; /** */ private _autoReconnectionAttempt; /** */ private _clearConnectionAttemptTimer; /** */ private _onConnected; /** */ private _onData; private _handleMessage; private _getMessageId; /** */ private _onError; /** */ private _onClose; private _triggerQueueCleanup; private debugTrace; } //# sourceMappingURL=mosSocketClient.d.ts.map