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
class RateLimiterConfig
Configuration for a RateLimiter.
Link copied to clipboard
class RateLimiterRegistry
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.