Package io.datarouter.ratelimiter
Class BaseCacheRateLimiter
java.lang.Object
io.datarouter.ratelimiter.BaseRateLimiter
io.datarouter.ratelimiter.BaseCacheRateLimiter
- Direct Known Subclasses:
BaseTallyCacheRateLimiter
public abstract class BaseCacheRateLimiter extends BaseRateLimiter
-
Constructor Summary
Constructors Constructor Description BaseCacheRateLimiter(CacheRateLimiterConfig config) -
Method Summary
Modifier and Type Method Description java.time.DurationgetBucketTimeInterval()CacheRateLimiterConfiggetConfig()protected java.lang.StringgetTimeStr(java.util.Calendar cal)protected abstract java.lang.Longincrement(java.lang.String key)protected io.datarouter.util.tuple.Pair<java.lang.Boolean,java.util.Calendar>internalAllow(java.lang.String key, boolean increment)protected abstract java.util.Map<java.lang.String,java.lang.Long>readCounts(java.util.List<java.lang.String> keys)Methods inherited from class io.datarouter.ratelimiter.BaseRateLimiter
allowed, allowed, allowedForIp, allowedForIp, getName, peek
-
Constructor Details
-
Method Details
-
increment
protected abstract java.lang.Long increment(java.lang.String key) -
readCounts
protected abstract java.util.Map<java.lang.String,java.lang.Long> readCounts(java.util.List<java.lang.String> keys) -
internalAllow
protected io.datarouter.util.tuple.Pair<java.lang.Boolean,java.util.Calendar> internalAllow(java.lang.String key, boolean increment)- Specified by:
internalAllowin classBaseRateLimiter
-
getTimeStr
protected java.lang.String getTimeStr(java.util.Calendar cal) -
getBucketTimeInterval
public java.time.Duration getBucketTimeInterval() -
getConfig
-