@fails-components/webtransport
Version:
A component to add webtransport support (server and client) to node.js using libquiche
144 lines • 4.26 kB
TypeScript
export class Http2WebTransportStream {
/**
* @param {{streamid: bigint,
* unidirectional: boolean,
* incoming: boolean,
* capsuleParser: ParserBase
* sendWindowOffset: Number,
* receiveWindowOffset: Number,
* shouldAutoTuneReceiveWindow: boolean
* receiveWindowSizeLimit: Number,
* sessionFlowController: FlowController,
* streamIdManager: StreamIdManager}} args
* */
constructor({ streamid, unidirectional, incoming, capsuleParser, sendWindowOffset, receiveWindowOffset, shouldAutoTuneReceiveWindow, receiveWindowSizeLimit, sessionFlowController, streamIdManager }: {
streamid: bigint;
unidirectional: boolean;
incoming: boolean;
capsuleParser: ParserBase;
sendWindowOffset: number;
receiveWindowOffset: number;
shouldAutoTuneReceiveWindow: boolean;
receiveWindowSizeLimit: number;
sessionFlowController: FlowController;
streamIdManager: StreamIdManager;
});
/** @type {import('../stream').HttpWTStream} */
jsobj: import('../stream').HttpWTStream;
streamid: bigint;
/** @type {Array<ReadDataInt>} */
incomdata: Array<ReadDataInt>;
capsuleParser: ParserBase;
/** @type {Array<{buf?:Uint8Array,fin:boolean}>} */
outgochunks: {
buf?: Uint8Array | undefined;
fin: boolean;
}[];
flowController: FlowController;
sessionFlowController: FlowController;
streamIdManager: import("./streamidmanager.js").StreamIdManager;
final: boolean;
finalmessagesend: boolean;
stopReading_: boolean;
drainReads_: boolean;
recvBytes: number;
outgoingClosed_: boolean;
incomingClosed_: boolean;
sendInitialParameters(): void;
/**
* @param {Object} obj
* @param {Uint8Array|undefined} obj.data
* @param {Boolean} obj.fin
*/
recvData({ data, fin }: {
data: Uint8Array | undefined;
fin: boolean;
}): void;
processRead(): void;
startReading(): void;
drainReads(): void;
stopReading(): void;
/**
* @param {'resetStream'|'stopSending'} type
*/
onStreamSignal(type: 'resetStream' | 'stopSending'): void;
closeIncoming(): void;
closeOutgoing(): void;
onClose(): void;
/**
* @param {Number} code
*/
stopSending(code: number): void;
onFin(): void;
/**
* @param {Number} code
*/
resetStream(code: number): void;
/**
* @param {Uint8Array} buf
*/
writeChunk(buf: Uint8Array): void;
hasPendingData(): boolean;
drainWrites(): void;
streamFinal(): void;
/**
*
* @param {{sendOrder: number, sendGroupId: bigint}} args
*/
updateSendOrderAndGroup({ sendOrder, sendGroupId }: {
sendOrder: number;
sendGroupId: bigint;
}): void;
/**
* @param {bigint} windowOffset
*/
sendWindowUpdate(windowOffset: bigint): void;
/**
* @param {bigint} windowOffset
*/
sendBlocked(windowOffset: bigint): void;
/**
* @param {bigint} pos
*/
reportBlocked(pos: bigint): void;
connected(): boolean;
/**
* @param {{ code: number, reason: string }} arg
*/
closeConnection({ code, reason }: {
code: number;
reason: string;
}): void;
smoothedRtt(): any;
}
/**
* WebTransport stream events
*/
export type WebTransportStreamEventHandler = import('../types').WebTransportStreamEventHandler;
/**
* WebTransport stream events
*/
export type StreamRecvSignalEvent = import('../types').StreamRecvSignalEvent;
/**
* WebTransport stream events
*/
export type StreamReadEvent = import('../types').StreamReadEvent;
/**
* WebTransport stream events
*/
export type StreamWriteEvent = import('../types').StreamWriteEvent;
/**
* WebTransport stream events
*/
export type StreamNetworkFinishEvent = import('../types').StreamNetworkFinishEvent;
/**
* WebTransport stream events
*/
export type ReadDataInt = import('../types').ReadDataInt;
/**
* WebTransport stream events
*/
export type StreamIdManager = import('./streamidmanager.js').StreamIdManager;
import { ParserBase } from "./parserbase.js";
import { FlowController } from "./flowcontroller.js";
//# sourceMappingURL=stream.d.ts.map