pagespeed-quest
Version:
A framework for efficient web front-end speed improvement
34 lines (33 loc) • 1.05 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { Transform, TransformCallback } from 'stream';
export declare class ThrottlingLog {
ms: number;
bytes: number;
}
export declare class Throttle {
flushIntervalMs: number;
limitBytes: number;
currentBytes: number;
interval?: ReturnType<typeof setInterval>;
logs: ThrottlingLog[];
constructor(limitBytes: number, flushIntervalMs?: number);
static fromMbps(mbps: number, flushIntervalMs?: number): Throttle;
computeCapacity(): {
consumed: number;
carryover: number;
};
start(): void;
stop(): void;
checkAndStack(bytes: number): boolean;
simpleReport(unitMs?: number): {
maxBytesPerUnit: number;
avgBytesPerUnit: number;
};
}
export declare class ThrottlingTransform extends Transform {
throttle: Throttle;
retryIntervalMs: number;
constructor(throttle: Throttle, retryIntervalMs: number);
_transform(chunk: string | Buffer, _: string, done: TransformCallback): void;
}