UNPKG

lisk-framework

Version:

Lisk blockchain application platform

34 lines (33 loc) 1.09 kB
import * as WebSocket from 'ws'; import { Logger } from '../../logger'; import { NotificationRequest } from '../jsonrpc'; interface WebSocketWithTracking extends WebSocket { isAlive?: boolean; id: string; } export type WSMessageHandler = (socket: WebSocketWithTracking, message: string) => void; export declare class WSServer { server: WebSocket.Server; private _pingTimer; private _logger; private readonly _port; private readonly _host?; private readonly _path; private readonly _subscriptions; private readonly _accessControlAllowOrigin; constructor(options: { port: number; host?: string; path: string; accessControlAllowOrigin?: string; }); start(logger: Logger, messageHandler: WSMessageHandler, httpServer?: WebSocket.ServerOptions['server']): WebSocket.Server; stop(): void; broadcast(message: NotificationRequest): void; private _handleConnection; private _handleHeartbeat; private _setUpPing; private _handleSubscription; private _handleUnsubscription; } export {};