@fails-components/webtransport
Version:
A component to add webtransport support (server and client) to node.js using libquiche
95 lines • 3.58 kB
TypeScript
/**
* @typedef {import('./session').HttpWTSession} HttpWTSession
* @typedef {import('./types').HttpClientInit} HttpClientInit
*
* Http3Client events
* @typedef {import('./types').HttpClientEventHandler} HttpClientEventHandler
* @typedef {import('./types').ClientConnectedEvent} ClientConnectedEvent
* @typedef {import('./types').ClientWebtransportSupportEvent} ClientWebtransportSupportEvent
* @typedef {import('./types').HttpWTSessionVisitorEvent} HttpWTSessionVisitorEvent
*/
/**
* @implements {HttpClientEventHandler}
*/
export class HttpClient implements HttpClientEventHandler {
/**
* @param {HttpClientInit} args
*/
constructor(args: HttpClientInit);
/** @type {HttpClientInit| undefined} */
args: HttpClientInit | undefined;
/** @type {{ resolve: (value?: any) => void, reject: (err?: Error) => void} | null | undefined} */
sessionProm: {
resolve: (value?: any) => void;
reject: (err?: Error) => void;
} | null | undefined;
/** @type {Promise<void> | undefined} */
sessionobj: Promise<void> | undefined;
/** @type {HttpWTSession | null | undefined} */
sessionobjint: HttpWTSession | null | undefined;
closeHookSession(): void;
/** @type {{ resolve: (value?: any) => void, reject: (err?: Error) => void} | null | undefined} */
webtransportProm: {
resolve: (value?: any) => void;
reject: (err?: Error) => void;
} | null | undefined;
/** @type {{ resolve: (value?: any) => void, reject: (err?: Error) => void} | null | undefined} */
quicconnectedProm: {
resolve: (value?: any) => void;
reject: (err?: Error) => void;
} | null | undefined;
_quicConnectTimeout: number;
_webTransportConnectTimeout: number;
/**
* @param {Object} args
* @param {boolean} args.createTransport
* @param {string} args.path
*/
handleConnection({ createTransport, path }: {
createTransport: boolean;
path: string;
}): Promise<void>;
quicconnected: Promise<any> | undefined;
webtransport: Promise<any> | undefined;
/**
* @param {HttpWTSession} sessionobj
* @param {string} path
* @returns
*/
createWTSession(sessionobj: HttpWTSession, path: string): Promise<void | undefined>;
stopped: boolean | undefined;
/**
* @param {import('./types').SessionCloseEvent} args
*/
onClientError(args: import('./types').SessionCloseEvent): void;
/**
* @param {ClientConnectedEvent} args
*/
onClientConnected(args: ClientConnectedEvent): void;
transportIntSwitchToReliable: any;
/**
* @param {ClientWebtransportSupportEvent} args
*/
onClientWebTransportSupport(args: ClientWebtransportSupportEvent): void;
/**
* @param {HttpWTSessionVisitorEvent} args
*/
onHttpWTSessionVisitor(args: HttpWTSessionVisitorEvent): void;
/**
* @param{{path: string}} [args]
**/
createTransportInt(args?: {
path: string;
} | undefined): void;
transportInt: any;
}
export type HttpWTSession = import('./session').HttpWTSession;
/**
* Http3Client events
*/
export type HttpClientInit = import('./types').HttpClientInit;
export type HttpClientEventHandler = import('./types').HttpClientEventHandler;
export type ClientConnectedEvent = import('./types').ClientConnectedEvent;
export type ClientWebtransportSupportEvent = import('./types').ClientWebtransportSupportEvent;
export type HttpWTSessionVisitorEvent = import('./types').HttpWTSessionVisitorEvent;
//# sourceMappingURL=client.d.ts.map