UNPKG

@fails-components/webtransport

Version:

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

150 lines 4.63 kB
/** * @param{Number|bigint} int * @returns {Number} */ export function lengthVarInt(int: number | bigint): number; export class ParserBase { static PADDING: number; static WT_RESET_STREAM: number; static WT_STOP_SENDING: number; static WT_STREAM_WOFIN: number; static WT_STREAM_WFIN: number; static WT_MAX_DATA: number; static WT_MAX_STREAM_DATA: number; static WT_MAX_STREAMS_BIDI: number; static WT_MAX_STREAMS_UNIDI: number; static WT_DATA_BLOCKED: number; static WT_STREAM_DATA_BLOCKED: number; static WT_STREAMS_BLOCKED_UNIDI: number; static WT_STREAMS_BLOCKED_BIDI: number; static WT_CLOSE_SESSION: number; static WT_DRAIN_SESSION: number; static DATAGRAM: number; /** * @param {import('../types').ParserInit} arg */ constructor({ nativesession, isclient, initialStreamSendWindowOffsetBidi, initialStreamSendWindowOffsetUnidi, initialStreamReceiveWindowOffset, streamShouldAutoTuneReceiveWindow, streamReceiveWindowSizeLimit }: import('../types').ParserInit); session: any; isclient: boolean; /** @type {boolean} */ blocked: boolean; initialStreamSendWindowOffsetUnidi: number; initialStreamSendWindowOffsetBidi: number; initialStreamReceiveWindowOffset: number; streamShouldAutoTuneReceiveWindow: boolean; streamReceiveWindowSizeLimit: number; /** @type {Map<bigint,Http2WebTransportStream>} */ wtstreams: Map<bigint, Http2WebTransportStream>; scheduler: PriorityScheduler; /** * @abstract * @param {Buffer|Uint8Array} data */ parseData(data: Buffer | Uint8Array): void; /** * @abstract * @param{{type: Number, headerVints: Array<Number|bigint>, payload: Uint8Array|undefined, end?: () => void}} bs */ writeCapsule({ type, headerVints, payload, end }: { type: number; headerVints: Array<number | bigint>; payload: Uint8Array | undefined; end?: () => void; }): void; /** * @abstract * @return{boolean} */ initialParametersMandatory(): boolean; /** * @param{{code: Number, reason: string}}arg */ sendClose({ code, reason }: { code: number; reason: string; }): void; /** * @param {bigint} streamid * @param {{sendOrder: bigint,sendGroupId: bigint}} priority */ newStream(streamid: bigint, priority: { sendOrder: bigint; sendGroupId: bigint; }): Http2WebTransportStream | undefined; scheduleDrainWrites(): void; _scheduledDrainWriteCall: Promise<void> | undefined; drainWrites(): void; /** * @param {bigint|undefined} val */ onMaxData(val: bigint | undefined): void; /** * @param {bigint} streamid * @param {bigint} offset */ onMaxStreamData(streamid: bigint, offset: bigint): void; /** * @param {bigint|undefined} maxOpenStreams */ onMaxStreamUniDi(maxOpenStreams: bigint | undefined): void; /** * @param {bigint|undefined} maxOpenStreams */ onMaxStreamBiDi(maxOpenStreams: bigint | undefined): void; /** * @param {bigint|undefined} val */ onDataBlocked(val: bigint | undefined): void; /** * @param {bigint} streamid * @param {bigint} offset */ onStreamDataBlocked(streamid: bigint, offset: bigint): void; /** * @param {bigint|undefined} maxstreams */ onStreamsBlockedBidi(maxstreams: bigint | undefined): void; /** * @param {bigint|undefined} maxstreams */ onStreamsBlockedUnidi(maxstreams: bigint | undefined): void; /** * @param {{code: number, reason: string}} opts */ onCloseWebTransportSession({ code, reason }: { code: number; reason: string; }): void; onDrain(): void; /** * * @param {bigint} streamid */ shouldYieldStream(streamid: bigint): boolean; /** * * @param {bigint} streamid */ scheduleDrainWriteStream(streamid: bigint): void; /** * * @param {bigint} streamid */ removeStream(streamid: bigint): void; /** * * @param {bigint} streamid * @param {{sendOrder: bigint, sendGroupId: bigint}} arg2 */ streamUpdateSendOrderAndGroup(streamid: bigint, { sendOrder, sendGroupId }: { sendOrder: bigint; sendGroupId: bigint; }): void; /** * @param {number} code */ closeHttp2Stream(code: number): void; } import { Http2WebTransportStream } from "./stream.js"; import { PriorityScheduler } from "./priorityscheduler.js"; //# sourceMappingURL=parserbase.d.ts.map