Package com.google.api.gax.retrying
Interface ResultRetryAlgorithmWithContext<ResponseT>
-
- Type Parameters:
ResponseT- response type
- All Superinterfaces:
ResultRetryAlgorithm<ResponseT>
- All Known Implementing Classes:
BasicResultRetryAlgorithm
public interface ResultRetryAlgorithmWithContext<ResponseT> extends ResultRetryAlgorithm<ResponseT>
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.
RetryingContextthat can contain specificRetrySettingsand retryable codes that should be used to determine the retry behavior.Implementations of this interface must be thread-safe.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TimedAttemptSettingscreateNextAttempt(RetryingContext context, java.lang.Throwable previousThrowable, ResponseT previousResponse, TimedAttemptSettings previousSettings)Creates a next attemptTimedAttemptSettings.booleanshouldRetry(RetryingContext context, java.lang.Throwable previousThrowable, ResponseT previousResponse)Returnstrueif another attempt should be made, orfalseotherwise.-
Methods inherited from interface com.google.api.gax.retrying.ResultRetryAlgorithm
createNextAttempt, shouldRetry
-
-
-
-
Method Detail
-
createNextAttempt
TimedAttemptSettings createNextAttempt(RetryingContext context, java.lang.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, java.lang.Throwable previousThrowable, ResponseT previousResponse) throws java.util.concurrent.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:
java.util.concurrent.CancellationException
-
-