Package com.couchbase.client.core
Class Timer
- java.lang.Object
-
- com.couchbase.client.core.Timer
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods 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 Detail
-
create
public static Timer create(long maxNumRequestsInRetry)
Creates a newTimer
with default values.- Parameters:
maxNumRequestsInRetry
- the maximum number of requests in retry allowed before backpressure hits.- Returns:
- the created timer.
-
createAndStart
public static Timer createAndStart(long maxNumRequestsInRetry)
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
public void scheduleForRetry(Core core, Request<? extends Response> request, Duration runAfter)
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
public void register(Request<Response> request)
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.
-
-