public abstract class com.microsoft.azure.storage.RetryPolicy implements com.microsoft.azure.storage.RetryPolicyFactory
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.microsoft.azure.storage.RetryPolicy
super_class: java.lang.Object
{
public static final int DEFAULT_CLIENT_BACKOFF;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 30000
public static final int DEFAULT_CLIENT_RETRY_COUNT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int DEFAULT_MAX_BACKOFF;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 90000
public static final int DEFAULT_MIN_BACKOFF;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3000
protected int deltaBackoffIntervalInMs;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int maximumAttempts;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.util.Date lastPrimaryAttempt;
descriptor: Ljava/util/Date;
flags: (0x0004) ACC_PROTECTED
protected java.util.Date lastSecondaryAttempt;
descriptor: Ljava/util/Date;
flags: (0x0004) ACC_PROTECTED
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.microsoft.azure.storage.RetryPolicy.lastPrimaryAttempt:Ljava/util/Date;
2: aload 0
aconst_null
putfield com.microsoft.azure.storage.RetryPolicy.lastSecondaryAttempt:Ljava/util/Date;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/microsoft/azure/storage/RetryPolicy;
public void <init>(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield com.microsoft.azure.storage.RetryPolicy.lastPrimaryAttempt:Ljava/util/Date;
2: aload 0
aconst_null
putfield com.microsoft.azure.storage.RetryPolicy.lastSecondaryAttempt:Ljava/util/Date;
3: aload 0
iload 1
putfield com.microsoft.azure.storage.RetryPolicy.deltaBackoffIntervalInMs:I
4: aload 0
iload 2
putfield com.microsoft.azure.storage.RetryPolicy.maximumAttempts:I
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/microsoft/azure/storage/RetryPolicy;
0 6 1 deltaBackoff I
0 6 2 maxAttempts I
MethodParameters:
Name Flags
deltaBackoff final
maxAttempts final
public abstract com.microsoft.azure.storage.RetryInfo evaluate(com.microsoft.azure.storage.RetryContext, com.microsoft.azure.storage.OperationContext);
descriptor: (Lcom/microsoft/azure/storage/RetryContext;Lcom/microsoft/azure/storage/OperationContext;)Lcom/microsoft/azure/storage/RetryInfo;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
retryContext
operationContext
protected boolean evaluateLastAttemptAndSecondaryNotFound(com.microsoft.azure.storage.RetryContext);
descriptor: (Lcom/microsoft/azure/storage/RetryContext;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc "retryContext"
aload 1
invokestatic com.microsoft.azure.storage.core.Utility.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 1
invokevirtual com.microsoft.azure.storage.RetryContext.getLastRequestResult:()Lcom/microsoft/azure/storage/RequestResult;
invokevirtual com.microsoft.azure.storage.RequestResult.getTargetLocation:()Lcom/microsoft/azure/storage/StorageLocation;
getstatic com.microsoft.azure.storage.StorageLocation.PRIMARY:Lcom/microsoft/azure/storage/StorageLocation;
if_acmpne 4
2: aload 0
aload 1
invokevirtual com.microsoft.azure.storage.RetryContext.getLastRequestResult:()Lcom/microsoft/azure/storage/RequestResult;
invokevirtual com.microsoft.azure.storage.RequestResult.getStopDate:()Ljava/util/Date;
putfield com.microsoft.azure.storage.RetryPolicy.lastPrimaryAttempt:Ljava/util/Date;
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.microsoft.azure.storage.RetryContext.getLastRequestResult:()Lcom/microsoft/azure/storage/RequestResult;
invokevirtual com.microsoft.azure.storage.RequestResult.getStopDate:()Ljava/util/Date;
putfield com.microsoft.azure.storage.RetryPolicy.lastSecondaryAttempt:Ljava/util/Date;
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.microsoft.azure.storage.RetryContext.getLastRequestResult:()Lcom/microsoft/azure/storage/RequestResult;
invokevirtual com.microsoft.azure.storage.RequestResult.getTargetLocation:()Lcom/microsoft/azure/storage/StorageLocation;
getstatic com.microsoft.azure.storage.StorageLocation.SECONDARY:Lcom/microsoft/azure/storage/StorageLocation;
if_acmpne 8
6: aload 1
invokevirtual com.microsoft.azure.storage.RetryContext.getLastRequestResult:()Lcom/microsoft/azure/storage/RequestResult;
invokevirtual com.microsoft.azure.storage.RequestResult.getStatusCode:()I
sipush 404
if_icmpne 8
7: iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/microsoft/azure/storage/RetryPolicy;
0 9 1 retryContext Lcom/microsoft/azure/storage/RetryContext;
MethodParameters:
Name Flags
retryContext
protected com.microsoft.azure.storage.RetryInfo evaluateRetryInfo(com.microsoft.azure.storage.RetryContext, boolean, long);
descriptor: (Lcom/microsoft/azure/storage/RetryContext;ZJ)Lcom/microsoft/azure/storage/RetryInfo;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.microsoft.azure.storage.RetryInfo
dup
aload 1
invokespecial com.microsoft.azure.storage.RetryInfo.<init>:(Lcom/microsoft/azure/storage/RetryContext;)V
astore 5
start local 5 1: iload 2
ifeq 4
aload 1
invokevirtual com.microsoft.azure.storage.RetryContext.getLocationMode:()Lcom/microsoft/azure/storage/LocationMode;
getstatic com.microsoft.azure.storage.LocationMode.SECONDARY_ONLY:Lcom/microsoft/azure/storage/LocationMode;
if_acmpeq 4
2: aload 5
getstatic com.microsoft.azure.storage.LocationMode.PRIMARY_ONLY:Lcom/microsoft/azure/storage/LocationMode;
invokevirtual com.microsoft.azure.storage.RetryInfo.setUpdatedLocationMode:(Lcom/microsoft/azure/storage/LocationMode;)V
3: aload 5
getstatic com.microsoft.azure.storage.StorageLocation.PRIMARY:Lcom/microsoft/azure/storage/StorageLocation;
invokevirtual com.microsoft.azure.storage.RetryInfo.setTargetLocation:(Lcom/microsoft/azure/storage/StorageLocation;)V
4: StackMap locals: com.microsoft.azure.storage.RetryInfo
StackMap stack:
aload 5
invokevirtual com.microsoft.azure.storage.RetryInfo.getTargetLocation:()Lcom/microsoft/azure/storage/StorageLocation;
getstatic com.microsoft.azure.storage.StorageLocation.PRIMARY:Lcom/microsoft/azure/storage/StorageLocation;
if_acmpne 5
aload 0
getfield com.microsoft.azure.storage.RetryPolicy.lastPrimaryAttempt:Ljava/util/Date;
goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield com.microsoft.azure.storage.RetryPolicy.lastSecondaryAttempt:Ljava/util/Date;
6: StackMap locals:
StackMap stack: java.util.Date
astore 6
start local 6 7: aload 6
ifnull 14
8: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.util.Date.getTime:()J
aload 6
invokevirtual java.util.Date.getTime:()J
lsub
lconst_0
lcmp
ifle 10
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.util.Date.getTime:()J
9: aload 6
invokevirtual java.util.Date.getTime:()J
lsub
goto 11
StackMap locals: java.util.Date
StackMap stack:
10: lconst_0
11: StackMap locals:
StackMap stack: long
lstore 7
start local 7 12: aload 5
lload 3
lload 7
lsub
l2i
invokevirtual com.microsoft.azure.storage.RetryInfo.setRetryInterval:(I)V
end local 7 13: goto 15
14: StackMap locals:
StackMap stack:
aload 5
iconst_0
invokevirtual com.microsoft.azure.storage.RetryInfo.setRetryInterval:(I)V
15: StackMap locals:
StackMap stack:
aload 5
areturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/microsoft/azure/storage/RetryPolicy;
0 16 1 retryContext Lcom/microsoft/azure/storage/RetryContext;
0 16 2 secondaryNotFound Z
0 16 3 retryInterval J
1 16 5 retryInfo Lcom/microsoft/azure/storage/RetryInfo;
7 16 6 lastAttemptTime Ljava/util/Date;
12 13 7 sinceLastAttempt J
MethodParameters:
Name Flags
retryContext final
secondaryNotFound final
retryInterval final
}
SourceFile: "RetryPolicy.java"