alexandroid/decompiled/jadx/sources/com/amazonaws/retry/PredefinedRetryPolicies.java
KaKi87 a47fad5135 📦 Add decompiled Alexa 2.2.730155.0 (jadx, apktool, Hermes strings)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 00:04:16 +01:00

76 lines
3.9 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;
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
/* loaded from: classes20.dex */
public class PredefinedRetryPolicies {
private static final int BASE_DELAY_IN_MILLISECONDS = 100;
public static final int DEFAULT_MAX_ERROR_RETRY = 3;
public static final int DYNAMODB_DEFAULT_MAX_ERROR_RETRY = 10;
private static final int MAX_BACKOFF_IN_MILLISECONDS = 20000;
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();
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
public static final class SDKDefaultBackoffStrategy implements RetryPolicy.BackoffStrategy {
private final int baseDelayMs;
private final int maxDelayMs;
private final Random random;
private 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));
}
}
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
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 RetryPolicy getDefaultRetryPolicy() {
return new RetryPolicy(DEFAULT_RETRY_CONDITION, DEFAULT_BACKOFF_STRATEGY, 3, true);
}
public static RetryPolicy getDefaultRetryPolicyWithCustomMaxRetries(int i) {
return new RetryPolicy(DEFAULT_RETRY_CONDITION, DEFAULT_BACKOFF_STRATEGY, i, false);
}
public static RetryPolicy getDynamoDBDefaultRetryPolicy() {
return new RetryPolicy(DEFAULT_RETRY_CONDITION, DEFAULT_BACKOFF_STRATEGY, 10, true);
}
public static RetryPolicy getDynamoDBDefaultRetryPolicyWithCustomMaxRetries(int i) {
return new RetryPolicy(DEFAULT_RETRY_CONDITION, DEFAULT_BACKOFF_STRATEGY, i, false);
}
}