interface PeekableRequestRateLimiterInterface implementsRequestRateLimiterInterface

A request limiter which allows peeking ahead.

This is valuable to reduce the cache backend load in scenarios like a login when we only want to consume a token on login failure, and where the majority of requests will be successful and thus not need to consume a token.

This way we can peek ahead before allowing the request through, and only consume if the request failed (1 backend op). This is compared to always consuming and then resetting the limit if the request is successful (2 backend ops).

Methods

RateLimit
consume(Request$request)

No description

void
reset(Request$request)

No description

RateLimit
peek(Request$request)

No description

Details

RateLimit consume(Request$request)

Parameters

Request $request

Return Value

RateLimit

void reset(Request$request)

Parameters

Request $request

Return Value

void

RateLimit peek(Request$request)

Parameters

Request $request

Return Value

RateLimit