Package-level declarations

Types

Link copied to clipboard
class DefaultRateLimiter(config: RateLimiterConfig, onRateLimited: suspend (Duration) -> Unit = {}, timeSource: TimeSource = SystemTimeSource) : RateLimiter

A default, thread-safe implementation of the RateLimiter interface that uses a token-bucket algorithm.

Link copied to clipboard
interface RateLimiter

An interface that provides rate-limiting functionality for executing operations.

Link copied to clipboard

Configuration for a RateLimiter.

Link copied to clipboard

Registry of named DefaultRateLimiter instances so multiple com.santimattius.resilient.ResilientPolicy configurations can share the same rate-limiter quota (e.g. one token bucket per downstream "payments", "db").

Link copied to clipboard

Exception thrown when a call is rejected by the rate limiter because the rate limit has been exceeded.