Package com.couchbase.client.core
Class Timer
java.lang.Object
com.couchbase.client.core.Timer
The
Timer
acts as the main timing facility for various operations, for
example to track and time out requests if they run for too long or for rescheduling needs.- Since:
- 2.0.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic Timer
create
(long maxNumRequestsInRetry, TimerConfig timerConfig) Creates a newTimer
with default values.static Timer
createAndStart
(long maxNumRequestsInRetry) Creates and starts a timer with default values.static Timer
createAndStart
(long maxNumRequestsInRetry, TimerConfig timerConfig) long
Returns the number of requests currently outstanding for retry.void
Registers the given request to be tracked with its timeout value.com.couchbase.client.core.deps.io.netty.util.Timeout
com.couchbase.client.core.deps.io.netty.util.Timeout
Schedule an arbitrary task for this timer.void
scheduleForRetry
(Core core, Request<? extends Response> request, Duration runAfter) Schedules a request to be retried after the given duration.void
start()
Starts this timer.void
stop()
Stops this timer.toString()
-
Method Details
-
create
Creates a newTimer
with default values.- Parameters:
maxNumRequestsInRetry
- the maximum number of requests in retry allowed before backpressure hits.- Returns:
- the created timer.
-
createAndStart
Creates and starts a timer with default values.- Parameters:
maxNumRequestsInRetry
- the maximum number of requests in retry allowed before backpressure hits.- Returns:
- the created and started timer.
-
createAndStart
-
scheduleForRetry
Schedules a request to be retried after the given duration.Note that this operation performs backpressure handling for the SDK by doing account towards a maximum outstanding request limit!
- Parameters:
core
- the core to eventually retry against.request
- the request to retry.runAfter
- the duration after which to retry.
-
schedule
-
schedule
public com.couchbase.client.core.deps.io.netty.util.Timeout schedule(Runnable callback, Duration runAfter, boolean respectMax) Schedule an arbitrary task for this timer.- Parameters:
respectMax
- whether maxNumRequestsInRetry should be respected. Will return null if the operation was not scheduled for this reason.
-
register
Registers the given request to be tracked with its timeout value.- Parameters:
request
- the request to track.
-
start
public void start()Starts this timer. -
stop
public void stop()Stops this timer. -
outstandingForRetry
public long outstandingForRetry()Returns the number of requests currently outstanding for retry. -
toString
-