/** * @module @ddes/event-streaming */ /// import { Commit, EventWithMetadata, StorePoller, StorePollerParams } from '@ddes/core'; import debug from 'debug'; import { IncomingMessage } from 'http'; import { Server as WebSocketServer } from 'ws'; export default class EventStreamer { wss: WebSocketServer; protected debug: debug.IDebugger; protected chronologicalGroups: string[]; protected storePollers: StorePoller[]; constructor(params: StorePollerParams & { chronologicalGroups?: string[]; port: number; authenticateClient?: (info: { origin: string; req: IncomingMessage; secure: boolean; }) => boolean; }); close(): void; processCommit(commit: Commit): Promise; publishEventToSubscribers(eventWithMetadata: EventWithMetadata): void; protected onClientConnected(client: any): void; protected onClientDisconnected(): void; }