token-bucket-calculator
Version:
Token Bucket Calculator
25 lines • 1 kB
TypeScript
export interface TokenBucketCalculatorOption {
bucketSize: number;
fillIntervalUnit?: 'ms' | 'sec' | 'min' | 'hr' | 'day';
fillAmount: number;
startBucketFirstFill?: boolean;
}
export declare class TokenBucketCalculator {
bucketSize: number;
fillIntervalMSec: number;
fillAmount: number;
content: number;
lastFillMSec: number;
isRunningRemovingTokensTask: Promise<number> | undefined;
constructor({ bucketSize, fillAmount, fillIntervalUnit, startBucketFirstFill, }: TokenBucketCalculatorOption);
private calcFillIntervalMSec;
changeFillAmount(fillAmount: number, fillIntervalUnit?: 'ms' | 'sec' | 'min' | 'hr' | 'day'): void;
removeTokens(tokens: number): Promise<number>;
removeTokensTask(tokens: number): Promise<number>;
calcTimeForRemovingTokens(tokens: number): number;
private fillTokens;
private setLastFillMSec;
private addContent;
private subContent;
}
//# sourceMappingURL=index.d.ts.map