Package com.rale4j.sb.core
Class LeakyBucketRateLimiter
java.lang.Object
com.rale4j.sb.core.LeakyBucketRateLimiter
- All Implemented Interfaces:
RateLimitStrategy
@Component("leakyBucket")
public class LeakyBucketRateLimiter
extends Object
implements RateLimitStrategy
Rate limiter implementation using the Leaky Bucket algorithm.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
allowRequest
(String key, int limit, int duration) Allows or denies a request based on the rate limit.
-
Constructor Details
-
LeakyBucketRateLimiter
public LeakyBucketRateLimiter()
-
-
Method Details
-
allowRequest
Allows or denies a request based on the rate limit.- Specified by:
allowRequest
in interfaceRateLimitStrategy
- Parameters:
key
- the key to identify the rate limit bucketlimit
- the maximum number of requests allowedduration
- the duration in seconds for the rate limit- Returns:
- true if the request is allowed, false otherwise
-