Package io.datarouter.ratelimiter
Class NamedRateLimiter
java.lang.Object
io.datarouter.ratelimiter.NamedRateLimiter
- Direct Known Subclasses:
BaseNamedMemcachedRateLimiter
public abstract class NamedRateLimiter
extends java.lang.Object
-
Constructor Summary
Constructors Constructor Description NamedRateLimiter(java.lang.String name) -
Method Summary
Modifier and Type Method Description booleanallowed()booleanallowed(java.lang.String dynamicKey)booleanallowedForIp(java.lang.String dynamicKey, javax.servlet.http.HttpServletRequest request)booleanallowedForIp(javax.servlet.http.HttpServletRequest request)protected abstract io.datarouter.util.tuple.Pair<java.lang.Boolean,java.util.Calendar>internalAllow(java.lang.String key, boolean increment)booleanpeek(java.lang.String key)
-
Constructor Details
-
NamedRateLimiter
public NamedRateLimiter(java.lang.String name)
-
-
Method Details
-
peek
public final boolean peek(java.lang.String key) -
allowed
public final boolean allowed() -
allowed
public final boolean allowed(java.lang.String dynamicKey) -
allowedForIp
public final boolean allowedForIp(javax.servlet.http.HttpServletRequest request) -
allowedForIp
public final boolean allowedForIp(java.lang.String dynamicKey, javax.servlet.http.HttpServletRequest request) -
internalAllow
protected abstract io.datarouter.util.tuple.Pair<java.lang.Boolean,java.util.Calendar> internalAllow(java.lang.String key, boolean increment)
-