public class org.apache.http.impl.conn.tsccm.ConnPoolByRoute extends org.apache.http.impl.conn.tsccm.AbstractConnPool
{
private final org.apache.commons.logging.Log log;
private final java.util.concurrent.locks.Lock poolLock;
protected final org.apache.http.conn.ClientConnectionOperator operator;
protected final org.apache.http.conn.params.ConnPerRoute connPerRoute;
protected final java.util.Set leasedConnections;
protected final java.util.Queue freeConnections;
protected final java.util.Queue waitingThreads;
protected final java.util.Map routeToPool;
private final long connTTL;
private final java.util.concurrent.TimeUnit connTTLTimeUnit;
protected volatile boolean shutdown;
protected volatile int maxTotalConnections;
protected volatile int numConnections;
public void <init>(org.apache.http.conn.ClientConnectionOperator, org.apache.http.conn.params.ConnPerRoute, int)
{
java.util.concurrent.TimeUnit v;
int v;
org.apache.http.conn.ClientConnectionOperator v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
org.apache.http.conn.params.ConnPerRoute v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.conn.ClientConnectionOperator;
v := @parameter: org.apache.http.conn.params.ConnPerRoute;
v := @parameter: int;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
specialinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void <init>(org.apache.http.conn.ClientConnectionOperator,org.apache.http.conn.params.ConnPerRoute,int,long,java.util.concurrent.TimeUnit)>(v, v, v, -1L, v);
return;
}
public void <init>(org.apache.http.conn.ClientConnectionOperator, org.apache.http.conn.params.ConnPerRoute, int, long, java.util.concurrent.TimeUnit)
{
java.util.Set v;
long v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.locks.Lock v;
java.util.Map v;
int v;
org.apache.http.conn.ClientConnectionOperator v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Class v;
org.apache.commons.logging.Log v;
java.util.Queue v, v;
org.apache.http.conn.params.ConnPerRoute v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.conn.ClientConnectionOperator;
v := @parameter: org.apache.http.conn.params.ConnPerRoute;
v := @parameter: int;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
specialinvoke v.<org.apache.http.impl.conn.tsccm.AbstractConnPool: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.commons.logging.LogFactory: org.apache.commons.logging.Log getLog(java.lang.Class)>(v);
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log> = v;
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Connection operator");
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Connections per route");
v = v.<org.apache.http.impl.conn.tsccm.AbstractConnPool: java.util.concurrent.locks.Lock poolLock>;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock> = v;
v = v.<org.apache.http.impl.conn.tsccm.AbstractConnPool: java.util.Set leasedConnections>;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Set leasedConnections> = v;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.conn.ClientConnectionOperator operator> = v;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.conn.params.ConnPerRoute connPerRoute> = v;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int maxTotalConnections> = v;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue createFreeConnQueue()>();
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue freeConnections> = v;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue createWaitingThreadQueue()>();
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue waitingThreads> = v;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Map createRouteToPoolMap()>();
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Map routeToPool> = v;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: long connTTL> = v;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.TimeUnit connTTLTimeUnit> = v;
return;
}
protected java.util.concurrent.locks.Lock getLock()
{
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.util.concurrent.locks.Lock v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
return v;
}
public void <init>(org.apache.http.conn.ClientConnectionOperator, org.apache.http.params.HttpParams)
{
org.apache.http.params.HttpParams v;
int v;
org.apache.http.conn.ClientConnectionOperator v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
org.apache.http.conn.params.ConnPerRoute v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.conn.ClientConnectionOperator;
v := @parameter: org.apache.http.params.HttpParams;
v = staticinvoke <org.apache.http.conn.params.ConnManagerParams: org.apache.http.conn.params.ConnPerRoute getMaxConnectionsPerRoute(org.apache.http.params.HttpParams)>(v);
v = staticinvoke <org.apache.http.conn.params.ConnManagerParams: int getMaxTotalConnections(org.apache.http.params.HttpParams)>(v);
specialinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void <init>(org.apache.http.conn.ClientConnectionOperator,org.apache.http.conn.params.ConnPerRoute,int)>(v, v, v);
return;
}
protected java.util.Queue createFreeConnQueue()
{
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.util.LinkedList v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
return v;
}
protected java.util.Queue createWaitingThreadQueue()
{
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.util.LinkedList v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
return v;
}
protected java.util.Map createRouteToPoolMap()
{
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.util.HashMap v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
return v;
}
protected org.apache.http.impl.conn.tsccm.RouteSpecificPool newRouteSpecificPool(org.apache.http.conn.routing.HttpRoute)
{
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
org.apache.http.conn.params.ConnPerRoute v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.tsccm.RouteSpecificPool v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v = new org.apache.http.impl.conn.tsccm.RouteSpecificPool;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.conn.params.ConnPerRoute connPerRoute>;
specialinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: void <init>(org.apache.http.conn.routing.HttpRoute,org.apache.http.conn.params.ConnPerRoute)>(v, v);
return v;
}
protected org.apache.http.impl.conn.tsccm.WaitingThread newWaitingThread(java.util.concurrent.locks.Condition, org.apache.http.impl.conn.tsccm.RouteSpecificPool)
{
java.util.concurrent.locks.Condition v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
org.apache.http.impl.conn.tsccm.WaitingThread v;
org.apache.http.impl.conn.tsccm.RouteSpecificPool v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: java.util.concurrent.locks.Condition;
v := @parameter: org.apache.http.impl.conn.tsccm.RouteSpecificPool;
v = new org.apache.http.impl.conn.tsccm.WaitingThread;
specialinvoke v.<org.apache.http.impl.conn.tsccm.WaitingThread: void <init>(java.util.concurrent.locks.Condition,org.apache.http.impl.conn.tsccm.RouteSpecificPool)>(v, v);
return v;
}
private void closeConnection(org.apache.http.impl.conn.tsccm.BasicPoolEntry)
{
org.apache.http.conn.OperatedClientConnection v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
org.apache.http.impl.conn.tsccm.BasicPoolEntry v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.impl.conn.tsccm.BasicPoolEntry;
virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: org.apache.http.conn.OperatedClientConnection getConnection()>();
return;
}
protected org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.routing.HttpRoute, boolean)
{
java.lang.Throwable v;
org.apache.http.conn.routing.HttpRoute v;
java.util.concurrent.locks.Lock v, v, v;
java.util.Map v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v;
boolean v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v := @parameter: boolean;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Map routeToPool>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.RouteSpecificPool newRouteSpecificPool(org.apache.http.conn.routing.HttpRoute)>(v);
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Map routeToPool>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public int getConnectionsInPool(org.apache.http.conn.routing.HttpRoute)
{
java.lang.Throwable v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.tsccm.RouteSpecificPool v;
java.util.concurrent.locks.Lock v, v, v;
int v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.routing.HttpRoute,boolean)>(v, 0);
if v == null goto label;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: int getEntryCount()>();
goto label;
label:
v = 0;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return v;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
public int getConnectionsInPool()
{
java.lang.Throwable v;
java.util.concurrent.locks.Lock v, v, v;
int v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections>;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return v;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.http.impl.conn.tsccm.PoolEntryRequest requestPoolEntry(org.apache.http.conn.routing.HttpRoute, java.lang.Object)
{
org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1 v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v;
org.apache.http.impl.conn.tsccm.WaitingThreadAborter v;
org.apache.http.conn.routing.HttpRoute v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v := @parameter: java.lang.Object;
v = new org.apache.http.impl.conn.tsccm.WaitingThreadAborter;
specialinvoke v.<org.apache.http.impl.conn.tsccm.WaitingThreadAborter: void <init>()>();
v = new org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1;
specialinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1: void <init>(org.apache.http.impl.conn.tsccm.ConnPoolByRoute,org.apache.http.impl.conn.tsccm.WaitingThreadAborter,org.apache.http.conn.routing.HttpRoute,java.lang.Object)>(v, v, v, v);
return v;
}
protected org.apache.http.impl.conn.tsccm.BasicPoolEntry getEntryBlocking(org.apache.http.conn.routing.HttpRoute, java.lang.Object, long, java.util.concurrent.TimeUnit, org.apache.http.impl.conn.tsccm.WaitingThreadAborter) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException
{
java.util.Date v, v;
byte v, v;
org.apache.http.impl.conn.tsccm.WaitingThread v;
boolean v, v, v, v, v, v, v, v, v;
java.util.Set v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.util.Queue v, v, v, v, v;
java.lang.Throwable v, v;
long v, v, v, v, v, v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.tsccm.RouteSpecificPool v;
org.apache.http.impl.conn.tsccm.BasicPoolEntry v;
int v, v, v, v, v, v, v, v, v;
org.apache.http.conn.ClientConnectionOperator v, v;
org.apache.http.impl.conn.tsccm.WaitingThreadAborter v;
java.lang.String v, v, v;
org.apache.http.conn.ConnectionPoolTimeoutException v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.locks.Condition v;
java.util.concurrent.locks.Lock v, v, v, v;
java.lang.Object v;
org.apache.commons.logging.Log v, v, v, v, v, v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v := @parameter: java.lang.Object;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: org.apache.http.impl.conn.tsccm.WaitingThreadAborter;
v = null;
v = v cmp 0L;
if v <= 0 goto label;
v = new java.util.Date;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toMillis(long)>(v);
v = v + v;
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = v;
label:
v = null;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.routing.HttpRoute,boolean)>(v, 1);
v = null;
label:
if v != null goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: boolean shutdown>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.http.util.Asserts: void check(boolean,java.lang.String)>(v, "Connection pool shut down");
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue freeConnections>;
v = interfaceinvoke v.<java.util.Queue: int size()>();
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Set leasedConnections>;
v = interfaceinvoke v.<java.util.Set: int size()>();
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections>;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int maxTotalConnections>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute,int,int,int,int)>(v, v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("[\u] total kept alive: \u, total issued: \u, total allocated: \u out of \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.BasicPoolEntry getFreeEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool,java.lang.Object)>(v, v);
if v != null goto label;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: int getCapacity()>();
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: int getCapacity()>();
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: int getMaxEntries()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,org.apache.http.conn.routing.HttpRoute,java.lang.Object)>(v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Available capacity: \u out of \u [\u][\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections>;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int maxTotalConnections>;
if v >= v goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.conn.ClientConnectionOperator operator>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.BasicPoolEntry createEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool,org.apache.http.conn.ClientConnectionOperator)>(v, v);
goto label;
label:
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue freeConnections>;
v = interfaceinvoke v.<java.util.Queue: boolean isEmpty()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void deleteLeastUsedEntry()>();
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.routing.HttpRoute,boolean)>(v, 1);
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.conn.ClientConnectionOperator operator>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.BasicPoolEntry createEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool,org.apache.http.conn.ClientConnectionOperator)>(v, v);
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute,java.lang.Object)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Need to wait for connection [\u][\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
if v != null goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
v = interfaceinvoke v.<java.util.concurrent.locks.Lock: java.util.concurrent.locks.Condition newCondition()>();
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.WaitingThread newWaitingThread(java.util.concurrent.locks.Condition,org.apache.http.impl.conn.tsccm.RouteSpecificPool)>(v, v);
virtualinvoke v.<org.apache.http.impl.conn.tsccm.WaitingThreadAborter: void setWaitingThread(org.apache.http.impl.conn.tsccm.WaitingThread)>(v);
label:
virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: void queueThread(org.apache.http.impl.conn.tsccm.WaitingThread)>(v);
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue waitingThreads>;
interfaceinvoke v.<java.util.Queue: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.WaitingThread: boolean await(java.util.Date)>(v);
label:
virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: void removeThread(org.apache.http.impl.conn.tsccm.WaitingThread)>(v);
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue waitingThreads>;
interfaceinvoke v.<java.util.Queue: boolean remove(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: void removeThread(org.apache.http.impl.conn.tsccm.WaitingThread)>(v);
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue waitingThreads>;
interfaceinvoke v.<java.util.Queue: boolean remove(java.lang.Object)>(v);
throw v;
label:
if v != 0 goto label;
if v == null goto label;
v = virtualinvoke v.<java.util.Date: long getTime()>();
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v cmp v;
if v > 0 goto label;
v = new org.apache.http.conn.ConnectionPoolTimeoutException;
specialinvoke v.<org.apache.http.conn.ConnectionPoolTimeoutException: void <init>(java.lang.String)>("Timeout waiting for connection from pool");
throw v;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void freeEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry, boolean, long, java.util.concurrent.TimeUnit)
{
java.lang.Throwable v;
long v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.tsccm.RouteSpecificPool v;
byte v;
org.apache.http.impl.conn.tsccm.BasicPoolEntry v;
int v, v, v;
java.lang.String v, v, v;
boolean v, v, v, v;
java.util.Set v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.locks.Lock v, v, v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v, v;
org.apache.commons.logging.Log v, v, v, v;
java.util.Queue v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.impl.conn.tsccm.BasicPoolEntry;
v := @parameter: boolean;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: org.apache.http.conn.routing.HttpRoute getPlannedRoute()>();
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: java.lang.Object getState()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute,java.lang.Object)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Releasing connection [\u][\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: boolean shutdown>;
if v == 0 goto label;
specialinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void closeConnection(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Set leasedConnections>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.routing.HttpRoute,boolean)>(v, 1);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: int getCapacity()>();
if v < 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v cmp 0L;
if v <= 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,java.util.concurrent.TimeUnit)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("for \u \u0001");
goto label;
label:
v = "indefinitely";
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: java.lang.Object getState()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute,java.lang.Object,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Pooling connection [\u][\u]; keep alive \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: void freeEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: void updateExpiry(long,java.util.concurrent.TimeUnit)>(v, v);
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue freeConnections>;
interfaceinvoke v.<java.util.Queue: boolean add(java.lang.Object)>(v);
goto label;
label:
specialinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void closeConnection(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: void dropEntry()>();
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections>;
v = v - 1;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections> = v;
label:
virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void notifyWaitingThread(org.apache.http.impl.conn.tsccm.RouteSpecificPool)>(v);
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
protected org.apache.http.impl.conn.tsccm.BasicPoolEntry getFreeEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool, java.lang.Object)
{
java.lang.Throwable v;
long v;
org.apache.http.conn.routing.HttpRoute v, v, v;
org.apache.http.impl.conn.tsccm.RouteSpecificPool v;
org.apache.http.impl.conn.tsccm.BasicPoolEntry v;
int v, v;
java.lang.String v, v, v;
boolean v, v, v, v, v;
java.util.Set v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v;
org.apache.commons.logging.Log v, v, v, v, v, v;
java.util.Queue v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.impl.conn.tsccm.RouteSpecificPool;
v := @parameter: java.lang.Object;
v = null;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = 0;
label:
if v != 0 goto label;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: org.apache.http.impl.conn.tsccm.BasicPoolEntry allocEntry(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: org.apache.http.conn.routing.HttpRoute getRoute()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute,java.lang.Object)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Getting free connection [\u][\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue freeConnections>;
interfaceinvoke v.<java.util.Queue: boolean remove(java.lang.Object)>(v);
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: boolean isExpired(long)>(v);
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: org.apache.http.conn.routing.HttpRoute getRoute()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute,java.lang.Object)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Closing expired free connection [\u][\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
specialinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void closeConnection(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: void dropEntry()>();
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections>;
v = v - 1;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections> = v;
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Set leasedConnections>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = 1;
goto label;
label:
v = 1;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: org.apache.http.conn.routing.HttpRoute getRoute()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute,java.lang.Object)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("No free connections [\u][\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
protected org.apache.http.impl.conn.tsccm.BasicPoolEntry createEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool, org.apache.http.conn.ClientConnectionOperator)
{
java.lang.Throwable v;
long v;
org.apache.http.conn.routing.HttpRoute v, v;
org.apache.http.impl.conn.tsccm.RouteSpecificPool v;
org.apache.http.impl.conn.tsccm.BasicPoolEntry v;
int v, v;
org.apache.http.conn.ClientConnectionOperator v;
java.lang.String v;
boolean v;
java.util.Set v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
org.apache.commons.logging.Log v, v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.impl.conn.tsccm.RouteSpecificPool;
v := @parameter: org.apache.http.conn.ClientConnectionOperator;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: org.apache.http.conn.routing.HttpRoute getRoute()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Creating new connection [\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = new org.apache.http.impl.conn.tsccm.BasicPoolEntry;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: org.apache.http.conn.routing.HttpRoute getRoute()>();
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: long connTTL>;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.TimeUnit connTTLTimeUnit>;
specialinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: void <init>(org.apache.http.conn.ClientConnectionOperator,org.apache.http.conn.routing.HttpRoute,long,java.util.concurrent.TimeUnit)>(v, v, v, v);
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: void createdEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections>;
v = v + 1;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections> = v;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Set leasedConnections>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
protected void deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry)
{
java.lang.Throwable v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.tsccm.RouteSpecificPool v;
org.apache.http.impl.conn.tsccm.BasicPoolEntry v;
java.util.Map v;
int v, v;
java.lang.String v;
boolean v, v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v;
org.apache.commons.logging.Log v, v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.impl.conn.tsccm.BasicPoolEntry;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: org.apache.http.conn.routing.HttpRoute getPlannedRoute()>();
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: java.lang.Object getState()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute,java.lang.Object)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Deleting connection [\u][\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
specialinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void closeConnection(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.routing.HttpRoute,boolean)>(v, 1);
virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: boolean deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections>;
v = v - 1;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections> = v;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: boolean isUnused()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Map routeToPool>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void deleteLeastUsedEntry()
{
java.lang.Throwable v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v;
org.apache.commons.logging.Log v, v;
java.util.Queue v;
boolean v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue freeConnections>;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object remove()>();
if v == null goto label;
virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("No free connection to delete");
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void handleLostEntry(org.apache.http.conn.routing.HttpRoute)
{
java.lang.Throwable v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.tsccm.RouteSpecificPool v;
java.util.concurrent.locks.Lock v, v, v;
java.util.Map v;
int v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
boolean v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.routing.HttpRoute,boolean)>(v, 1);
virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: void dropEntry()>();
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: boolean isUnused()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Map routeToPool>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections>;
v = v - 1;
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int numConnections> = v;
virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void notifyWaitingThread(org.apache.http.impl.conn.tsccm.RouteSpecificPool)>(v);
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void notifyWaitingThread(org.apache.http.impl.conn.tsccm.RouteSpecificPool)
{
java.lang.Throwable v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.tsccm.RouteSpecificPool v;
java.lang.String v;
boolean v, v, v, v, v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v;
org.apache.commons.logging.Log v, v, v, v, v, v;
java.util.Queue v, v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: org.apache.http.impl.conn.tsccm.RouteSpecificPool;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
if v == null goto label;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: boolean hasThread()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: org.apache.http.conn.routing.HttpRoute getRoute()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Notifying thread waiting on pool [\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
virtualinvoke v.<org.apache.http.impl.conn.tsccm.RouteSpecificPool: org.apache.http.impl.conn.tsccm.WaitingThread nextThread()>();
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue waitingThreads>;
v = interfaceinvoke v.<java.util.Queue: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Notifying thread waiting on any pool");
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue waitingThreads>;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object remove()>();
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Notifying no-one, there are no waiting threads");
label:
if v == null goto label;
virtualinvoke v.<org.apache.http.impl.conn.tsccm.WaitingThread: void wakeup()>();
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void deleteClosedConnections()
{
java.lang.Throwable v;
java.util.Iterator v;
org.apache.http.conn.OperatedClientConnection v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v;
java.util.Queue v;
boolean v, v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue freeConnections>;
v = interfaceinvoke v.<java.util.Queue: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: org.apache.http.conn.OperatedClientConnection getConnection()>();
v = interfaceinvoke v.<org.apache.http.conn.OperatedClientConnection: boolean isOpen()>();
if v != 0 goto label;
interfaceinvoke v.<java.util.Iterator: void remove()>();
virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void closeIdleConnections(long, java.util.concurrent.TimeUnit)
{
java.lang.Throwable v;
java.util.Date v;
long v, v, v, v, v, v, v, v;
byte v, v;
java.lang.String v, v;
boolean v, v, v;
java.util.Iterator v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v;
org.apache.commons.logging.Log v, v, v, v;
java.util.Queue v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Time unit");
v = v cmp 0L;
if v <= 0 goto label;
v = v;
goto label;
label:
v = 0L;
label:
v = v;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,java.util.concurrent.TimeUnit)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Closing connections idle longer than \u \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toMillis(long)>(v);
v = v - v;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue freeConnections>;
v = interfaceinvoke v.<java.util.Queue: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: long getUpdated()>();
v = v cmp v;
if v > 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = new java.util.Date;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: long getUpdated()>();
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.Date)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Closing connection last used @ \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
interfaceinvoke v.<java.util.Iterator: void remove()>();
virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void closeExpiredConnections()
{
java.lang.Throwable v;
java.util.Date v;
long v, v;
java.lang.String v;
boolean v, v, v;
java.util.Iterator v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v;
org.apache.commons.logging.Log v, v, v;
java.util.Queue v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Closing expired connections");
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue freeConnections>;
v = interfaceinvoke v.<java.util.Queue: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: boolean isExpired(long)>(v);
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = new java.util.Date;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: long getExpiry()>();
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.Date)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Closing connection expired @ \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
interfaceinvoke v.<java.util.Iterator: void remove()>();
virtualinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void shutdown()
{
java.lang.Throwable v;
org.apache.http.conn.routing.HttpRoute v;
java.util.Map v;
java.lang.String v;
boolean v, v, v, v, v;
java.util.Iterator v, v, v;
java.util.Set v;
java.util.concurrent.locks.Lock v, v, v, v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
java.lang.Object v, v, v, v;
org.apache.commons.logging.Log v, v;
java.util.Queue v, v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: boolean shutdown>;
if v == 0 goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
return;
label:
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: boolean shutdown> = 1;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Set leasedConnections>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.Iterator: void remove()>();
specialinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void closeConnection(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue freeConnections>;
v = interfaceinvoke v.<java.util.Queue: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.Iterator: void remove()>();
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: org.apache.http.conn.routing.HttpRoute getPlannedRoute()>();
v = virtualinvoke v.<org.apache.http.impl.conn.tsccm.BasicPoolEntry: java.lang.Object getState()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.conn.routing.HttpRoute,java.lang.Object)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Closing connection [\u][\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
specialinvoke v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: void closeConnection(org.apache.http.impl.conn.tsccm.BasicPoolEntry)>(v);
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Queue waitingThreads>;
v = interfaceinvoke v.<java.util.Queue: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.Iterator: void remove()>();
virtualinvoke v.<org.apache.http.impl.conn.tsccm.WaitingThread: void wakeup()>();
goto label;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.Map routeToPool>;
interfaceinvoke v.<java.util.Map: void clear()>();
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void setMaxTotalConnections(int)
{
java.lang.Throwable v;
java.util.concurrent.locks.Lock v, v, v;
int v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v := @parameter: int;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
label:
v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int maxTotalConnections> = v;
label:
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: java.util.concurrent.locks.Lock poolLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public int getMaxTotalConnections()
{
int v;
org.apache.http.impl.conn.tsccm.ConnPoolByRoute v;
v := @this: org.apache.http.impl.conn.tsccm.ConnPoolByRoute;
v = v.<org.apache.http.impl.conn.tsccm.ConnPoolByRoute: int maxTotalConnections>;
return v;
}
}