UNPKG

shardy

Version:

Framework for online games and applications on Node.js

67 lines (66 loc) 2.23 kB
import { BlockData } from './Block'; import { PayloadData } from './Payload'; import { Logger } from './Logger'; import { Service, ServiceOptions } from './Service'; import { Connection } from './Connection'; export type Task = (commander: Commander, payload: PayloadData, service: Service) => void; export type ResponseType = (data: PayloadData) => void; export declare enum CommanderMode { Service = 0, Bot = 1 } export declare enum DisconnectReason { Normal = 0, Timeout = 1, Handshake = 2, ServerDown = 3, Unknown = 4 } export declare class Commander { private id; private connection; private service; private options; private log; private mode; onDisconnect: (reason: DisconnectReason) => void; onReady: () => void; cid: string; private counter; private pulse; private commands; private callbacks; private requests; private timeouts; private names; private timer; private protocol; private reason; constructor(id: string, connection: Connection, service: Service, options: ServiceOptions, log: Logger, mode?: CommanderMode); kick(reason: DisconnectReason): void; heartbeat(): void; handshake(data: Buffer): void; acknowledge(data: Buffer): void; disconnect(): void; command(command: string, data?: Buffer): void; fetch(request: string, data?: Buffer): Promise<PayloadData>; request(request: string, callback: ResponseType, data?: Buffer): number; response(request: PayloadData, data?: Buffer): void; error(request: PayloadData, error: string, data?: Buffer): void; clear(): void; cancelRequest(id: number): void; addCommand(command: string, callback: ResponseType): void; cancelCommand(command: string, callback?: ResponseType): void; addOnRequest(request: string, callback: ResponseType): void; cancelOnRequest(request: string): void; onCheckTimeout(): void; onBlock(block: BlockData): void; onPayload(payload: PayloadData): void; onClose(): void; onHandshake(block: BlockData): void; onAcknowledgement(block: BlockData): void; onHeartbeat(): void; onKick(block: BlockData): void; onPulse(): void; destroy(): void; }