public class org.apache.http.impl.conn.PoolingClientConnectionManager extends java.lang.Object implements org.apache.http.conn.ClientConnectionManager, org.apache.http.pool.ConnPoolControl
{
private final org.apache.commons.logging.Log log;
private final org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
private final org.apache.http.impl.conn.HttpConnPool pool;
private final org.apache.http.conn.ClientConnectionOperator operator;
private final org.apache.http.conn.DnsResolver dnsResolver;
public void <init>(org.apache.http.conn.scheme.SchemeRegistry)
{
java.util.concurrent.TimeUnit v;
org.apache.http.conn.scheme.SchemeRegistry v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.scheme.SchemeRegistry;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: void <init>(org.apache.http.conn.scheme.SchemeRegistry,long,java.util.concurrent.TimeUnit)>(v, -1L, v);
return;
}
public void <init>(org.apache.http.conn.scheme.SchemeRegistry, org.apache.http.conn.DnsResolver)
{
java.util.concurrent.TimeUnit v;
org.apache.http.conn.scheme.SchemeRegistry v;
org.apache.http.conn.DnsResolver v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.scheme.SchemeRegistry;
v := @parameter: org.apache.http.conn.DnsResolver;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: void <init>(org.apache.http.conn.scheme.SchemeRegistry,long,java.util.concurrent.TimeUnit,org.apache.http.conn.DnsResolver)>(v, -1L, v, v);
return;
}
public void <init>()
{
org.apache.http.conn.scheme.SchemeRegistry v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v = staticinvoke <org.apache.http.impl.conn.SchemeRegistryFactory: org.apache.http.conn.scheme.SchemeRegistry createDefault()>();
specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: void <init>(org.apache.http.conn.scheme.SchemeRegistry)>(v);
return;
}
public void <init>(org.apache.http.conn.scheme.SchemeRegistry, long, java.util.concurrent.TimeUnit)
{
java.util.concurrent.TimeUnit v;
org.apache.http.conn.scheme.SchemeRegistry v;
org.apache.http.impl.conn.SystemDefaultDnsResolver v;
long v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.scheme.SchemeRegistry;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = new org.apache.http.impl.conn.SystemDefaultDnsResolver;
specialinvoke v.<org.apache.http.impl.conn.SystemDefaultDnsResolver: void <init>()>();
specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: void <init>(org.apache.http.conn.scheme.SchemeRegistry,long,java.util.concurrent.TimeUnit,org.apache.http.conn.DnsResolver)>(v, v, v, v);
return;
}
public void <init>(org.apache.http.conn.scheme.SchemeRegistry, long, java.util.concurrent.TimeUnit, org.apache.http.conn.DnsResolver)
{
org.apache.http.conn.scheme.SchemeRegistry v;
org.apache.http.impl.conn.HttpConnPool v;
org.apache.http.conn.DnsResolver v;
long v;
java.util.concurrent.TimeUnit v;
org.apache.http.conn.ClientConnectionOperator v, v;
java.lang.Class v;
org.apache.commons.logging.Log v, v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.scheme.SchemeRegistry;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: org.apache.http.conn.DnsResolver;
specialinvoke v.<java.lang.Object: 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.PoolingClientConnectionManager: org.apache.commons.logging.Log log> = v;
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Scheme registry");
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "DNS resolver");
v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.conn.scheme.SchemeRegistry schemeRegistry> = v;
v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.conn.DnsResolver dnsResolver> = v;
v = virtualinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.conn.ClientConnectionOperator createConnectionOperator(org.apache.http.conn.scheme.SchemeRegistry)>(v);
v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.conn.ClientConnectionOperator operator> = v;
v = new org.apache.http.impl.conn.HttpConnPool;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.conn.ClientConnectionOperator operator>;
specialinvoke v.<org.apache.http.impl.conn.HttpConnPool: void <init>(org.apache.commons.logging.Log,org.apache.http.conn.ClientConnectionOperator,int,int,long,java.util.concurrent.TimeUnit)>(v, v, 2, 20, v, v);
v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool> = v;
return;
}
protected void finalize() throws java.lang.Throwable
{
java.lang.Throwable v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
label:
virtualinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: void shutdown()>();
label:
specialinvoke v.<java.lang.Object: void finalize()>();
goto label;
label:
v := @caughtexception;
specialinvoke v.<java.lang.Object: void finalize()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected org.apache.http.conn.ClientConnectionOperator createConnectionOperator(org.apache.http.conn.scheme.SchemeRegistry)
{
org.apache.http.conn.scheme.SchemeRegistry v;
org.apache.http.conn.DnsResolver v;
org.apache.http.impl.conn.DefaultClientConnectionOperator v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.scheme.SchemeRegistry;
v = new org.apache.http.impl.conn.DefaultClientConnectionOperator;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.conn.DnsResolver dnsResolver>;
specialinvoke v.<org.apache.http.impl.conn.DefaultClientConnectionOperator: void <init>(org.apache.http.conn.scheme.SchemeRegistry,org.apache.http.conn.DnsResolver)>(v, v);
return v;
}
public org.apache.http.conn.scheme.SchemeRegistry getSchemeRegistry()
{
org.apache.http.conn.scheme.SchemeRegistry v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.conn.scheme.SchemeRegistry schemeRegistry>;
return v;
}
private java.lang.String format(org.apache.http.conn.routing.HttpRoute, java.lang.Object)
{
org.apache.http.conn.routing.HttpRoute v;
java.lang.Object v;
java.lang.StringBuilder v, v, v, v, v;
java.lang.String v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v := @parameter: java.lang.Object;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[route: ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("]");
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[state: ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("]");
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private java.lang.String formatStats(org.apache.http.conn.routing.HttpRoute)
{
org.apache.http.impl.conn.HttpConnPool v, v;
org.apache.http.conn.routing.HttpRoute v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
org.apache.http.pool.PoolStats v, v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
v = virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: org.apache.http.pool.PoolStats getTotalStats()>();
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
v = virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: org.apache.http.pool.PoolStats getStats(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[total kept alive: ");
v = virtualinvoke v.<org.apache.http.pool.PoolStats: int getAvailable()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("; ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("route allocated: ");
v = virtualinvoke v.<org.apache.http.pool.PoolStats: int getLeased()>();
v = virtualinvoke v.<org.apache.http.pool.PoolStats: int getAvailable()>();
v = v + v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" of ");
v = virtualinvoke v.<org.apache.http.pool.PoolStats: int getMax()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("; ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("total allocated: ");
v = virtualinvoke v.<org.apache.http.pool.PoolStats: int getLeased()>();
v = virtualinvoke v.<org.apache.http.pool.PoolStats: int getAvailable()>();
v = v + v;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" of ");
v = virtualinvoke v.<org.apache.http.pool.PoolStats: int getMax()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("]");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private java.lang.String format(org.apache.http.impl.conn.HttpPoolEntry)
{
org.apache.http.impl.conn.HttpPoolEntry v;
java.lang.Object v, v;
java.lang.StringBuilder v, v, v, v, v, v, v;
java.lang.String v, v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.impl.conn.HttpPoolEntry;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[id: ");
v = virtualinvoke v.<org.apache.http.impl.conn.HttpPoolEntry: java.lang.String getId()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("]");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[route: ");
v = virtualinvoke v.<org.apache.http.impl.conn.HttpPoolEntry: java.lang.Object getRoute()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("]");
v = virtualinvoke v.<org.apache.http.impl.conn.HttpPoolEntry: java.lang.Object getState()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[state: ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("]");
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public org.apache.http.conn.ClientConnectionRequest requestConnection(org.apache.http.conn.routing.HttpRoute, java.lang.Object)
{
org.apache.http.impl.conn.HttpConnPool v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.PoolingClientConnectionManager$1 v;
java.util.concurrent.Future v;
java.lang.Object v;
org.apache.commons.logging.Log v, v;
java.lang.String v, v, v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
boolean v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v := @parameter: java.lang.Object;
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HTTP route");
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: 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.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
v = specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: java.lang.String format(org.apache.http.conn.routing.HttpRoute,java.lang.Object)>(v, v);
v = specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: java.lang.String formatStats(org.apache.http.conn.routing.HttpRoute)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("Connection request: \u0001\u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
v = virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: java.util.concurrent.Future lease(java.lang.Object,java.lang.Object)>(v, v);
v = new org.apache.http.impl.conn.PoolingClientConnectionManager$1;
specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager$1: void <init>(org.apache.http.impl.conn.PoolingClientConnectionManager,java.util.concurrent.Future)>(v, v);
return v;
}
org.apache.http.conn.ManagedClientConnection leaseConnection(java.util.concurrent.Future, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, org.apache.http.conn.ConnectionPoolTimeoutException
{
java.lang.Throwable v;
org.apache.http.impl.conn.ManagedClientConnectionImpl v;
java.util.concurrent.TimeoutException v;
long v;
java.util.concurrent.Future v;
org.apache.http.conn.ClientConnectionOperator v;
java.lang.String v, v, v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
boolean v, v, v;
org.apache.http.conn.ConnectionPoolTimeoutException v;
java.util.concurrent.ExecutionException v;
java.util.concurrent.TimeUnit v;
java.lang.InterruptedException v, v;
java.lang.Object v, v, v;
org.apache.commons.logging.Log v, v, v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: java.util.concurrent.Future;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
label:
v = interfaceinvoke v.<java.util.concurrent.Future: java.lang.Object get(long,java.util.concurrent.TimeUnit)>(v, v);
if v == null goto label;
v = interfaceinvoke v.<java.util.concurrent.Future: boolean isCancelled()>();
if v == 0 goto label;
label:
v = new java.lang.InterruptedException;
specialinvoke v.<java.lang.InterruptedException: void <init>()>();
throw v;
label:
v = virtualinvoke v.<org.apache.http.impl.conn.HttpPoolEntry: java.lang.Object getConnection()>();
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.http.util.Asserts: void check(boolean,java.lang.String)>(v, "Pool entry with no connection");
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: 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.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
v = specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: java.lang.String format(org.apache.http.impl.conn.HttpPoolEntry)>(v);
v = virtualinvoke v.<org.apache.http.impl.conn.HttpPoolEntry: java.lang.Object getRoute()>();
v = specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: java.lang.String formatStats(org.apache.http.conn.routing.HttpRoute)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("Connection leased: \u0001\u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = new org.apache.http.impl.conn.ManagedClientConnectionImpl;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.conn.ClientConnectionOperator operator>;
specialinvoke v.<org.apache.http.impl.conn.ManagedClientConnectionImpl: void <init>(org.apache.http.conn.ClientConnectionManager,org.apache.http.conn.ClientConnectionOperator,org.apache.http.impl.conn.HttpPoolEntry)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.util.concurrent.ExecutionException: java.lang.Throwable getCause()>();
if v != null goto label;
v = v;
label:
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void error(java.lang.Object,java.lang.Throwable)>("Unexpected exception leasing connection from pool", v);
v = new java.lang.InterruptedException;
specialinvoke v.<java.lang.InterruptedException: void <init>()>();
throw v;
label:
v := @caughtexception;
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;
catch java.util.concurrent.ExecutionException from label to label with label;
catch java.util.concurrent.TimeoutException from label to label with label;
}
public void releaseConnection(org.apache.http.conn.ManagedClientConnection, long, java.util.concurrent.TimeUnit)
{
org.apache.http.impl.conn.HttpConnPool v, v;
byte v;
boolean v, v, v, v, v, v, v, v, v, v;
org.apache.http.conn.ClientConnectionManager v;
org.apache.http.impl.conn.HttpPoolEntry v;
java.lang.Throwable v, v;
long v;
java.lang.String v, v, v, v, v, v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
java.io.IOException v;
org.apache.http.conn.ManagedClientConnection v;
java.util.concurrent.TimeUnit v, v;
java.lang.Object v;
org.apache.commons.logging.Log v, v, v, v, v, v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.ManagedClientConnection;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v instanceof org.apache.http.impl.conn.ManagedClientConnectionImpl;
staticinvoke <org.apache.http.util.Args: void check(boolean,java.lang.String)>(v, "Connection class mismatch, connection not obtained from this manager");
v = virtualinvoke v.<org.apache.http.impl.conn.ManagedClientConnectionImpl: org.apache.http.conn.ClientConnectionManager getManager()>();
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.http.util.Asserts: void check(boolean,java.lang.String)>(v, "Connection not obtained from this manager");
entermonitor v;
label:
v = virtualinvoke v.<org.apache.http.impl.conn.ManagedClientConnectionImpl: org.apache.http.impl.conn.HttpPoolEntry detach()>();
if v != null goto label;
exitmonitor v;
label:
return;
label:
v = virtualinvoke v.<org.apache.http.impl.conn.ManagedClientConnectionImpl: boolean isOpen()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.http.impl.conn.ManagedClientConnectionImpl: boolean isMarkedReusable()>();
if v != 0 goto label;
label:
virtualinvoke v.<org.apache.http.impl.conn.ManagedClientConnectionImpl: void shutdown()>();
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: 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.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object,java.lang.Throwable)>("I/O exception shutting down released connection", v);
label:
v = virtualinvoke v.<org.apache.http.impl.conn.ManagedClientConnectionImpl: boolean isMarkedReusable()>();
if v == 0 goto label;
if v == null goto label;
v = v;
goto label;
label:
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
label:
virtualinvoke v.<org.apache.http.impl.conn.HttpPoolEntry: void updateExpiry(long,java.util.concurrent.TimeUnit)>(v, v);
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: 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.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
v = specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: java.lang.String format(org.apache.http.impl.conn.HttpPoolEntry)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("Connection \u can be kept alive \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
v = virtualinvoke v.<org.apache.http.impl.conn.ManagedClientConnectionImpl: boolean isMarkedReusable()>();
virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: void release(org.apache.http.pool.PoolEntry,boolean)>(v, v);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
v = virtualinvoke v.<org.apache.http.impl.conn.ManagedClientConnectionImpl: boolean isMarkedReusable()>();
virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: void release(org.apache.http.pool.PoolEntry,boolean)>(v, v);
throw v;
label:
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: 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.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
v = specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: java.lang.String format(org.apache.http.impl.conn.HttpPoolEntry)>(v);
v = virtualinvoke v.<org.apache.http.impl.conn.HttpPoolEntry: java.lang.Object getRoute()>();
v = specialinvoke v.<org.apache.http.impl.conn.PoolingClientConnectionManager: java.lang.String formatStats(org.apache.http.conn.routing.HttpRoute)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("Connection released: \u0001\u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void shutdown()
{
org.apache.http.impl.conn.HttpConnPool v;
java.io.IOException v;
org.apache.commons.logging.Log v, v, v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Connection manager is shutting down");
label:
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: void shutdown()>();
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object,java.lang.Throwable)>("I/O exception shutting down connection manager", v);
label:
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Connection manager shut down");
return;
catch java.io.IOException from label to label with label;
}
public void closeIdleConnections(long, java.util.concurrent.TimeUnit)
{
org.apache.http.impl.conn.HttpConnPool v;
long v;
java.util.concurrent.TimeUnit v;
org.apache.commons.logging.Log v, v;
java.lang.String v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
boolean v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: 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.PoolingClientConnectionManager: 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 = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: void closeIdle(long,java.util.concurrent.TimeUnit)>(v, v);
return;
}
public void closeExpiredConnections()
{
org.apache.commons.logging.Log v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
org.apache.http.impl.conn.HttpConnPool v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Closing expired connections");
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: void closeExpired()>();
return;
}
public int getMaxTotal()
{
int v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
org.apache.http.impl.conn.HttpConnPool v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
v = virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: int getMaxTotal()>();
return v;
}
public void setMaxTotal(int)
{
int v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
org.apache.http.impl.conn.HttpConnPool v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: int;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: void setMaxTotal(int)>(v);
return;
}
public int getDefaultMaxPerRoute()
{
int v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
org.apache.http.impl.conn.HttpConnPool v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
v = virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: int getDefaultMaxPerRoute()>();
return v;
}
public void setDefaultMaxPerRoute(int)
{
int v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
org.apache.http.impl.conn.HttpConnPool v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: int;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: void setDefaultMaxPerRoute(int)>(v);
return;
}
public int getMaxPerRoute(org.apache.http.conn.routing.HttpRoute)
{
org.apache.http.impl.conn.HttpConnPool v;
int v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
v = virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: int getMaxPerRoute(java.lang.Object)>(v);
return v;
}
public void setMaxPerRoute(org.apache.http.conn.routing.HttpRoute, int)
{
org.apache.http.impl.conn.HttpConnPool v;
int v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v := @parameter: int;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: void setMaxPerRoute(java.lang.Object,int)>(v, v);
return;
}
public org.apache.http.pool.PoolStats getTotalStats()
{
org.apache.http.impl.conn.PoolingClientConnectionManager v;
org.apache.http.impl.conn.HttpConnPool v;
org.apache.http.pool.PoolStats v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
v = virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: org.apache.http.pool.PoolStats getTotalStats()>();
return v;
}
public org.apache.http.pool.PoolStats getStats(org.apache.http.conn.routing.HttpRoute)
{
org.apache.http.impl.conn.HttpConnPool v;
org.apache.http.conn.routing.HttpRoute v;
org.apache.http.impl.conn.PoolingClientConnectionManager v;
org.apache.http.pool.PoolStats v;
v := @this: org.apache.http.impl.conn.PoolingClientConnectionManager;
v := @parameter: org.apache.http.conn.routing.HttpRoute;
v = v.<org.apache.http.impl.conn.PoolingClientConnectionManager: org.apache.http.impl.conn.HttpConnPool pool>;
v = virtualinvoke v.<org.apache.http.impl.conn.HttpConnPool: org.apache.http.pool.PoolStats getStats(java.lang.Object)>(v);
return v;
}
}