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 Timercreate(long maxNumRequestsInRetry)Creates a newTimerwith default values.static TimercreateAndStart(long maxNumRequestsInRetry)Creates and starts a timer with default values.longoutstandingForRetry()Returns the number of requests currently outstanding for retry.voidregister(Request<Response> request)Registers the given request to be tracked with its timeout value.com.couchbase.client.core.deps.io.netty.util.Timeoutschedule(Runnable callback, Duration runAfter)Schedule an arbitrary task for this timer.voidscheduleForRetry(Core core, Request<? extends Response> request, Duration runAfter)Schedules a request to be retried after the given duration.voidstart()Starts this timer.voidstop()Stops this timer.StringtoString()
-
Method Details
-
create
Creates a newTimerwith 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
-