websocket-pro-client
Version:
High-performance WebSocket client with auto-reconnect, heartbeat and priority messaging
32 lines (31 loc) • 1.04 kB
TypeScript
import { EventEmitter } from "./EventEmitter";
import { WebSocketConfig } from "../types";
export declare class WebSocketClient extends EventEmitter {
private readonly url;
private readonly protocols;
private config;
private currentConfig;
private socket;
private reconnectAttempts;
private reconnectTimer?;
private readonly messageQueue;
private heartbeat?;
private readonly scheduler;
private isUpdatingConfig;
private configQueue;
constructor(url: string, protocols: string[], config: Required<WebSocketConfig>);
private initHeartbeat;
private connect;
private sendRaw;
private scheduleReconnect;
private flushMessageQueue;
send(data: any, priority?: number): Promise<void>;
close(code?: number, reason?: string): void;
reconnect(): void;
updateConfig(newConfig: WebSocketConfig): Promise<void>;
private applyConfigSafely;
private handleConfigChange;
private applyConfig;
private reInitHeartbeat;
private resetReconnectTimer;
}