nxkit
Version:
This is a collection of tools, independent of any other libraries
55 lines (54 loc) • 1.72 kB
TypeScript
/// <reference types="node" />
import { EventNoticer, Event } from '../event';
import { IBuffer } from '../buffer';
import * as net from 'net';
interface ExpectHandler {
(buffer: IBuffer): void;
}
/**
* @class PacketParser
*/
export declare class PacketParser {
private state;
private overflow;
private expectOffset;
private expectBuffer;
private expectHandler;
private currentMessage;
readonly onClose: EventNoticer<Event<any, object>>;
readonly onText: EventNoticer<Event<string, object>>;
readonly onData: EventNoticer<Event<import("../buffer").InterfaceBuffer, object>>;
readonly onError: EventNoticer<Event<Error, object>>;
readonly onPing: EventNoticer<Event<any, object>>;
readonly onPong: EventNoticer<Event<any, object>>;
private opcodeHandlers;
private _expectData;
private _decode;
constructor();
add(data: IBuffer): void;
addToOverflow(data: IBuffer): void;
expect(what: string, length: number, handler: ExpectHandler): void;
processPacket(data: IBuffer): void;
endPacket(): void;
reset(): void;
unmask(mask: ArrayLike<number> | null, buf: IBuffer): import("../buffer").InterfaceBuffer;
/**
* Handles an error
*
* @api private
*/
error(reason: any): this;
}
export interface SendCallback {
(err?: Error): void;
}
export declare function sendDataPacket(socket: net.Socket, data: IBuffer | string, cb?: SendCallback): boolean;
/**
* @func sendPingPacket()
*/
export declare function sendPingPacket(socket: net.Socket, cb?: SendCallback): boolean;
/**
* @func sendPongPacket()
*/
export declare function sendPongPacket(socket: net.Socket, cb?: SendCallback): boolean;
export {};