public abstract class RateLimiter
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.ConcurrentHashMap<java.lang.String,IBucket> |
buckets |
protected boolean |
isShutdown |
protected java.util.concurrent.ExecutorService |
pool |
protected Requester |
requester |
protected java.util.concurrent.ConcurrentLinkedQueue<IBucket> |
submittedBuckets |
Modifier | Constructor and Description |
---|---|
protected |
RateLimiter(Requester requester,
int poolSize) |
Modifier and Type | Method and Description |
---|---|
java.util.List<IBucket> |
getQueuedRouteBuckets() |
abstract java.lang.Long |
getRateLimit(Route.CompiledRoute route) |
java.util.List<IBucket> |
getRouteBuckets() |
protected abstract java.lang.Long |
handleResponse(Route.CompiledRoute route,
com.mashape.unirest.http.HttpResponse<java.lang.String> response) |
boolean |
isRateLimited(Route.CompiledRoute route) |
protected abstract void |
queueRequest(Request request) |
protected void |
shutdown() |
protected java.util.List<IBucket> |
shutdownNow() |
protected final Requester requester
protected final java.util.concurrent.ExecutorService pool
protected volatile boolean isShutdown
protected volatile java.util.concurrent.ConcurrentHashMap<java.lang.String,IBucket> buckets
protected volatile java.util.concurrent.ConcurrentLinkedQueue<IBucket> submittedBuckets
protected RateLimiter(Requester requester, int poolSize)
public abstract java.lang.Long getRateLimit(Route.CompiledRoute route)
protected abstract void queueRequest(Request request)
protected abstract java.lang.Long handleResponse(Route.CompiledRoute route, com.mashape.unirest.http.HttpResponse<java.lang.String> response)
public boolean isRateLimited(Route.CompiledRoute route)
public java.util.List<IBucket> getRouteBuckets()
public java.util.List<IBucket> getQueuedRouteBuckets()
protected void shutdown()
protected java.util.List<IBucket> shutdownNow()