shardy
Version:
Framework for online games and applications on Node.js
31 lines (30 loc) • 854 B
TypeScript
import { BlockData, BlockType } from './Block';
import { DisconnectReason } from './Commander';
import { Logger } from './Logger';
import { Connection } from './Connection';
export declare enum ProtocolState {
Start = 0,
Handshake = 1,
Work = 2,
Closed = 3
}
export declare class Protocol {
private connection;
private log;
onBlock: (block: BlockData) => void;
onDisconnect: () => void;
private transport;
private state;
constructor(connection: Connection, log: Logger);
dispatch(type: BlockType, body?: Buffer): void;
send(body: Buffer): void;
heartbeat(): void;
handshake(body: Buffer): void;
acknowledge(body: Buffer): void;
kick(reason: DisconnectReason): void;
disconnect(): void;
onClose(): void;
private onData;
private catchBlockForState;
destroy(): void;
}