@fails-components/webtransport
Version:
A component to add webtransport support (server and client) to node.js using libquiche
72 lines • 2.25 kB
TypeScript
export class StreamIdManager {
/**
* @param {{delegate: StreamIdClient
* unidirectional: boolean,
* isclient: boolean,
* maxAllowedOutgoingStreams: number,
* maxAllowedIncomingStreams: number}} arg
*/
constructor({ delegate, unidirectional, isclient, maxAllowedOutgoingStreams, maxAllowedIncomingStreams }: {
delegate: StreamIdClient;
unidirectional: boolean;
isclient: boolean;
maxAllowedOutgoingStreams: number;
maxAllowedIncomingStreams: number;
});
delegate: import("../types").StreamIdClient;
unidirectional: boolean;
isclient: boolean;
outgoingMaxStreams: bigint;
nextOutgoingStreamId: bigint;
outgoingStreamCount: bigint;
incomingActualMaxStreams: bigint;
incomingAdvertisedMaxStreams: bigint;
incomingInitialMaxOpenStreams: bigint;
incomingStreamCount: bigint;
availableStreams: Set<any>;
largestPeerCreatedStreamId: bigint;
stopIncreasingIncomingMaxStreams: boolean;
/**
* @param {bigint} streamCount
*/
onStreamsBlockedFrame(streamCount: bigint): {
error: string;
success?: undefined;
} | {
success: boolean;
error?: undefined;
};
/**
* @param {bigint} maxOpenStreams
*/
maybeAllowNewOutgoingStreams(maxOpenStreams: bigint): boolean;
/**
* @param {bigint} maxOpenStreams
*/
setMaxOpenIncomingStreams(maxOpenStreams: bigint): void;
maybeSendMaxStreamsFrame(): void;
sendMaxStreamsFrame(): void;
sendMaxStreamsFrameInitial(): void;
/**
* @param {bigint} streamId
*/
onStreamClosed(streamId: bigint): void;
getNextOutgoingStreamId(): bigint;
canOpenNextOutgoingStream(): boolean;
isMaxStreamSet(): boolean;
/**
* @param {bigint} streamId
*/
maybeIncreaseLargestPeerStreamId(streamId: bigint): true | {
error: string;
};
/**
* @param {number} id
*/
isAvailableStream(id: number): boolean;
getFirstOutgoingStreamId(): bigint;
getFirstIncomingStreamId(): bigint;
get availableIncomingStreams(): bigint;
}
export type StreamIdClient = import('../types').StreamIdClient;
//# sourceMappingURL=streamidmanager.d.ts.map