public abstract class org.apache.http.pool.AbstractConnPool<T, C, E extends org.apache.http.pool.PoolEntry<T, C>> implements org.apache.http.pool.ConnPool<T, E>, org.apache.http.pool.ConnPoolControl<T>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.http.pool.AbstractConnPool
super_class: java.lang.Object
{
private final java.util.concurrent.locks.Lock lock;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.locks.Condition condition;
descriptor: Ljava/util/concurrent/locks/Condition;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.http.pool.ConnFactory<T, C> connFactory;
descriptor: Lorg/apache/http/pool/ConnFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/apache/http/pool/ConnFactory<TT;TC;>;
private final java.util.Map<T, org.apache.http.pool.RouteSpecificPool<T, C, E>> routeToPool;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<TT;Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;>;
private final java.util.Set<E> leased;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<TE;>;
private final java.util.LinkedList<E> available;
descriptor: Ljava/util/LinkedList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/LinkedList<TE;>;
private final java.util.LinkedList<java.util.concurrent.Future<E>> pending;
descriptor: Ljava/util/LinkedList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/LinkedList<Ljava/util/concurrent/Future<TE;>;>;
private final java.util.Map<T, java.lang.Integer> maxPerRoute;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<TT;Ljava/lang/Integer;>;
private volatile boolean isShutDown;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int defaultMaxPerRoute;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int maxTotal;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int validateAfterInactivity;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
public void <init>(org.apache.http.pool.ConnFactory<T, C>, int, );
descriptor: (Lorg/apache/http/pool/ConnFactory;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
ldc "Connection factory"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.apache.http.pool.ConnFactory
putfield org.apache.http.pool.AbstractConnPool.connFactory:Lorg/apache/http/pool/ConnFactory;
2: aload 0
iload 2
ldc "Max per route value"
invokestatic org.apache.http.util.Args.positive:(ILjava/lang/String;)I
putfield org.apache.http.pool.AbstractConnPool.defaultMaxPerRoute:I
3: aload 0
iload 3
ldc "Max total value"
invokestatic org.apache.http.util.Args.positive:(ILjava/lang/String;)I
putfield org.apache.http.pool.AbstractConnPool.maxTotal:I
4: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
5: aload 0
aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.newCondition:()Ljava/util/concurrent/locks/Condition;
putfield org.apache.http.pool.AbstractConnPool.condition:Ljava/util/concurrent/locks/Condition;
6: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.apache.http.pool.AbstractConnPool.routeToPool:Ljava/util/Map;
7: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.apache.http.pool.AbstractConnPool.leased:Ljava/util/Set;
8: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
9: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield org.apache.http.pool.AbstractConnPool.pending:Ljava/util/LinkedList;
10: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.apache.http.pool.AbstractConnPool.maxPerRoute:Ljava/util/Map;
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 12 1 connFactory Lorg/apache/http/pool/ConnFactory<TT;TC;>;
0 12 2 defaultMaxPerRoute I
0 12 3 maxTotal I
Signature: (Lorg/apache/http/pool/ConnFactory<TT;TC;>;II)V
MethodParameters:
Name Flags
connFactory final
defaultMaxPerRoute final
maxTotal final
protected abstract E createEntry(T, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/http/pool/PoolEntry;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TT;TC;)TE;
MethodParameters:
Name Flags
route
conn
protected void onLease();
descriptor: (Lorg/apache/http/pool/PoolEntry;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 1 1 entry TE;
Signature: (TE;)V
MethodParameters:
Name Flags
entry final
protected void onRelease();
descriptor: (Lorg/apache/http/pool/PoolEntry;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 1 1 entry TE;
Signature: (TE;)V
MethodParameters:
Name Flags
entry final
protected void onReuse();
descriptor: (Lorg/apache/http/pool/PoolEntry;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 1 1 entry TE;
Signature: (TE;)V
MethodParameters:
Name Flags
entry final
protected boolean validate();
descriptor: (Lorg/apache/http/pool/PoolEntry;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 1 1 entry TE;
Signature: (TE;)Z
MethodParameters:
Name Flags
entry final
public boolean isShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.isShutDown:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.isShutDown:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.http.pool.AbstractConnPool.isShutDown:Z
3: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
4: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 2
goto 7
StackMap locals: org.apache.http.pool.AbstractConnPool top java.util.Iterator
StackMap stack:
5: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.http.pool.PoolEntry
astore 1
start local 1 6: aload 1
invokevirtual org.apache.http.pool.PoolEntry.close:()V
end local 1 7: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 0
getfield org.apache.http.pool.AbstractConnPool.leased:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 11
StackMap locals:
StackMap stack:
9: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.http.pool.PoolEntry
astore 1
start local 1 10: aload 1
invokevirtual org.apache.http.pool.PoolEntry.close:()V
end local 1 11: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: aload 0
getfield org.apache.http.pool.AbstractConnPool.routeToPool:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 15
StackMap locals:
StackMap stack:
13: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.http.pool.RouteSpecificPool
astore 1
start local 1 14: aload 1
invokevirtual org.apache.http.pool.RouteSpecificPool.shutdown:()V
end local 1 15: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 0
getfield org.apache.http.pool.AbstractConnPool.routeToPool:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
17: aload 0
getfield org.apache.http.pool.AbstractConnPool.leased:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
18: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.clear:()V
19: goto 23
StackMap locals: org.apache.http.pool.AbstractConnPool
StackMap stack: java.lang.Throwable
20: astore 3
21: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
22: aload 3
athrow
23: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
24: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
6 7 1 entry TE;
10 11 1 entry TE;
14 15 1 pool Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;
Exception table:
from to target type
4 20 20 any
Exceptions:
throws java.io.IOException
private org.apache.http.pool.RouteSpecificPool<T, C, E> getPool(T);
descriptor: (Ljava/lang/Object;)Lorg/apache/http/pool/RouteSpecificPool;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.routeToPool:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.http.pool.RouteSpecificPool
astore 2
start local 2 1: aload 2
ifnonnull 4
2: new org.apache.http.pool.AbstractConnPool$1
dup
aload 0
aload 1
aload 1
invokespecial org.apache.http.pool.AbstractConnPool$1.<init>:(Lorg/apache/http/pool/AbstractConnPool;Ljava/lang/Object;Ljava/lang/Object;)V
astore 2
3: aload 0
getfield org.apache.http.pool.AbstractConnPool.routeToPool:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: org.apache.http.pool.RouteSpecificPool
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 5 1 route TT;
1 5 2 pool Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;
Signature: (TT;)Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;
MethodParameters:
Name Flags
route final
private static java.lang.Exception operationAborted();
descriptor: ()Ljava/lang/Exception;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.concurrent.CancellationException
dup
ldc "Operation aborted"
invokespecial java.util.concurrent.CancellationException.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.util.concurrent.Future<E> lease(T, , org.apache.http.concurrent.FutureCallback<E>);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/http/concurrent/FutureCallback;)Ljava/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "Route"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.isShutDown:Z
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ldc "Connection pool shut down"
invokestatic org.apache.http.util.Asserts.check:(ZLjava/lang/String;)V
4: new org.apache.http.pool.AbstractConnPool$2
dup
aload 0
aload 3
aload 1
aload 2
invokespecial org.apache.http.pool.AbstractConnPool$2.<init>:(Lorg/apache/http/pool/AbstractConnPool;Lorg/apache/http/concurrent/FutureCallback;Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 5 1 route TT;
0 5 2 state Ljava/lang/Object;
0 5 3 callback Lorg/apache/http/concurrent/FutureCallback<TE;>;
Signature: (TT;Ljava/lang/Object;Lorg/apache/http/concurrent/FutureCallback<TE;>;)Ljava/util/concurrent/Future<TE;>;
MethodParameters:
Name Flags
route final
state final
callback final
public java.util.concurrent.Future<E> lease(T, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokevirtual org.apache.http.pool.AbstractConnPool.lease:(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/http/concurrent/FutureCallback;)Ljava/util/concurrent/Future;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 1 1 route TT;
0 1 2 state Ljava/lang/Object;
Signature: (TT;Ljava/lang/Object;)Ljava/util/concurrent/Future<TE;>;
MethodParameters:
Name Flags
route final
state final
private E getPoolEntryBlocking(T, , long, java.util.concurrent.TimeUnit, java.util.concurrent.Future<E>);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/Future;)Lorg/apache/http/pool/PoolEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 0: aconst_null
astore 7
start local 7 1: lload 3
lconst_0
lcmp
ifle 3
2: new java.util.Date
dup
invokestatic java.lang.System.currentTimeMillis:()J
aload 5
lload 3
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
ladd
invokespecial java.util.Date.<init>:(J)V
astore 7
3: StackMap locals: java.util.Date
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
4: aload 0
aload 1
invokevirtual org.apache.http.pool.AbstractConnPool.getPool:(Ljava/lang/Object;)Lorg/apache/http/pool/RouteSpecificPool;
astore 8
start local 8 5: StackMap locals: org.apache.http.pool.RouteSpecificPool
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.isShutDown:Z
ifeq 6
iconst_0
goto 7
StackMap locals:
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: ldc "Connection pool shut down"
invokestatic org.apache.http.util.Asserts.check:(ZLjava/lang/String;)V
8: aload 6
invokeinterface java.util.concurrent.Future.isCancelled:()Z
ifeq 10
9: new java.util.concurrent.ExecutionException
dup
invokestatic org.apache.http.pool.AbstractConnPool.operationAborted:()Ljava/lang/Exception;
invokespecial java.util.concurrent.ExecutionException.<init>:(Ljava/lang/Throwable;)V
athrow
10: StackMap locals:
StackMap stack:
aload 8
aload 2
invokevirtual org.apache.http.pool.RouteSpecificPool.getFree:(Ljava/lang/Object;)Lorg/apache/http/pool/PoolEntry;
astore 9
start local 9 11: aload 9
ifnonnull 13
12: goto 19
13: StackMap locals: org.apache.http.pool.PoolEntry
StackMap stack:
aload 9
invokestatic java.lang.System.currentTimeMillis:()J
invokevirtual org.apache.http.pool.PoolEntry.isExpired:(J)Z
ifeq 15
14: aload 9
invokevirtual org.apache.http.pool.PoolEntry.close:()V
15: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.apache.http.pool.PoolEntry.isClosed:()Z
ifeq 19
16: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
aload 9
invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
pop
17: aload 8
aload 9
iconst_0
invokevirtual org.apache.http.pool.RouteSpecificPool.free:(Lorg/apache/http/pool/PoolEntry;Z)V
end local 9 18: goto 10
start local 9 19: StackMap locals:
StackMap stack:
aload 9
ifnull 26
20: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
aload 9
invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
pop
21: aload 0
getfield org.apache.http.pool.AbstractConnPool.leased:Ljava/util/Set;
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
22: aload 0
aload 9
invokevirtual org.apache.http.pool.AbstractConnPool.onReuse:(Lorg/apache/http/pool/PoolEntry;)V
23: aload 9
astore 18
24: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
25: aload 18
areturn
26: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.http.pool.AbstractConnPool.getMax:(Ljava/lang/Object;)I
istore 10
start local 10 27: iconst_0
aload 8
invokevirtual org.apache.http.pool.RouteSpecificPool.getAllocatedCount:()I
iconst_1
iadd
iload 10
isub
invokestatic java.lang.Math.max:(II)I
istore 11
start local 11 28: iload 11
ifle 39
29: iconst_0
istore 12
start local 12 30: goto 38
31: StackMap locals: int int int
StackMap stack:
aload 8
invokevirtual org.apache.http.pool.RouteSpecificPool.getLastUsed:()Lorg/apache/http/pool/PoolEntry;
astore 13
start local 13 32: aload 13
ifnonnull 34
33: goto 39
34: StackMap locals: org.apache.http.pool.PoolEntry
StackMap stack:
aload 13
invokevirtual org.apache.http.pool.PoolEntry.close:()V
35: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
aload 13
invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
pop
36: aload 8
aload 13
invokevirtual org.apache.http.pool.RouteSpecificPool.remove:(Lorg/apache/http/pool/PoolEntry;)Z
pop
end local 13 37: iinc 12 1
StackMap locals:
StackMap stack:
38: iload 12
iload 11
if_icmplt 31
end local 12 39: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.apache.http.pool.RouteSpecificPool.getAllocatedCount:()I
iload 10
if_icmpge 56
40: aload 0
getfield org.apache.http.pool.AbstractConnPool.leased:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
istore 12
start local 12 41: aload 0
getfield org.apache.http.pool.AbstractConnPool.maxTotal:I
iload 12
isub
iconst_0
invokestatic java.lang.Math.max:(II)I
istore 13
start local 13 42: iload 13
ifle 56
43: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
istore 14
start local 14 44: iload 14
iload 13
iconst_1
isub
if_icmple 50
45: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 50
46: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.removeLast:()Ljava/lang/Object;
checkcast org.apache.http.pool.PoolEntry
astore 15
start local 15 47: aload 15
invokevirtual org.apache.http.pool.PoolEntry.close:()V
48: aload 0
aload 15
invokevirtual org.apache.http.pool.PoolEntry.getRoute:()Ljava/lang/Object;
invokevirtual org.apache.http.pool.AbstractConnPool.getPool:(Ljava/lang/Object;)Lorg/apache/http/pool/RouteSpecificPool;
astore 16
start local 16 49: aload 16
aload 15
invokevirtual org.apache.http.pool.RouteSpecificPool.remove:(Lorg/apache/http/pool/PoolEntry;)Z
pop
end local 16 end local 15 50: StackMap locals: int int int
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.connFactory:Lorg/apache/http/pool/ConnFactory;
aload 1
invokeinterface org.apache.http.pool.ConnFactory.create:(Ljava/lang/Object;)Ljava/lang/Object;
astore 15
start local 15 51: aload 8
aload 15
invokevirtual org.apache.http.pool.RouteSpecificPool.add:(Ljava/lang/Object;)Lorg/apache/http/pool/PoolEntry;
astore 9
52: aload 0
getfield org.apache.http.pool.AbstractConnPool.leased:Ljava/util/Set;
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
53: aload 9
astore 18
54: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
55: aload 18
areturn
end local 15 end local 14 end local 13 end local 12 56: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 57: aload 8
aload 6
invokevirtual org.apache.http.pool.RouteSpecificPool.queue:(Ljava/util/concurrent/Future;)V
58: aload 0
getfield org.apache.http.pool.AbstractConnPool.pending:Ljava/util/LinkedList;
aload 6
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
59: aload 7
ifnull 62
60: aload 0
getfield org.apache.http.pool.AbstractConnPool.condition:Ljava/util/concurrent/locks/Condition;
aload 7
invokeinterface java.util.concurrent.locks.Condition.awaitUntil:(Ljava/util/Date;)Z
istore 12
61: goto 64
62: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.condition:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.await:()V
63: iconst_1
istore 12
64: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.concurrent.Future.isCancelled:()Z
ifeq 70
65: new java.util.concurrent.ExecutionException
dup
invokestatic org.apache.http.pool.AbstractConnPool.operationAborted:()Ljava/lang/Exception;
invokespecial java.util.concurrent.ExecutionException.<init>:(Ljava/lang/Throwable;)V
athrow
66: StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
67: aload 8
aload 6
invokevirtual org.apache.http.pool.RouteSpecificPool.unqueue:(Ljava/util/concurrent/Future;)V
68: aload 0
getfield org.apache.http.pool.AbstractConnPool.pending:Ljava/util/LinkedList;
aload 6
invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
pop
69: aload 13
athrow
70: StackMap locals:
StackMap stack:
aload 8
aload 6
invokevirtual org.apache.http.pool.RouteSpecificPool.unqueue:(Ljava/util/concurrent/Future;)V
71: aload 0
getfield org.apache.http.pool.AbstractConnPool.pending:Ljava/util/LinkedList;
aload 6
invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
pop
72: iload 12
ifne 5
aload 7
ifnull 5
aload 7
invokevirtual java.util.Date.getTime:()J
invokestatic java.lang.System.currentTimeMillis:()J
lcmp
ifgt 5
end local 12 end local 11 end local 10 73: new java.util.concurrent.TimeoutException
dup
ldc "Timeout waiting for connection"
invokespecial java.util.concurrent.TimeoutException.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 74: StackMap locals: org.apache.http.pool.AbstractConnPool java.lang.Object java.lang.Object long java.util.concurrent.TimeUnit java.util.concurrent.Future java.util.Date
StackMap stack: java.lang.Throwable
astore 17
75: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
76: aload 17
athrow
end local 7 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 77 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 77 1 route TT;
0 77 2 state Ljava/lang/Object;
0 77 3 timeout J
0 77 5 timeUnit Ljava/util/concurrent/TimeUnit;
0 77 6 future Ljava/util/concurrent/Future<TE;>;
1 77 7 deadline Ljava/util/Date;
5 74 8 pool Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;
11 18 9 entry TE;
19 74 9 entry TE;
27 73 10 maxPerRoute I
28 73 11 excess I
30 39 12 i I
32 37 13 lastUsed TE;
41 56 12 totalUsed I
42 56 13 freeCapacity I
44 56 14 totalAvailable I
47 50 15 lastUsed TE;
49 50 16 otherpool Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;
51 56 15 conn TC;
57 73 12 success Z
Exception table:
from to target type
57 66 66 any
4 24 74 any
26 54 74 any
56 74 74 any
Exceptions:
throws java.io.IOException, java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
Signature: (TT;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/Future<TE;>;)TE;
MethodParameters:
Name Flags
route final
state final
timeout final
timeUnit final
future final
public void release(E, );
descriptor: (Lorg/apache/http/pool/PoolEntry;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.leased:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
ifeq 20
2: aload 0
aload 1
invokevirtual org.apache.http.pool.PoolEntry.getRoute:()Ljava/lang/Object;
invokevirtual org.apache.http.pool.AbstractConnPool.getPool:(Ljava/lang/Object;)Lorg/apache/http/pool/RouteSpecificPool;
astore 3
start local 3 3: aload 3
aload 1
iload 2
invokevirtual org.apache.http.pool.RouteSpecificPool.free:(Lorg/apache/http/pool/PoolEntry;Z)V
4: iload 2
ifeq 7
aload 0
getfield org.apache.http.pool.AbstractConnPool.isShutDown:Z
ifne 7
5: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.addFirst:(Ljava/lang/Object;)V
6: goto 8
7: StackMap locals: org.apache.http.pool.RouteSpecificPool
StackMap stack:
aload 1
invokevirtual org.apache.http.pool.PoolEntry.close:()V
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.http.pool.AbstractConnPool.onRelease:(Lorg/apache/http/pool/PoolEntry;)V
9: aload 3
invokevirtual org.apache.http.pool.RouteSpecificPool.nextPending:()Ljava/util/concurrent/Future;
astore 4
start local 4 10: aload 4
ifnull 13
11: aload 0
getfield org.apache.http.pool.AbstractConnPool.pending:Ljava/util/LinkedList;
aload 4
invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
pop
12: goto 14
13: StackMap locals: java.util.concurrent.Future
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.pending:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.poll:()Ljava/lang/Object;
checkcast java.util.concurrent.Future
astore 4
14: StackMap locals:
StackMap stack:
aload 4
ifnull 20
15: aload 0
getfield org.apache.http.pool.AbstractConnPool.condition:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.signalAll:()V
end local 4 end local 3 16: goto 20
StackMap locals: org.apache.http.pool.AbstractConnPool org.apache.http.pool.PoolEntry int
StackMap stack: java.lang.Throwable
17: astore 5
18: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
19: aload 5
athrow
20: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
21: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 22 1 entry TE;
0 22 2 reusable Z
3 16 3 pool Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;
10 16 4 future Ljava/util/concurrent/Future<TE;>;
Exception table:
from to target type
1 17 17 any
Signature: (TE;Z)V
MethodParameters:
Name Flags
entry final
reusable final
private int getMax();
descriptor: (Ljava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.maxPerRoute:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual java.lang.Integer.intValue:()I
goto 3
StackMap locals: java.lang.Integer
StackMap stack:
2: aload 0
getfield org.apache.http.pool.AbstractConnPool.defaultMaxPerRoute:I
StackMap locals:
StackMap stack: int
3: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 4 1 route TT;
1 4 2 v Ljava/lang/Integer;
Signature: (TT;)I
MethodParameters:
Name Flags
route final
public void setMaxTotal(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ldc "Max value"
invokestatic org.apache.http.util.Args.positive:(ILjava/lang/String;)I
pop
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
iload 1
putfield org.apache.http.pool.AbstractConnPool.maxTotal:I
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 2
5: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 9 1 max I
Exception table:
from to target type
2 4 4 any
MethodParameters:
Name Flags
max final
public int getMaxTotal();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.maxTotal:I
istore 2
2: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: iload 2
ireturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
Exception table:
from to target type
1 2 4 any
public void setDefaultMaxPerRoute(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ldc "Max per route value"
invokestatic org.apache.http.util.Args.positive:(ILjava/lang/String;)I
pop
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
iload 1
putfield org.apache.http.pool.AbstractConnPool.defaultMaxPerRoute:I
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 2
5: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 9 1 max I
Exception table:
from to target type
2 4 4 any
MethodParameters:
Name Flags
max final
public int getDefaultMaxPerRoute();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.defaultMaxPerRoute:I
istore 2
2: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: iload 2
ireturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
Exception table:
from to target type
1 2 4 any
public void setMaxPerRoute(T, );
descriptor: (Ljava/lang/Object;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "Route"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: iload 2
iconst_m1
if_icmple 5
3: aload 0
getfield org.apache.http.pool.AbstractConnPool.maxPerRoute:Ljava/util/Map;
aload 1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.maxPerRoute:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 3
8: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: aload 3
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 12 1 route TT;
0 12 2 max I
Exception table:
from to target type
2 7 7 any
Signature: (TT;I)V
MethodParameters:
Name Flags
route final
max final
public int getMaxPerRoute();
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ldc "Route"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
aload 1
invokevirtual org.apache.http.pool.AbstractConnPool.getMax:(Ljava/lang/Object;)I
istore 3
3: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
4: iload 3
ireturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
6: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
7: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 8 1 route TT;
Exception table:
from to target type
2 3 5 any
Signature: (TT;)I
MethodParameters:
Name Flags
route final
public org.apache.http.pool.PoolStats getTotalStats();
descriptor: ()Lorg/apache/http/pool/PoolStats;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: new org.apache.http.pool.PoolStats
dup
2: aload 0
getfield org.apache.http.pool.AbstractConnPool.leased:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
3: aload 0
getfield org.apache.http.pool.AbstractConnPool.pending:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
4: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
5: aload 0
getfield org.apache.http.pool.AbstractConnPool.maxTotal:I
6: invokespecial org.apache.http.pool.PoolStats.<init>:(IIII)V
astore 2
7: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
8: aload 2
areturn
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
10: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
Exception table:
from to target type
1 7 9 any
public org.apache.http.pool.PoolStats getStats(T);
descriptor: (Ljava/lang/Object;)Lorg/apache/http/pool/PoolStats;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ldc "Route"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
aload 1
invokevirtual org.apache.http.pool.AbstractConnPool.getPool:(Ljava/lang/Object;)Lorg/apache/http/pool/RouteSpecificPool;
astore 2
start local 2 3: new org.apache.http.pool.PoolStats
dup
4: aload 2
invokevirtual org.apache.http.pool.RouteSpecificPool.getLeasedCount:()I
5: aload 2
invokevirtual org.apache.http.pool.RouteSpecificPool.getPendingCount:()I
6: aload 2
invokevirtual org.apache.http.pool.RouteSpecificPool.getAvailableCount:()I
7: aload 0
aload 1
invokevirtual org.apache.http.pool.AbstractConnPool.getMax:(Ljava/lang/Object;)I
8: invokespecial org.apache.http.pool.PoolStats.<init>:(IIII)V
astore 4
9: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
10: aload 4
areturn
end local 2 11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
12: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
13: aload 3
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 14 1 route TT;
3 11 2 pool Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;
Exception table:
from to target type
2 9 11 any
Signature: (TT;)Lorg/apache/http/pool/PoolStats;
MethodParameters:
Name Flags
route final
public java.util.Set<T> getRoutes();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: new java.util.HashSet
dup
aload 0
getfield org.apache.http.pool.AbstractConnPool.routeToPool:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 2
2: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: aload 2
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
Exception table:
from to target type
1 2 4 any
Signature: ()Ljava/util/Set<TT;>;
protected void enumAvailable(org.apache.http.pool.PoolEntryCallback<T, C>);
descriptor: (Lorg/apache/http/pool/PoolEntryCallback;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 9
3: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.http.pool.PoolEntry
astore 3
start local 3 4: aload 1
aload 3
invokeinterface org.apache.http.pool.PoolEntryCallback.process:(Lorg/apache/http/pool/PoolEntry;)V
5: aload 3
invokevirtual org.apache.http.pool.PoolEntry.isClosed:()Z
ifeq 9
6: aload 0
aload 3
invokevirtual org.apache.http.pool.PoolEntry.getRoute:()Ljava/lang/Object;
invokevirtual org.apache.http.pool.AbstractConnPool.getPool:(Ljava/lang/Object;)Lorg/apache/http/pool/RouteSpecificPool;
astore 4
start local 4 7: aload 4
aload 3
invokevirtual org.apache.http.pool.RouteSpecificPool.remove:(Lorg/apache/http/pool/PoolEntry;)Z
pop
8: aload 2
invokeinterface java.util.Iterator.remove:()V
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: aload 0
invokevirtual org.apache.http.pool.AbstractConnPool.purgePoolMap:()V
end local 2 11: goto 15
StackMap locals: org.apache.http.pool.AbstractConnPool org.apache.http.pool.PoolEntryCallback
StackMap stack: java.lang.Throwable
12: astore 5
13: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
14: aload 5
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 17 1 callback Lorg/apache/http/pool/PoolEntryCallback<TT;TC;>;
2 11 2 it Ljava/util/Iterator<TE;>;
4 9 3 entry TE;
7 9 4 pool Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;
Exception table:
from to target type
1 12 12 any
Signature: (Lorg/apache/http/pool/PoolEntryCallback<TT;TC;>;)V
MethodParameters:
Name Flags
callback final
protected void enumLeased(org.apache.http.pool.PoolEntryCallback<T, C>);
descriptor: (Lorg/apache/http/pool/PoolEntryCallback;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.apache.http.pool.AbstractConnPool.leased:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 5
3: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.http.pool.PoolEntry
astore 3
start local 3 4: aload 1
aload 3
invokeinterface org.apache.http.pool.PoolEntryCallback.process:(Lorg/apache/http/pool/PoolEntry;)V
end local 3 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 6: goto 10
StackMap locals: org.apache.http.pool.AbstractConnPool org.apache.http.pool.PoolEntryCallback
StackMap stack: java.lang.Throwable
7: astore 4
8: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: aload 4
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 12 1 callback Lorg/apache/http/pool/PoolEntryCallback<TT;TC;>;
2 6 2 it Ljava/util/Iterator<TE;>;
4 5 3 entry TE;
Exception table:
from to target type
1 7 7 any
Signature: (Lorg/apache/http/pool/PoolEntryCallback<TT;TC;>;)V
MethodParameters:
Name Flags
callback final
private void purgePoolMap();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.routeToPool:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
start local 1 1: goto 6
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 3: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.http.pool.RouteSpecificPool
astore 3
start local 3 4: aload 3
invokevirtual org.apache.http.pool.RouteSpecificPool.getPendingCount:()I
aload 3
invokevirtual org.apache.http.pool.RouteSpecificPool.getAllocatedCount:()I
iadd
ifne 6
5: aload 1
invokeinterface java.util.Iterator.remove:()V
end local 3 end local 2 6: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
1 8 1 it Ljava/util/Iterator<Ljava/util/Map$Entry<TT;Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;>;>;
3 6 2 entry Ljava/util/Map$Entry<TT;Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;>;
4 6 3 pool Lorg/apache/http/pool/RouteSpecificPool<TT;TC;TE;>;
public void closeIdle(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 3 0: aload 3
ldc "Time unit"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 4
start local 4 2: lload 4
lconst_0
lcmp
ifge 4
3: lconst_0
lstore 4
4: StackMap locals: long
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lload 4
lsub
lstore 6
start local 6 5: aload 0
new org.apache.http.pool.AbstractConnPool$3
dup
aload 0
lload 6
invokespecial org.apache.http.pool.AbstractConnPool$3.<init>:(Lorg/apache/http/pool/AbstractConnPool;J)V
invokevirtual org.apache.http.pool.AbstractConnPool.enumAvailable:(Lorg/apache/http/pool/PoolEntryCallback;)V
6: return
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 7 1 idletime J
0 7 3 timeUnit Ljava/util/concurrent/TimeUnit;
2 7 4 time J
5 7 6 deadline J
MethodParameters:
Name Flags
idletime final
timeUnit final
public void closeExpired();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: invokestatic java.lang.System.currentTimeMillis:()J
lstore 1
start local 1 1: aload 0
new org.apache.http.pool.AbstractConnPool$4
dup
aload 0
lload 1
invokespecial org.apache.http.pool.AbstractConnPool$4.<init>:(Lorg/apache/http/pool/AbstractConnPool;J)V
invokevirtual org.apache.http.pool.AbstractConnPool.enumAvailable:(Lorg/apache/http/pool/PoolEntryCallback;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
1 3 1 now J
public int getValidateAfterInactivity();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.validateAfterInactivity:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
public void setValidateAfterInactivity(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.http.pool.AbstractConnPool.validateAfterInactivity:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
0 2 1 ms I
MethodParameters:
Name Flags
ms final
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 2: aload 1
ldc "[leased: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 1
aload 0
getfield org.apache.http.pool.AbstractConnPool.leased:Ljava/util/Set;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
4: aload 1
ldc "][available: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 1
aload 0
getfield org.apache.http.pool.AbstractConnPool.available:Ljava/util/LinkedList;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
6: aload 1
ldc "][pending: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 1
aload 0
getfield org.apache.http.pool.AbstractConnPool.pending:Ljava/util/LinkedList;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
8: aload 1
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
10: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: aload 3
areturn
end local 1 12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
13: aload 0
getfield org.apache.http.pool.AbstractConnPool.lock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
14: aload 2
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/http/pool/AbstractConnPool<TT;TC;TE;>;
2 12 1 buffer Ljava/lang/StringBuilder;
Exception table:
from to target type
1 10 12 any
public void release(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast org.apache.http.pool.PoolEntry
iload 2
invokevirtual org.apache.http.pool.AbstractConnPool.release:(Lorg/apache/http/pool/PoolEntry;Z)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <T:Ljava/lang/Object;C:Ljava/lang/Object;E:Lorg/apache/http/pool/PoolEntry<TT;TC;>;>Ljava/lang/Object;Lorg/apache/http/pool/ConnPool<TT;TE;>;Lorg/apache/http/pool/ConnPoolControl<TT;>;
SourceFile: "AbstractConnPool.java"
NestMembers:
org.apache.http.pool.AbstractConnPool$1 org.apache.http.pool.AbstractConnPool$2 org.apache.http.pool.AbstractConnPool$3 org.apache.http.pool.AbstractConnPool$4
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
org.apache.http.pool.AbstractConnPool$1
org.apache.http.pool.AbstractConnPool$2
org.apache.http.pool.AbstractConnPool$3
org.apache.http.pool.AbstractConnPool$4
RuntimeInvisibleAnnotations:
org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.SAFE_CONDITIONAL:Lorg/apache/http/annotation/ThreadingBehavior;)