@colyseus/uwebsockets-transport
Version:
<div align="center"> <a href="https://github.com/colyseus/colyseus"> <img src="media/logo.svg?raw=true" width="60%" height="300" /> </a> <br> <br> <a href="https://npmjs.com/package/colyseus"> <img src="https://img.shields.io/npm/dm/coly
28 lines (27 loc) • 1.24 kB
TypeScript
import { ParsedUrlQuery } from 'querystring';
import uWebSockets from 'uWebSockets.js';
import { Application } from "uwebsockets-express";
import { AuthContext, Transport } from '@colyseus/core';
import { uWebSocketWrapper } from './uWebSocketClient.js';
export type TransportOptions = Omit<uWebSockets.WebSocketBehavior<any>, "upgrade" | "open" | "pong" | "close" | "message">;
type RawWebSocketClient = uWebSockets.WebSocket<any> & {
url: string;
searchParams: ParsedUrlQuery;
context: AuthContext;
};
export declare class uWebSocketsTransport extends Transport {
app: uWebSockets.TemplatedApp;
expressApp: Application;
protected clients: RawWebSocketClient[];
protected clientWrappers: WeakMap<RawWebSocketClient, uWebSocketWrapper>;
private _listeningSocket;
private _originalRawSend;
constructor(options?: TransportOptions, appOptions?: uWebSockets.AppOptions);
listen(port: number, hostname?: string, backlog?: number, listeningListener?: () => void): this;
shutdown(): void;
simulateLatency(milliseconds: number): void;
protected onConnection(rawClient: RawWebSocketClient): Promise<void>;
protected registerMatchMakeRequest(): void;
private readJson;
}
export {};