eiows
Version:
high-performance Node.js WebSocket engine for Socket.IO
57 lines (52 loc) • 2.08 kB
TypeScript
export type WebSocketMessage = string | Buffer;
export interface SendOptions {
compress?: boolean;
}
export interface SocketAddress {
remotePort: number;
remoteAddress: string;
remoteFamily: string;
}
export class WebSocket {
constructor(external: any, compressEnabled?: boolean, compressThreshold?: number);
external: any;
readonly CONNECTING: number;
readonly OPEN: number;
readonly CLOSING: number;
readonly CLOSED: number;
readyState: number;
compressEnabled: boolean;
compressThreshold: number;
internalOnMessage: (message: WebSocketMessage, isBinary: boolean) => void;
internalOnClose: (code: number, message: string) => void;
on(eventName: string, listener: (...args: any[]) => void): this;
once(eventName: string, listener: (...args: any[]) => void): this;
removeListener(eventName: string, listener: (...args: any[]) => void): this;
readonly _socket: SocketAddress;
send(message: string | Buffer | ArrayBuffer | ArrayBufferView, cb?: (err?: Error) => void): void;
send(message: string | Buffer | ArrayBuffer | ArrayBufferView, options: SendOptions | null, cb?: (err?: Error) => void): void;
close(code?: number, data?: string | Buffer | ArrayBuffer | ArrayBufferView): void;
}
export class Server {
constructor(options: any);
serverGroup: any;
_pendingUpgradeCallbacks: Array<(socket: WebSocket) => void>;
_noDelay: any;
_compressEnabled: boolean;
_compressThreshold: number;
handleUpgrade(request: any, socket: any, upgradeHead: any, callback: (socket: WebSocket) => void): any;
close(): void;
}
export const native: any;
export let compressThreshold: number;
export let PERMESSAGE_DEFLATE: number;
export let SERVER_NO_CONTEXT_TAKEOVER: number;
export let CLIENT_NO_CONTEXT_TAKEOVER: number;
export let SLIDING_DEFLATE_WINDOW: number;
export let CONNECTING: number;
export let OPCODE_TEXT: number;
export let OPCODE_BINARY: number;
export let OPCODE_PING: number;
export let OPEN: number;
export let CLOSING: number;
export let CLOSED: number;