UNPKG

@fails-components/webtransport

Version:

A component to add webtransport support (server and client) to node.js using libquiche

83 lines 3.85 kB
/** @type {WeakMap<WebTransportBase, import('./session.js').HttpWTSession>} */ /** * @typedef {import('./dom.js').WebTransportCloseInfo} WebTransportCloseInfo * @typedef {import('./dom.js').WebTransportBidirectionalStream} WebTransportBidirectionalStream * @typedef {import('./dom.js').WebTransportReceiveStream} WebTransportReceiveStream * @typedef {import('./dom.js').WebTransportSendStream} WebTransportSendStream * @typedef {import('./dom.js').WebTransportSendStreamOptions} WebTransportSendStreamOptions * @typedef {import('./session.js').HttpWTSession} HttpWTSession * @typedef { import('./session.js').HttpClient} HttpClient */ /** * @template T * @typedef {import('node:stream/web').ReadableStream<T>} ReadableStream<T> */ /** * @typedef {import('./dom.js').WebTransport} WebTransportInterface * * @implements {WebTransportInterface} */ export class WebTransportBase implements WebTransportInterface { /** * @param {string} url * @param {import('./dom.js').WebTransportOptions} [args] */ constructor(url: string, args?: import("./dom.js").WebTransportOptions | undefined); ready: Promise<void>; closed: Promise<import("./dom.js").WebTransportCloseInfo>; draining: Promise<undefined>; datagrams: import("./dom.js").WebTransportDatagramDuplexStream; incomingBidirectionalStreams: globalThis.ReadableStream<import("./dom.js").WebTransportBidirectionalStream>; incomingUnidirectionalStreams: globalThis.ReadableStream<import("./dom.js").WebTransportReceiveStream>; sessionint: import("./session.js").HttpWTSession; /** * @param{import('./types.js').HttpWebTransportInit} args * @return {{sessionint: HttpWTSession, client: HttpClient}} * @abstract */ createClient(args: import('./types.js').HttpWebTransportInit): { sessionint: HttpWTSession; client: HttpClient; }; /** * @param{{client: HttpClient, sessionint: HttpWTSession, ourl: URL}} args * @abstract */ startUpConnection({ client, sessionint, ourl }: { client: HttpClient; sessionint: HttpWTSession; ourl: URL; }): void; get reliability(): import("./dom.js").WebTransportReliabilityMode; get congestionControl(): import("./dom.js").WebTransportCongestionControl; get supportsReliableOnly(): boolean; getStats(): Promise<any>; /** * @param {WebTransportCloseInfo} [closeinfo] */ close(closeinfo?: import("./dom.js").WebTransportCloseInfo | undefined): void; /** * @param {WebTransportSendStreamOptions} [opts] * @returns {Promise<WebTransportBidirectionalStream>} */ createBidirectionalStream(opts?: import("./dom.js").WebTransportSendStreamOptions | undefined): Promise<WebTransportBidirectionalStream>; /** * @param {WebTransportSendStreamOptions} [opts] * @returns {Promise<WebTransportSendStream>} */ createUnidirectionalStream(opts?: import("./dom.js").WebTransportSendStreamOptions | undefined): Promise<WebTransportSendStream>; get protocol(): string | undefined; } export type WebTransportCloseInfo = import('./dom.js').WebTransportCloseInfo; export type WebTransportBidirectionalStream = import('./dom.js').WebTransportBidirectionalStream; export type WebTransportReceiveStream = import('./dom.js').WebTransportReceiveStream; export type WebTransportSendStream = import('./dom.js').WebTransportSendStream; export type WebTransportSendStreamOptions = import('./dom.js').WebTransportSendStreamOptions; export type HttpWTSession = import('./session.js').HttpWTSession; export type HttpClient = import('./session.js').HttpClient; /** * <T> */ export type ReadableStream<T> = import('node:stream/web').ReadableStream<T>; export type WebTransportInterface = import('./dom.js').WebTransport; //# sourceMappingURL=webtransportbase.d.ts.map