Skip to content

RateLimiterStrategy

Defined in: src/window-rate-limiter.ts:394

Runs any RateLimiterAlgorithm as a strategy: weights, FIFO waiting up to queueTimeout, block, allow/deny, insurance, telemetry.

T

new RateLimiterStrategy<T>(algorithm, options, source): RateLimiterStrategy<T>

Defined in: src/window-rate-limiter.ts:408

RateLimiterAlgorithm

PermitRateLimiterOptions

StrategySource

RateLimiterStrategy<T>

get queued(): number

Defined in: src/window-rate-limiter.ts:426

Executions waiting for permits.

number

block(duration): void

Defined in: src/window-rate-limiter.ts:522

Duration

void


delete(): Promise<void>

Defined in: src/window-rate-limiter.ts:532

Fresh quota and no block.

Promise<void>


execute(next, context): Promise<Outcome<T, unknown>>

Defined in: src/window-rate-limiter.ts:430

Next<T>

ResilienceContext

Promise<Outcome<T, unknown>>

ResilienceStrategy.execute


penalty(points): Promise<void>

Defined in: src/window-rate-limiter.ts:513

number

Promise<void>


restore(snapshot): void

Defined in: src/window-rate-limiter.ts:504

Loads a snapshot(); time passed since it was taken counts (windows expire, tokens refill, blocks run out).

RateLimiterSnapshot

void


reward(points): Promise<void>

Defined in: src/window-rate-limiter.ts:517

number

Promise<void>


snapshot(): RateLimiterSnapshot

Defined in: src/window-rate-limiter.ts:496

The algorithm’s state and the block, JSON-serializable, for restore after a restart.

RateLimiterSnapshot


unblock(): void

Defined in: src/window-rate-limiter.ts:526

void