UNPKG

@fails-components/webtransport

Version:

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

70 lines 2.37 kB
export class FlowController { static kSessionFlowControlMultiplier: number; /** * @param {{tocontrol: FlowControlable * sendWindowOffset: number, * receiveWindowOffset: number, * shouldAutoTuneReceiveWindow: boolean * receiveWindowSizeLimit: number, * sessionFlowController?: FlowController}} arg */ constructor({ tocontrol, sendWindowOffset, receiveWindowOffset, receiveWindowSizeLimit, shouldAutoTuneReceiveWindow, sessionFlowController }: { tocontrol: FlowControlable; sendWindowOffset: number; receiveWindowOffset: number; shouldAutoTuneReceiveWindow: boolean; receiveWindowSizeLimit: number; sessionFlowController?: FlowController; }); tocontrol: import("../types").FlowControlable; bytesSent: bigint; sendWindowOffset: bigint; bytesConsumed: bigint; highestReceivedByteOffset: bigint; receiveWindowOffset: bigint; receiveWindowSize: bigint; receiveWindowSizeLimit: bigint; autoTuneReceiveWindow: boolean; sessionFlowController: FlowController | undefined; lastBlockedSendWindowOffset: bigint; prevWindowUpdateTime: number | undefined; /** * @param {Number} bytesConsumed */ addBytesConsumed(bytesConsumed: number): void; /** * @param {Number} increaseOffset */ updateHighestReceivedOffset(increaseOffset: number): boolean; /** * @param {Number} nbytesSent */ addBytesSent(nbytesSent: number): void; flowControlViolation(): boolean; maybeIncreaseMaxWindowSize(): void; increaseWindowSize(): void; windowUpdateThreshold(): bigint; maybeSendWindowUpdate(): void; /** * @param {bigint} availableWindow */ updateReceiveWindowOffsetAndSendWindowUpdate(availableWindow: bigint): void; maybeSendBlocked(): void; /** * @param {bigint} newSendWindowOffset */ updateSendWindowOffset(newSendWindowOffset: bigint): boolean; /** * @param {bigint} windowSize */ ensureWindowAtLeast(windowSize: bigint): void; isBlocked(): boolean; sendWindowSize(): bigint; /** * @param {bigint} size */ updateReceiveWindowSize(size: bigint): void; sendWindowUpdate(): void; } export type FlowControlable = import('../types').FlowControlable; //# sourceMappingURL=flowcontroller.d.ts.map