UNPKG

@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
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 {};