Package com.google.api.gax.retrying
Interface ResultRetryAlgorithmWithContext<ResponseT>
- Type Parameters:
ResponseT- response type
- All Superinterfaces:
ResultRetryAlgorithm<ResponseT>
- All Known Implementing Classes:
BasicResultRetryAlgorithm
A result retry algorithm is responsible for the following operations (based on the response
returned by the previous attempt or on the thrown exception):
- Accepting a task for retry so another attempt will be made.
- Canceling retrying process so the related
Futurewill be canceled. - Creating
TimedAttemptSettingsfor each subsequent retry attempt.
RetryingContext that can contain specific
RetrySettings and retryable codes that should be used to determine the retry behavior.
Implementations of this interface must be thread-safe.
-
Method Summary
Modifier and TypeMethodDescriptioncreateNextAttempt(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings) Creates a next attemptTimedAttemptSettings.booleanshouldRetry(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse) Returnstrueif another attempt should be made, orfalseotherwise.Methods inherited from interface com.google.api.gax.retrying.ResultRetryAlgorithm
createNextAttempt, shouldRetry
-
Method Details
-
createNextAttempt
TimedAttemptSettings createNextAttempt(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings) Creates a next attemptTimedAttemptSettings.- Parameters:
context- the retrying context of this invocation that can be used to determine the settings for the next attempt.previousThrowable- exception thrown by the previous attempt (null, if none)previousResponse- response returned by the previous attemptpreviousSettings- previous attempt settings
-
shouldRetry
boolean shouldRetry(RetryingContext context, Throwable previousThrowable, ResponseT previousResponse) throws CancellationException Returnstrueif another attempt should be made, orfalseotherwise.- Parameters:
context- the retrying context of this invocation that can be used to determine whether the call should be retried.previousThrowable- exception thrown by the previous attempt (null, if none)previousResponse- response returned by the previous attempt.- Throws:
CancellationException
-