Package io.datarouter.ratelimiter
Class CacheRateLimiterConfig
java.lang.Object
io.datarouter.ratelimiter.CacheRateLimiterConfig
public class CacheRateLimiterConfig
extends java.lang.Object
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCacheRateLimiterConfig.CacheRateLimiterConfigBuilder -
Field Summary
Fields Modifier and Type Field Description intbucketIntervalMsjava.lang.IntegerbucketTimeIntervaljava.time.Durationexpirationjava.lang.LongmaxAverageRequestsjava.lang.LongmaxSpikeRequestsjava.lang.Stringnamejava.lang.IntegernumIntervalsjava.util.concurrent.TimeUnitunit -
Constructor Summary
Constructors Constructor Description CacheRateLimiterConfig(java.lang.String name, java.lang.Long maxAverageRequests, java.lang.Long maxSpikeRequests, java.lang.Integer numIntervals, java.lang.Integer bucketTimeInterval, java.util.concurrent.TimeUnit unit) -
Method Summary
-
Field Details
-
name
public final java.lang.String name -
maxAverageRequests
public final java.lang.Long maxAverageRequests -
maxSpikeRequests
public final java.lang.Long maxSpikeRequests -
numIntervals
public final java.lang.Integer numIntervals -
bucketTimeInterval
public final java.lang.Integer bucketTimeInterval -
bucketIntervalMs
public final int bucketIntervalMs -
unit
public final java.util.concurrent.TimeUnit unit -
expiration
public final java.time.Duration expiration
-
-
Constructor Details
-
CacheRateLimiterConfig
public CacheRateLimiterConfig(java.lang.String name, java.lang.Long maxAverageRequests, java.lang.Long maxSpikeRequests, java.lang.Integer numIntervals, java.lang.Integer bucketTimeInterval, java.util.concurrent.TimeUnit unit)- Parameters:
name- name of the ratelimitermaxAverageRequests- threshold average number of requestsmaxSpikeRequests- threshold max number of requestsnumIntervals- number of bucketsbucketTimeInterval- length of each bucketunit- time unit of bucketTimeInterval
-