Package com.azure.core.http.policy
Interface RetryStrategy
- All Known Implementing Classes:
ExponentialBackoff,FixedDelay
public interface RetryStrategy
The interface for determining the retry strategy used in
RetryPolicy.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intHTTP response status code forToo Many Requests. -
Method Summary
Modifier and TypeMethodDescriptioncalculateRetryDelay(int retryAttempts) Computes the delay between each retry.intMax number of retry attempts to be make.default booleanshouldRetry(HttpResponse httpResponse) This method is consulted to determine if a retry attempt should be made for the givenHttpResponseif the retry attempts are less thangetMaxRetries().default booleanshouldRetryException(Throwable throwable) This method is consulted to determine if a retry attempt should be made for the givenThrowablepropagated when the request failed to send.
-
Field Details
-
HTTP_STATUS_TOO_MANY_REQUESTS
static final int HTTP_STATUS_TOO_MANY_REQUESTSHTTP response status code forToo Many Requests.- See Also:
-
-
Method Details
-
getMaxRetries
int getMaxRetries()Max number of retry attempts to be make.- Returns:
- The max number of retry attempts.
-
calculateRetryDelay
Computes the delay between each retry.- Parameters:
retryAttempts- The number of retry attempts completed so far.- Returns:
- The delay duration before the next retry.
-
shouldRetry
This method is consulted to determine if a retry attempt should be made for the givenHttpResponseif the retry attempts are less thangetMaxRetries().- Parameters:
httpResponse- The response from the previous attempt.- Returns:
- Whether a retry should be attempted.
-
shouldRetryException
This method is consulted to determine if a retry attempt should be made for the givenThrowablepropagated when the request failed to send.- Parameters:
throwable- TheThrowablethrown during the previous attempt.- Returns:
- Whether a retry should be attempted.
-