public class org.apache.http.impl.client.AIMDBackoffManager implements org.apache.http.client.BackoffManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.http.impl.client.AIMDBackoffManager
super_class: java.lang.Object
{
private final org.apache.http.pool.ConnPoolControl<org.apache.http.conn.routing.HttpRoute> connPerRoute;
descriptor: Lorg/apache/http/pool/ConnPoolControl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/apache/http/pool/ConnPoolControl<Lorg/apache/http/conn/routing/HttpRoute;>;
private final org.apache.http.impl.client.Clock clock;
descriptor: Lorg/apache/http/impl/client/Clock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<org.apache.http.conn.routing.HttpRoute, java.lang.Long> lastRouteProbes;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Long;>;
private final java.util.Map<org.apache.http.conn.routing.HttpRoute, java.lang.Long> lastRouteBackoffs;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Long;>;
private long coolDown;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private double backoffFactor;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private int cap;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.http.pool.ConnPoolControl<org.apache.http.conn.routing.HttpRoute>);
descriptor: (Lorg/apache/http/pool/ConnPoolControl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
new org.apache.http.impl.client.SystemClock
dup
invokespecial org.apache.http.impl.client.SystemClock.<init>:()V
invokespecial org.apache.http.impl.client.AIMDBackoffManager.<init>:(Lorg/apache/http/pool/ConnPoolControl;Lorg/apache/http/impl/client/Clock;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/http/impl/client/AIMDBackoffManager;
0 2 1 connPerRoute Lorg/apache/http/pool/ConnPoolControl<Lorg/apache/http/conn/routing/HttpRoute;>;
Signature: (Lorg/apache/http/pool/ConnPoolControl<Lorg/apache/http/conn/routing/HttpRoute;>;)V
MethodParameters:
Name Flags
connPerRoute final
void <init>(org.apache.http.pool.ConnPoolControl<org.apache.http.conn.routing.HttpRoute>, org.apache.http.impl.client.Clock);
descriptor: (Lorg/apache/http/pool/ConnPoolControl;Lorg/apache/http/impl/client/Clock;)V
flags: (0x0000)
Code:
stack=3, 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
ldc 5000
putfield org.apache.http.impl.client.AIMDBackoffManager.coolDown:J
2: aload 0
ldc 0.5
putfield org.apache.http.impl.client.AIMDBackoffManager.backoffFactor:D
3: aload 0
iconst_2
putfield org.apache.http.impl.client.AIMDBackoffManager.cap:I
4: aload 0
aload 2
putfield org.apache.http.impl.client.AIMDBackoffManager.clock:Lorg/apache/http/impl/client/Clock;
5: aload 0
aload 1
putfield org.apache.http.impl.client.AIMDBackoffManager.connPerRoute:Lorg/apache/http/pool/ConnPoolControl;
6: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.apache.http.impl.client.AIMDBackoffManager.lastRouteProbes:Ljava/util/Map;
7: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.apache.http.impl.client.AIMDBackoffManager.lastRouteBackoffs:Ljava/util/Map;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/http/impl/client/AIMDBackoffManager;
0 9 1 connPerRoute Lorg/apache/http/pool/ConnPoolControl<Lorg/apache/http/conn/routing/HttpRoute;>;
0 9 2 clock Lorg/apache/http/impl/client/Clock;
Signature: (Lorg/apache/http/pool/ConnPoolControl<Lorg/apache/http/conn/routing/HttpRoute;>;Lorg/apache/http/impl/client/Clock;)V
MethodParameters:
Name Flags
connPerRoute final
clock final
public void backOff(org.apache.http.conn.routing.HttpRoute);
descriptor: (Lorg/apache/http/conn/routing/HttpRoute;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.connPerRoute:Lorg/apache/http/pool/ConnPoolControl;
dup
astore 2
monitorenter
1: aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.connPerRoute:Lorg/apache/http/pool/ConnPoolControl;
aload 1
invokeinterface org.apache.http.pool.ConnPoolControl.getMaxPerRoute:(Ljava/lang/Object;)I
istore 3
start local 3 2: aload 0
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.lastRouteBackoffs:Ljava/util/Map;
aload 1
invokevirtual org.apache.http.impl.client.AIMDBackoffManager.getLastUpdate:(Ljava/util/Map;Lorg/apache/http/conn/routing/HttpRoute;)Ljava/lang/Long;
astore 4
start local 4 3: aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.clock:Lorg/apache/http/impl/client/Clock;
invokeinterface org.apache.http.impl.client.Clock.getCurrentTime:()J
lstore 5
start local 5 4: lload 5
aload 4
invokevirtual java.lang.Long.longValue:()J
lsub
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.coolDown:J
lcmp
ifge 7
5: aload 2
monitorexit
6: return
7: StackMap locals: org.apache.http.impl.client.AIMDBackoffManager org.apache.http.conn.routing.HttpRoute org.apache.http.pool.ConnPoolControl int java.lang.Long long
StackMap stack:
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.connPerRoute:Lorg/apache/http/pool/ConnPoolControl;
aload 1
aload 0
iload 3
invokevirtual org.apache.http.impl.client.AIMDBackoffManager.getBackedOffPoolSize:(I)I
invokeinterface org.apache.http.pool.ConnPoolControl.setMaxPerRoute:(Ljava/lang/Object;I)V
8: aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.lastRouteBackoffs:Ljava/util/Map;
aload 1
lload 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 4 end local 3 9: aload 2
monitorexit
10: goto 13
StackMap locals: org.apache.http.impl.client.AIMDBackoffManager org.apache.http.conn.routing.HttpRoute org.apache.http.pool.ConnPoolControl
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/http/impl/client/AIMDBackoffManager;
0 14 1 route Lorg/apache/http/conn/routing/HttpRoute;
2 9 3 curr I
3 9 4 lastUpdate Ljava/lang/Long;
4 9 5 now J
Exception table:
from to target type
1 6 11 any
7 10 11 any
11 12 11 any
MethodParameters:
Name Flags
route final
private int getBackedOffPoolSize(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
if_icmpgt 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.backoffFactor:D
iload 1
i2d
dmul
invokestatic java.lang.Math.floor:(D)D
d2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/http/impl/client/AIMDBackoffManager;
0 3 1 curr I
MethodParameters:
Name Flags
curr final
public void probe(org.apache.http.conn.routing.HttpRoute);
descriptor: (Lorg/apache/http/conn/routing/HttpRoute;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.connPerRoute:Lorg/apache/http/pool/ConnPoolControl;
dup
astore 2
monitorenter
1: aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.connPerRoute:Lorg/apache/http/pool/ConnPoolControl;
aload 1
invokeinterface org.apache.http.pool.ConnPoolControl.getMaxPerRoute:(Ljava/lang/Object;)I
istore 3
start local 3 2: iload 3
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.cap:I
if_icmplt 3
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.cap:I
goto 4
StackMap locals: org.apache.http.pool.ConnPoolControl int
StackMap stack:
3: iload 3
iconst_1
iadd
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: aload 0
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.lastRouteProbes:Ljava/util/Map;
aload 1
invokevirtual org.apache.http.impl.client.AIMDBackoffManager.getLastUpdate:(Ljava/util/Map;Lorg/apache/http/conn/routing/HttpRoute;)Ljava/lang/Long;
astore 5
start local 5 6: aload 0
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.lastRouteBackoffs:Ljava/util/Map;
aload 1
invokevirtual org.apache.http.impl.client.AIMDBackoffManager.getLastUpdate:(Ljava/util/Map;Lorg/apache/http/conn/routing/HttpRoute;)Ljava/lang/Long;
astore 6
start local 6 7: aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.clock:Lorg/apache/http/impl/client/Clock;
invokeinterface org.apache.http.impl.client.Clock.getCurrentTime:()J
lstore 7
start local 7 8: lload 7
aload 5
invokevirtual java.lang.Long.longValue:()J
lsub
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.coolDown:J
lcmp
iflt 9
lload 7
aload 6
invokevirtual java.lang.Long.longValue:()J
lsub
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.coolDown:J
lcmp
ifge 11
9: StackMap locals: org.apache.http.impl.client.AIMDBackoffManager org.apache.http.conn.routing.HttpRoute org.apache.http.pool.ConnPoolControl int int java.lang.Long java.lang.Long long
StackMap stack:
aload 2
monitorexit
10: return
11: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.connPerRoute:Lorg/apache/http/pool/ConnPoolControl;
aload 1
iload 4
invokeinterface org.apache.http.pool.ConnPoolControl.setMaxPerRoute:(Ljava/lang/Object;I)V
12: aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.lastRouteProbes:Ljava/util/Map;
aload 1
lload 7
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 6 end local 5 end local 4 end local 3 13: aload 2
monitorexit
14: goto 17
StackMap locals: org.apache.http.impl.client.AIMDBackoffManager org.apache.http.conn.routing.HttpRoute org.apache.http.pool.ConnPoolControl
StackMap stack: java.lang.Throwable
15: aload 2
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/http/impl/client/AIMDBackoffManager;
0 18 1 route Lorg/apache/http/conn/routing/HttpRoute;
2 13 3 curr I
5 13 4 max I
6 13 5 lastProbe Ljava/lang/Long;
7 13 6 lastBackoff Ljava/lang/Long;
8 13 7 now J
Exception table:
from to target type
1 10 15 any
11 14 15 any
15 16 15 any
MethodParameters:
Name Flags
route final
private java.lang.Long getLastUpdate(java.util.Map<org.apache.http.conn.routing.HttpRoute, java.lang.Long>, org.apache.http.conn.routing.HttpRoute);
descriptor: (Ljava/util/Map;Lorg/apache/http/conn/routing/HttpRoute;)Ljava/lang/Long;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Long
astore 3
start local 3 1: aload 3
ifnonnull 3
2: lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
astore 3
3: StackMap locals: java.lang.Long
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/http/impl/client/AIMDBackoffManager;
0 4 1 updates Ljava/util/Map<Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Long;>;
0 4 2 route Lorg/apache/http/conn/routing/HttpRoute;
1 4 3 lastUpdate Ljava/lang/Long;
Signature: (Ljava/util/Map<Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Long;>;Lorg/apache/http/conn/routing/HttpRoute;)Ljava/lang/Long;
MethodParameters:
Name Flags
updates final
route final
public void setBackoffFactor(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: dload 1
dconst_0
dcmpl
ifle 1
dload 1
dconst_1
dcmpg
ifge 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "Backoff factor must be 0.0 < f < 1.0"
invokestatic org.apache.http.util.Args.check:(ZLjava/lang/String;)V
3: aload 0
dload 1
putfield org.apache.http.impl.client.AIMDBackoffManager.backoffFactor:D
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/http/impl/client/AIMDBackoffManager;
0 5 1 d D
MethodParameters:
Name Flags
d final
public void setCooldownMillis(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.http.impl.client.AIMDBackoffManager.coolDown:J
ldc "Cool down"
invokestatic org.apache.http.util.Args.positive:(JLjava/lang/String;)J
pop2
1: aload 0
lload 1
putfield org.apache.http.impl.client.AIMDBackoffManager.coolDown:J
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/http/impl/client/AIMDBackoffManager;
0 3 1 l J
MethodParameters:
Name Flags
l final
public void setPerHostConnectionCap(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ldc "Per host connection cap"
invokestatic org.apache.http.util.Args.positive:(ILjava/lang/String;)I
pop
1: aload 0
iload 1
putfield org.apache.http.impl.client.AIMDBackoffManager.cap:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/http/impl/client/AIMDBackoffManager;
0 3 1 cap I
MethodParameters:
Name Flags
cap final
}
SourceFile: "AIMDBackoffManager.java"