interface Store

Methods

consume(string $key, AdmissionPolicy $policy)

Atomically consume capacity from an admission policy.

array
consumeMany(array $policies)

Consume policies together, returning decisions through the first denial.

block(string $key, int $durationMicroseconds)

Atomically extend a cooldown block.

inspect(string $key, AdmissionPolicy|Backoff|Cooldown $policy)

Inspect a policy without mutating its state.

recordFailure(string $key, Backoff $backoff)

Record a failure against a backoff policy.

bool
clear(string $key)

Clear the state for a physical limiter key.

Details

at line 19
LimitResult consume(string $key, AdmissionPolicy $policy)

Atomically consume capacity from an admission policy.

Parameters

string $key
AdmissionPolicy $policy

Return Value

LimitResult

at line 31
array consumeMany(array $policies)

Consume policies together, returning decisions through the first denial.

Repeated keys accumulate their costs. Atomic stores charge nothing on denial. Redis Cluster checks first, then consumes: a preflight denial charges nothing, but a consumption denial can leave earlier charges.

Parameters

array $policies

Return Value

array

at line 36
CooldownResult block(string $key, int $durationMicroseconds)

Atomically extend a cooldown block.

Parameters

string $key
int $durationMicroseconds

Return Value

CooldownResult

at line 43
LimitResult|BackoffResult|CooldownResult inspect(string $key, AdmissionPolicy|Backoff|Cooldown $policy)

Inspect a policy without mutating its state.

Parameters

string $key
AdmissionPolicy|Backoff|Cooldown $policy

Return Value

LimitResult|BackoffResult|CooldownResult

at line 48
BackoffResult recordFailure(string $key, Backoff $backoff)

Record a failure against a backoff policy.

Parameters

string $key
Backoff $backoff

Return Value

BackoffResult

at line 53
bool clear(string $key)

Clear the state for a physical limiter key.

Parameters

string $key

Return Value

bool