Package com.couchbase.client.core
Class Timer
java.lang.Object
com.couchbase.client.core.Timer
@Internal public class Timer extends Object
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 Type Method Description static Timer
create(long maxNumRequestsInRetry)
Creates a newTimer
with default values.static Timer
createAndStart(long maxNumRequestsInRetry)
Creates and starts a timer with default values.long
outstandingForRetry()
Returns the number of requests currently outstanding for retry.void
register(Request<Response> request)
Registers the given request to be tracked with its timeout value.com.couchbase.client.core.deps.io.netty.util.Timeout
schedule(Runnable callback, Duration runAfter)
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.String
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.
-
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
public com.couchbase.client.core.deps.io.netty.util.Timeout schedule(Runnable callback, Duration runAfter)Schedule an arbitrary task for this timer. -
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
-