public class RequestExecutor
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
RequestExecutor.Request |
static interface |
RequestExecutor.RequestPermit |
static class |
RequestExecutor.ScheduledRequest
A
RequestExecutor.Request implementation that reschedules itself after execution, attempting to run periodically
at the provided rate, until cancelled. |
static class |
RequestExecutor.TimedRequest
A
RequestExecutor.Request implementation that times the its execution using a provided Timer . |
Constructor and Description |
---|
RequestExecutor(int concurrency,
java.util.concurrent.ScheduledExecutorService executor,
java.lang.String metricContext,
com.codahale.metrics.MetricRegistry metricRegistry) |
RequestExecutor(java.util.concurrent.ScheduledExecutorService executor,
java.lang.String metricContext,
com.codahale.metrics.MetricRegistry metricRegistry) |
Modifier and Type | Method and Description |
---|---|
void |
execute(RequestExecutor.Request request)
Execute a
RequestExecutor.Request as soon as possible, given the concurrency restraints. |
com.codahale.metrics.Timer |
getAggregateTimer() |
void |
schedule(RequestExecutor.Request request,
long delayNanos)
Scheduled a
RequestExecutor.Request to be executed after a given delay. |
public RequestExecutor(java.util.concurrent.ScheduledExecutorService executor, java.lang.String metricContext, com.codahale.metrics.MetricRegistry metricRegistry)
public RequestExecutor(int concurrency, java.util.concurrent.ScheduledExecutorService executor, java.lang.String metricContext, com.codahale.metrics.MetricRegistry metricRegistry)
public void execute(RequestExecutor.Request request)
RequestExecutor.Request
as soon as possible, given the concurrency restraints.request
- the RequestExecutor.Request
to execute.public void schedule(RequestExecutor.Request request, long delayNanos)
RequestExecutor.Request
to be executed after a given delay.
When the delay expires, execution will take place subject to the concurrency restraints.
request
- the RequestExecutor.Request
to execute.delayNanos
- the delay, in nanoseconds, before execution.public com.codahale.metrics.Timer getAggregateTimer()