Files
rr3-apk/decompiled/sources/com/amazonaws/retry/PredefinedRetryPolicies.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

62 lines
3.0 KiB
Java

package com.amazonaws.retry;
import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.retry.RetryPolicy;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.util.Random;
/* loaded from: classes.dex */
public abstract class PredefinedRetryPolicies {
public static final RetryPolicy NO_RETRY_POLICY = new RetryPolicy(RetryPolicy.RetryCondition.NO_RETRY_CONDITION, RetryPolicy.BackoffStrategy.NO_DELAY, 0, false);
public static final RetryPolicy.RetryCondition DEFAULT_RETRY_CONDITION = new SDKDefaultRetryCondition();
public static final RetryPolicy.BackoffStrategy DEFAULT_BACKOFF_STRATEGY = new SDKDefaultBackoffStrategy(100, 20000);
public static final RetryPolicy DEFAULT = getDefaultRetryPolicy();
public static final RetryPolicy DYNAMODB_DEFAULT = getDynamoDBDefaultRetryPolicy();
public static RetryPolicy getDefaultRetryPolicy() {
return new RetryPolicy(DEFAULT_RETRY_CONDITION, DEFAULT_BACKOFF_STRATEGY, 3, true);
}
public static RetryPolicy getDynamoDBDefaultRetryPolicy() {
return new RetryPolicy(DEFAULT_RETRY_CONDITION, DEFAULT_BACKOFF_STRATEGY, 10, true);
}
public static class SDKDefaultRetryCondition implements RetryPolicy.RetryCondition {
@Override // com.amazonaws.retry.RetryPolicy.RetryCondition
public boolean shouldRetry(AmazonWebServiceRequest amazonWebServiceRequest, AmazonClientException amazonClientException, int i) {
if ((amazonClientException.getCause() instanceof IOException) && !(amazonClientException.getCause() instanceof InterruptedIOException)) {
return true;
}
if (!(amazonClientException instanceof AmazonServiceException)) {
return false;
}
AmazonServiceException amazonServiceException = (AmazonServiceException) amazonClientException;
int statusCode = amazonServiceException.getStatusCode();
return statusCode == 500 || statusCode == 503 || statusCode == 502 || statusCode == 504 || RetryUtils.isThrottlingException(amazonServiceException) || RetryUtils.isClockSkewError(amazonServiceException);
}
}
public static final class SDKDefaultBackoffStrategy implements RetryPolicy.BackoffStrategy {
public final int baseDelayMs;
public final int maxDelayMs;
public final Random random;
public SDKDefaultBackoffStrategy(int i, int i2) {
this.random = new Random();
this.baseDelayMs = i;
this.maxDelayMs = i2;
}
@Override // com.amazonaws.retry.RetryPolicy.BackoffStrategy
public final long delayBeforeNextRetry(AmazonWebServiceRequest amazonWebServiceRequest, AmazonClientException amazonClientException, int i) {
if (i <= 0) {
return 0L;
}
return this.random.nextInt(Math.min(this.maxDelayMs, (1 << i) * this.baseDelayMs));
}
}
}