UNPKG

@kitten-science/kitten-analysts

Version:
30 lines 1.5 kB
import type { KGNetSavePersisted } from "@kitten-science/kitten-scientists/types/index.js"; import type { AnyFunction } from "@oliversalzburg/js-utils/core.js"; import { Histogram } from "prom-client"; import { type RawData, WebSocket, WebSocketServer } from "ws"; import type { KittenAnalystsMessage, KittenAnalystsMessageId } from "../KittenAnalysts.js"; interface RemoteConnection { ws: WebSocket; isAlive: boolean; } export declare class KittensGameRemote { #private; location: string; port: number; pendingRequests: Map<string, { resolve: AnyFunction; reject: AnyFunction; }>; printProtocolMessages: boolean; saveStore: Map<string, KGNetSavePersisted>; sockets: Set<RemoteConnection>; wss: WebSocketServer; ks_iterate_duration: Histogram<"guid" | "client_type" | "location" | "manager">; constructor(saveStore: Map<string, KGNetSavePersisted>, port?: number, printProtocolMessages?: boolean); closeAll(): void; handleMessage(socket: WebSocket, data: RawData): void; sendMessage<TMessage extends KittenAnalystsMessageId>(message: Omit<KittenAnalystsMessage<TMessage>, "client_type" | "location" | "guid">): Promise<Array<KittenAnalystsMessage<TMessage> | null>>; toHeadless<TMessage extends KittenAnalystsMessageId>(message: Omit<KittenAnalystsMessage<TMessage>, "client_type" | "location" | "guid">): Promise<KittenAnalystsMessage<TMessage> | null>; } export {}; //# sourceMappingURL=KittensGameRemote.d.ts.map