UNPKG

fastify-uws

Version:

A performant HTTP and WebSocket server for Fastify with uWebSockets.

67 lines (66 loc) 2.41 kB
import { EventEmitter } from 'eventemitter3'; import { Duplex } from 'streamx'; import { default as uws } from 'uWebSockets.js'; import { Server } from './server'; export declare class WebSocket extends EventEmitter { namespace: Buffer; connection: uws.WebSocket<any>; static allocTopic(namespace: Buffer, topic: Buffer | string): string | Buffer; constructor(namespace: any, connection: any, topics?: {}); get uws(): boolean; allocTopic(topic: Buffer | string): any; send(message: uws.RecognizedString, isBinary: boolean, compress: boolean): number | undefined; publish(topic: Buffer | string, message: uws.RecognizedString, isBinary: boolean, compress: boolean): boolean | undefined; subscribe(topic: Buffer | string): boolean | undefined; unsubscribe(topic: Buffer | string): boolean | undefined; isSubscribed(topic: Buffer | string): boolean; getTopics(): string[]; close(): void; end(code: number, shortMessage: uws.RecognizedString): void; cork(cb: () => void): uws.WebSocket<any> | undefined; getBufferedAmount(): number; ping(message: uws.RecognizedString): number | undefined; } export declare class WebSocketStream extends Duplex { socket: WebSocket; constructor(socket: WebSocket, opts?: { compress?: boolean | false; highWaterMark?: number | 16384; mapReadable?: (packet: { data: any; isBinary: boolean; }) => any; byteLengthReadable?: (packet: { data: any; isBinary: boolean; }) => number | 1024; mapWritable?: (data: any) => { data: any; isBinary: boolean; compress: boolean; }; byteLengthWritable?: (packet: { data: any; isBinary: boolean; compress: boolean; }) => number | 1024; }); _open(cb: any): void; _close(cb: any): void; _onMessage(data: any, isBinary: any): void; _write(packet: any, cb: any): void; } type WSOptions = { closeOnBackpressureLimit?: boolean; compression?: number; idleTimeout?: number; maxBackpressure?: number; maxLifetime?: number; maxPayloadLength?: number; sendPingsAutomatically?: boolean; }; export declare class WebSocketServer extends EventEmitter { constructor(options?: WSOptions); addServer(server: Server): void; } export {};