UNPKG

@synet/realtime

Version:

Realtime Communication server/client implementations

34 lines (33 loc) 1.1 kB
import type { Logger } from "@synet/logger"; import type { RealtimeServer, RealtimeServerOptions, RealtimeServerStats, ServerEventType, RealtimeEvent, Topic } from "@synet/patterns/realtime/server"; /** * GUN-specific options */ export interface GunServerOptions { port?: number; host?: string; storagePath?: string; multicast?: boolean; peers?: string[]; axe?: boolean; checkInterval?: number; } export declare class GunRealtimeServer implements RealtimeServer { private options; private logger?; private httpServer?; private gun?; private clients; private subscriptions; private stats; private startTime; private eventHandlers; private topicSubscriptions; private checkIntervalId?; constructor(options?: RealtimeServerOptions<GunServerOptions>, logger?: Logger | undefined); start(): Promise<void>; stop(): Promise<void>; broadcast(topic: Topic, event: RealtimeEvent): Promise<void>; getStats(): RealtimeServerStats; on<T extends ServerEventType>(event: T, handler: (data: unknown) => void): void; }