116 lines
2.2 KiB
Smali
116 lines
2.2 KiB
Smali
.class public Lcom/amazonaws/retry/PredefinedRetryPolicies$SDKDefaultRetryCondition;
|
|
.super Ljava/lang/Object;
|
|
.source "PredefinedRetryPolicies.java"
|
|
|
|
# interfaces
|
|
.implements Lcom/amazonaws/retry/RetryPolicy$RetryCondition;
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/EnclosingClass;
|
|
value = Lcom/amazonaws/retry/PredefinedRetryPolicies;
|
|
.end annotation
|
|
|
|
.annotation system Ldalvik/annotation/InnerClass;
|
|
accessFlags = 0x9
|
|
name = "SDKDefaultRetryCondition"
|
|
.end annotation
|
|
|
|
|
|
# direct methods
|
|
.method public constructor <init>()V
|
|
.locals 0
|
|
|
|
.line 1
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public shouldRetry(Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/AmazonClientException;I)Z
|
|
.locals 1
|
|
|
|
.line 1
|
|
invoke-virtual {p2}, Ljava/lang/RuntimeException;->getCause()Ljava/lang/Throwable;
|
|
|
|
move-result-object p1
|
|
|
|
instance-of p1, p1, Ljava/io/IOException;
|
|
|
|
const/4 p3, 0x1
|
|
|
|
if-eqz p1, :cond_0
|
|
|
|
.line 2
|
|
invoke-virtual {p2}, Ljava/lang/RuntimeException;->getCause()Ljava/lang/Throwable;
|
|
|
|
move-result-object p1
|
|
|
|
instance-of p1, p1, Ljava/io/InterruptedIOException;
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
return p3
|
|
|
|
.line 3
|
|
:cond_0
|
|
instance-of p1, p2, Lcom/amazonaws/AmazonServiceException;
|
|
|
|
if-eqz p1, :cond_4
|
|
|
|
.line 4
|
|
check-cast p2, Lcom/amazonaws/AmazonServiceException;
|
|
|
|
.line 5
|
|
invoke-virtual {p2}, Lcom/amazonaws/AmazonServiceException;->getStatusCode()I
|
|
|
|
move-result p1
|
|
|
|
const/16 v0, 0x1f4
|
|
|
|
if-eq p1, v0, :cond_3
|
|
|
|
const/16 v0, 0x1f7
|
|
|
|
if-eq p1, v0, :cond_3
|
|
|
|
const/16 v0, 0x1f6
|
|
|
|
if-eq p1, v0, :cond_3
|
|
|
|
const/16 v0, 0x1f8
|
|
|
|
if-ne p1, v0, :cond_1
|
|
|
|
goto :goto_0
|
|
|
|
.line 6
|
|
:cond_1
|
|
invoke-static {p2}, Lcom/amazonaws/retry/RetryUtils;->isThrottlingException(Lcom/amazonaws/AmazonServiceException;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_2
|
|
|
|
return p3
|
|
|
|
.line 7
|
|
:cond_2
|
|
invoke-static {p2}, Lcom/amazonaws/retry/RetryUtils;->isClockSkewError(Lcom/amazonaws/AmazonServiceException;)Z
|
|
|
|
move-result p1
|
|
|
|
if-eqz p1, :cond_4
|
|
|
|
:cond_3
|
|
:goto_0
|
|
return p3
|
|
|
|
:cond_4
|
|
const/4 p1, 0x0
|
|
|
|
return p1
|
|
.end method
|