public class org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager extends java.lang.Object implements org.apache.hc.client.http.io.HttpClientConnectionManager
{
private static final org.slf4j.Logger LOG;
private static final java.util.concurrent.atomic.AtomicLong COUNT;
private final org.apache.hc.client.http.io.HttpClientConnectionOperator connectionOperator;
private final org.apache.hc.core.http.io.HttpConnectionFactory connFactory;
private final java.lang.String id;
private org.apache.hc.client.http.io.ManagedHttpClientConnection conn;
private org.apache.hc.client.http.HttpRoute route;
private java.lang.Object state;
private long updated;
private long expiry;
private boolean leased;
private org.apache.hc.core.http.io.SocketConfig socketConfig;
private final java.util.concurrent.atomic.AtomicBoolean closed;
private volatile org.apache.hc.core.util.TimeValue validateAfterInactivity;
private static org.apache.hc.core.http.config.Registry getDefaultRegistry()
{
org.apache.hc.core.http.URIScheme v, v;
org.apache.hc.core.http.config.Registry v;
org.apache.hc.core.http.config.RegistryBuilder v, v, v;
org.apache.hc.client.http.ssl.SSLConnectionSocketFactory v;
org.apache.hc.client.http.socket.PlainConnectionSocketFactory v;
java.lang.String v, v;
v = staticinvoke <org.apache.hc.core.http.config.RegistryBuilder: org.apache.hc.core.http.config.RegistryBuilder create()>();
v = <org.apache.hc.core.http.URIScheme: org.apache.hc.core.http.URIScheme HTTP>;
v = v.<org.apache.hc.core.http.URIScheme: java.lang.String id>;
v = staticinvoke <org.apache.hc.client.http.socket.PlainConnectionSocketFactory: org.apache.hc.client.http.socket.PlainConnectionSocketFactory getSocketFactory()>();
v = virtualinvoke v.<org.apache.hc.core.http.config.RegistryBuilder: org.apache.hc.core.http.config.RegistryBuilder register(java.lang.String,java.lang.Object)>(v, v);
v = <org.apache.hc.core.http.URIScheme: org.apache.hc.core.http.URIScheme HTTPS>;
v = v.<org.apache.hc.core.http.URIScheme: java.lang.String id>;
v = staticinvoke <org.apache.hc.client.http.ssl.SSLConnectionSocketFactory: org.apache.hc.client.http.ssl.SSLConnectionSocketFactory getSocketFactory()>();
v = virtualinvoke v.<org.apache.hc.core.http.config.RegistryBuilder: org.apache.hc.core.http.config.RegistryBuilder register(java.lang.String,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.hc.core.http.config.RegistryBuilder: org.apache.hc.core.http.config.Registry build()>();
return v;
}
public void <init>(org.apache.hc.core.http.config.Lookup, org.apache.hc.core.http.io.HttpConnectionFactory, org.apache.hc.client.http.SchemePortResolver, org.apache.hc.client.http.DnsResolver)
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.http.io.HttpConnectionFactory v;
org.apache.hc.core.http.config.Lookup v;
org.apache.hc.client.http.SchemePortResolver v;
org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator v;
org.apache.hc.client.http.DnsResolver v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.core.http.config.Lookup;
v := @parameter: org.apache.hc.core.http.io.HttpConnectionFactory;
v := @parameter: org.apache.hc.client.http.SchemePortResolver;
v := @parameter: org.apache.hc.client.http.DnsResolver;
v = new org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator;
specialinvoke v.<org.apache.hc.client.http.impl.io.DefaultHttpClientConnectionOperator: void <init>(org.apache.hc.core.http.config.Lookup,org.apache.hc.client.http.SchemePortResolver,org.apache.hc.client.http.DnsResolver)>(v, v, v);
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void <init>(org.apache.hc.client.http.io.HttpClientConnectionOperator,org.apache.hc.core.http.io.HttpConnectionFactory)>(v, v);
return;
}
public void <init>(org.apache.hc.client.http.io.HttpClientConnectionOperator, org.apache.hc.core.http.io.HttpConnectionFactory)
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.http.io.HttpConnectionFactory v, v;
org.apache.hc.core.util.TimeValue v;
java.lang.Object[] v;
java.util.concurrent.atomic.AtomicBoolean v;
long v;
org.apache.hc.core.http.io.SocketConfig v;
org.apache.hc.client.http.io.HttpClientConnectionOperator v;
java.util.concurrent.atomic.AtomicLong v;
java.lang.Long v;
java.lang.Object v;
java.lang.String v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.client.http.io.HttpClientConnectionOperator;
v := @parameter: org.apache.hc.core.http.io.HttpConnectionFactory;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Connection operator");
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.HttpClientConnectionOperator connectionOperator> = v;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.hc.client.http.impl.io.ManagedHttpClientConnectionFactory: org.apache.hc.client.http.impl.io.ManagedHttpClientConnectionFactory INSTANCE>;
label:
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.http.io.HttpConnectionFactory connFactory> = v;
v = newarray (java.lang.Object)[1];
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.util.concurrent.atomic.AtomicLong COUNT>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long getAndIncrement()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("ep-%010d", v);
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.String id> = v;
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: long expiry> = 9223372036854775807L;
v = <org.apache.hc.core.http.io.SocketConfig: org.apache.hc.core.http.io.SocketConfig DEFAULT>;
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.http.io.SocketConfig socketConfig> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.util.concurrent.atomic.AtomicBoolean closed> = v;
v = staticinvoke <org.apache.hc.core.util.TimeValue: org.apache.hc.core.util.TimeValue ofSeconds(long)>(2L);
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.util.TimeValue validateAfterInactivity> = v;
return;
}
public void <init>(org.apache.hc.core.http.config.Lookup, org.apache.hc.core.http.io.HttpConnectionFactory)
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.http.config.Lookup v;
org.apache.hc.core.http.io.HttpConnectionFactory v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.core.http.config.Lookup;
v := @parameter: org.apache.hc.core.http.io.HttpConnectionFactory;
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void <init>(org.apache.hc.core.http.config.Lookup,org.apache.hc.core.http.io.HttpConnectionFactory,org.apache.hc.client.http.SchemePortResolver,org.apache.hc.client.http.DnsResolver)>(v, v, null, null);
return;
}
public void <init>(org.apache.hc.core.http.config.Lookup)
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.http.config.Lookup v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.core.http.config.Lookup;
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void <init>(org.apache.hc.core.http.config.Lookup,org.apache.hc.core.http.io.HttpConnectionFactory,org.apache.hc.client.http.SchemePortResolver,org.apache.hc.client.http.DnsResolver)>(v, null, null, null);
return;
}
public void <init>()
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.http.config.Registry v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v = staticinvoke <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.http.config.Registry getDefaultRegistry()>();
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void <init>(org.apache.hc.core.http.config.Lookup,org.apache.hc.core.http.io.HttpConnectionFactory,org.apache.hc.client.http.SchemePortResolver,org.apache.hc.client.http.DnsResolver)>(v, null, null, null);
return;
}
public void close()
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.io.CloseMode v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v = <org.apache.hc.core.io.CloseMode: org.apache.hc.core.io.CloseMode GRACEFUL>;
virtualinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void close(org.apache.hc.core.io.CloseMode)>(v);
return;
}
public void close(org.apache.hc.core.io.CloseMode)
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.io.CloseMode v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.core.io.CloseMode;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.util.concurrent.atomic.AtomicBoolean closed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void closeConnection(org.apache.hc.core.io.CloseMode)>(v);
label:
return;
}
org.apache.hc.client.http.HttpRoute getRoute()
{
org.apache.hc.client.http.HttpRoute v;
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.HttpRoute route>;
return v;
}
java.lang.Object getState()
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
java.lang.Object v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.Object state>;
return v;
}
public synchronized org.apache.hc.core.http.io.SocketConfig getSocketConfig()
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.http.io.SocketConfig v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.http.io.SocketConfig socketConfig>;
return v;
}
public synchronized void setSocketConfig(org.apache.hc.core.http.io.SocketConfig)
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.http.io.SocketConfig v, v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.core.http.io.SocketConfig;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.hc.core.http.io.SocketConfig: org.apache.hc.core.http.io.SocketConfig DEFAULT>;
label:
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.http.io.SocketConfig socketConfig> = v;
return;
}
public org.apache.hc.client.http.io.LeaseRequest lease(java.lang.String, org.apache.hc.client.http.HttpRoute, java.lang.Object)
{
org.apache.hc.client.http.HttpRoute v;
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.client.http.io.LeaseRequest v;
java.lang.Object v;
java.lang.String v;
org.apache.hc.core.util.Timeout v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hc.client.http.HttpRoute;
v := @parameter: java.lang.Object;
v = <org.apache.hc.core.util.Timeout: org.apache.hc.core.util.Timeout DISABLED>;
v = virtualinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.LeaseRequest lease(java.lang.String,org.apache.hc.client.http.HttpRoute,org.apache.hc.core.util.Timeout,java.lang.Object)>(v, v, v, v);
return v;
}
public org.apache.hc.client.http.io.LeaseRequest lease(java.lang.String, org.apache.hc.client.http.HttpRoute, org.apache.hc.core.util.Timeout, java.lang.Object)
{
org.apache.hc.client.http.HttpRoute v;
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$1 v;
java.lang.Object v;
java.lang.String v;
org.apache.hc.core.util.Timeout v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: java.lang.String;
v := @parameter: org.apache.hc.client.http.HttpRoute;
v := @parameter: org.apache.hc.core.util.Timeout;
v := @parameter: java.lang.Object;
v = new org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$1;
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$1: void <init>(org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager,org.apache.hc.client.http.HttpRoute,java.lang.Object)>(v, v, v);
return v;
}
private synchronized void closeConnection(org.apache.hc.core.io.CloseMode)
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.slf4j.Logger v, v;
org.apache.hc.core.io.CloseMode v;
java.lang.String v;
org.apache.hc.client.http.io.ManagedHttpClientConnection v, v;
boolean v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.core.io.CloseMode;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
if v == null goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.String id>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("{} Closing connection {}", v, v);
label:
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: void close(org.apache.hc.core.io.CloseMode)>(v);
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn> = null;
label:
return;
}
private void checkExpiry()
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.slf4j.Logger v, v;
java.util.Date v;
long v, v, v;
byte v;
org.apache.hc.core.io.CloseMode v;
java.lang.String v;
org.apache.hc.client.http.io.ManagedHttpClientConnection v;
boolean v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
if v == null goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: long expiry>;
v = v cmp v;
if v < 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.String id>;
v = new java.util.Date;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: long expiry>;
specialinvoke v.<java.util.Date: void <init>(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("{} Connection expired @ {}", v, v);
label:
v = <org.apache.hc.core.io.CloseMode: org.apache.hc.core.io.CloseMode GRACEFUL>;
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void closeConnection(org.apache.hc.core.io.CloseMode)>(v);
label:
return;
}
private void validate()
{
long v, v, v, v;
byte v;
org.apache.hc.core.io.CloseMode v;
java.lang.String v, v;
boolean v, v, v;
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.util.TimeValue v;
org.slf4j.Logger v, v;
java.io.IOException v;
org.apache.hc.client.http.io.ManagedHttpClientConnection v, v, v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.util.TimeValue validateAfterInactivity>;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
if v == null goto label;
v = staticinvoke <org.apache.hc.core.util.TimeValue: boolean isNonNegative(org.apache.hc.core.util.TimeValue)>(v);
if v == 0 goto label;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: long updated>;
v = virtualinvoke v.<org.apache.hc.core.util.TimeValue: long toMilliseconds()>();
v = v + v;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v cmp v;
if v > 0 goto label;
label:
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
v = interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: boolean isStale()>();
label:
goto label;
label:
v := @caughtexception;
v = 1;
label:
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.String id>;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
v = staticinvoke <org.apache.hc.client.http.impl.ConnPoolSupport: java.lang.String getId(java.lang.Object)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("{} connection {} is stale", v, v);
label:
v = <org.apache.hc.core.io.CloseMode: org.apache.hc.core.io.CloseMode GRACEFUL>;
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void closeConnection(org.apache.hc.core.io.CloseMode)>(v);
label:
return;
catch java.io.IOException from label to label with label;
}
synchronized org.apache.hc.client.http.io.ManagedHttpClientConnection getConnection(org.apache.hc.client.http.HttpRoute, java.lang.Object) throws java.io.IOException
{
org.apache.hc.core.http.io.HttpConnectionFactory v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.hc.core.io.CloseMode v;
java.lang.String v;
boolean v, v, v, v, v, v, v;
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.slf4j.Logger v, v;
org.apache.hc.client.http.HttpRoute v, v;
org.apache.hc.core.http.HttpConnection v;
java.lang.Object v, v;
org.apache.hc.client.http.io.ManagedHttpClientConnection v, v, v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.client.http.HttpRoute;
v := @parameter: java.lang.Object;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.util.concurrent.atomic.AtomicBoolean closed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.hc.core.util.Asserts: void check(boolean,java.lang.String)>(v, "Connection manager has been shut down");
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.String id>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("{} Get connection for route {}", v, v);
label:
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: boolean leased>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.hc.core.util.Asserts: void check(boolean,java.lang.String)>(v, "Connection is still allocated");
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.HttpRoute route>;
v = staticinvoke <org.apache.hc.core.util.LangUtils: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.Object state>;
v = staticinvoke <org.apache.hc.core.util.LangUtils: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
label:
v = <org.apache.hc.core.io.CloseMode: org.apache.hc.core.io.CloseMode GRACEFUL>;
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void closeConnection(org.apache.hc.core.io.CloseMode)>(v);
label:
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.HttpRoute route> = v;
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.Object state> = v;
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void checkExpiry()>();
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void validate()>();
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
if v != null goto label;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.http.io.HttpConnectionFactory connFactory>;
v = interfaceinvoke v.<org.apache.hc.core.http.io.HttpConnectionFactory: org.apache.hc.core.http.HttpConnection createConnection(java.net.Socket)>(null);
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn> = v;
goto label;
label:
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: void activate()>();
label:
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: boolean leased> = 1;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
return v;
}
private org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint cast(org.apache.hc.client.http.io.ConnectionEndpoint)
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
java.lang.IllegalStateException v;
org.apache.hc.client.http.io.ConnectionEndpoint v;
java.lang.Class v;
java.lang.String v;
boolean v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.client.http.io.ConnectionEndpoint;
v = v instanceof org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint;
if v == 0 goto label;
return v;
label:
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Class)>(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[])>("Unexpected endpoint class: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
}
public synchronized void release(org.apache.hc.client.http.io.ConnectionEndpoint, java.lang.Object, org.apache.hc.core.util.TimeValue)
{
org.apache.hc.client.http.io.ConnectionEndpoint v;
boolean v, v, v, v, v, v, v, v;
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.util.TimeValue v;
java.lang.Throwable v;
java.util.concurrent.atomic.AtomicBoolean v;
long v, v, v, v;
org.apache.hc.core.io.CloseMode v;
java.lang.String v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v;
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint v;
java.lang.Object v;
org.apache.hc.client.http.io.ManagedHttpClientConnection v, v, v, v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.client.http.io.ConnectionEndpoint;
v := @parameter: java.lang.Object;
v := @parameter: org.apache.hc.core.util.TimeValue;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Managed endpoint");
v = specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint cast(org.apache.hc.client.http.io.ConnectionEndpoint)>(v);
v = virtualinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint: org.apache.hc.client.http.io.ManagedHttpClientConnection detach()>();
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.String id>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("{} Releasing connection {}", v, v);
label:
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.util.concurrent.atomic.AtomicBoolean closed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
return;
label:
if v != null goto label;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
v = <org.apache.hc.core.io.CloseMode: org.apache.hc.core.io.CloseMode GRACEFUL>;
interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: void close(org.apache.hc.core.io.CloseMode)>(v);
label:
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: long updated> = v;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
v = interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: boolean isOpen()>();
if v != 0 goto label;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn>;
v = interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: boolean isConsistent()>();
if v != 0 goto label;
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn> = null;
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.HttpRoute route> = null;
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.ManagedHttpClientConnection conn> = null;
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: long expiry> = 9223372036854775807L;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.String id>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("{} Connection is not kept alive", v);
goto label;
label:
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.Object state> = v;
if v == null goto label;
interfaceinvoke v.<org.apache.hc.client.http.io.ManagedHttpClientConnection: void passivate()>();
label:
v = staticinvoke <org.apache.hc.core.util.TimeValue: boolean isPositive(org.apache.hc.core.util.TimeValue)>(v);
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.String id>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("{} Connection can be kept alive for {}", v, v);
label:
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: long updated>;
v = virtualinvoke v.<org.apache.hc.core.util.TimeValue: long toMilliseconds()>();
v = v + v;
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: long expiry> = v;
goto label;
label:
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG>;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.lang.String id>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("{} Connection can be kept alive indefinitely", v);
label:
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: long expiry> = 9223372036854775807L;
label:
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: boolean leased> = 0;
goto label;
label:
v := @caughtexception;
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: boolean leased> = 0;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void connect(org.apache.hc.client.http.io.ConnectionEndpoint, org.apache.hc.core.util.TimeValue, org.apache.hc.core.http.protocol.HttpContext) throws java.io.IOException
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.util.TimeValue v;
org.apache.hc.core.http.protocol.HttpContext v;
org.apache.hc.core.http.io.SocketConfig v;
java.net.InetSocketAddress v;
org.apache.hc.client.http.io.HttpClientConnectionOperator v;
org.apache.hc.client.http.HttpRoute v;
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint v;
org.apache.hc.core.http.HttpHost v, v;
org.apache.hc.client.http.io.ConnectionEndpoint v;
org.apache.hc.client.http.io.ManagedHttpClientConnection v;
boolean v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.client.http.io.ConnectionEndpoint;
v := @parameter: org.apache.hc.core.util.TimeValue;
v := @parameter: org.apache.hc.core.http.protocol.HttpContext;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Endpoint");
v = specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint cast(org.apache.hc.client.http.io.ConnectionEndpoint)>(v);
v = virtualinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint: boolean isConnected()>();
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint: org.apache.hc.client.http.HttpRoute getRoute()>();
v = virtualinvoke v.<org.apache.hc.client.http.HttpRoute: org.apache.hc.core.http.HttpHost getProxyHost()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.hc.client.http.HttpRoute: org.apache.hc.core.http.HttpHost getProxyHost()>();
goto label;
label:
v = virtualinvoke v.<org.apache.hc.client.http.HttpRoute: org.apache.hc.core.http.HttpHost getTargetHost()>();
label:
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.HttpClientConnectionOperator connectionOperator>;
v = virtualinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint: org.apache.hc.client.http.io.ManagedHttpClientConnection getConnection()>();
v = virtualinvoke v.<org.apache.hc.client.http.HttpRoute: java.net.InetSocketAddress getLocalSocketAddress()>();
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.http.io.SocketConfig socketConfig>;
interfaceinvoke v.<org.apache.hc.client.http.io.HttpClientConnectionOperator: void connect(org.apache.hc.client.http.io.ManagedHttpClientConnection,org.apache.hc.core.http.HttpHost,java.net.InetSocketAddress,org.apache.hc.core.util.TimeValue,org.apache.hc.core.http.io.SocketConfig,org.apache.hc.core.http.protocol.HttpContext)>(v, v, v, v, v, v);
return;
}
public void upgrade(org.apache.hc.client.http.io.ConnectionEndpoint, org.apache.hc.core.http.protocol.HttpContext) throws java.io.IOException
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.http.protocol.HttpContext v;
org.apache.hc.client.http.io.HttpClientConnectionOperator v;
org.apache.hc.client.http.HttpRoute v, v;
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint v;
org.apache.hc.core.http.HttpHost v;
org.apache.hc.client.http.io.ConnectionEndpoint v;
org.apache.hc.client.http.io.ManagedHttpClientConnection v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.client.http.io.ConnectionEndpoint;
v := @parameter: org.apache.hc.core.http.protocol.HttpContext;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Endpoint");
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.HttpRoute route>;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HTTP route");
v = specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint cast(org.apache.hc.client.http.io.ConnectionEndpoint)>(v);
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.client.http.io.HttpClientConnectionOperator connectionOperator>;
v = virtualinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint: org.apache.hc.client.http.io.ManagedHttpClientConnection getConnection()>();
v = virtualinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager$InternalConnectionEndpoint: org.apache.hc.client.http.HttpRoute getRoute()>();
v = virtualinvoke v.<org.apache.hc.client.http.HttpRoute: org.apache.hc.core.http.HttpHost getTargetHost()>();
interfaceinvoke v.<org.apache.hc.client.http.io.HttpClientConnectionOperator: void upgrade(org.apache.hc.client.http.io.ManagedHttpClientConnection,org.apache.hc.core.http.HttpHost,org.apache.hc.core.http.protocol.HttpContext)>(v, v, v);
return;
}
public synchronized void closeExpired()
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
java.util.concurrent.atomic.AtomicBoolean v;
boolean v, v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.util.concurrent.atomic.AtomicBoolean closed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
return;
label:
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: boolean leased>;
if v != 0 goto label;
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void checkExpiry()>();
label:
return;
}
public synchronized void closeIdle(org.apache.hc.core.util.TimeValue)
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.util.TimeValue v;
java.util.concurrent.atomic.AtomicBoolean v;
long v, v, v, v;
byte v, v;
org.apache.hc.core.io.CloseMode v;
boolean v, v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.core.util.TimeValue;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Idle time");
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.util.concurrent.atomic.AtomicBoolean closed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
return;
label:
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: boolean leased>;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.hc.core.util.TimeValue: long toMilliseconds()>();
v = v cmp 0L;
if v >= 0 goto label;
v = 0L;
label:
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: long updated>;
v = v cmp v;
if v > 0 goto label;
v = <org.apache.hc.core.io.CloseMode: org.apache.hc.core.io.CloseMode GRACEFUL>;
specialinvoke v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: void closeConnection(org.apache.hc.core.io.CloseMode)>(v);
label:
return;
}
public org.apache.hc.core.util.TimeValue getValidateAfterInactivity()
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.util.TimeValue v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v = v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.util.TimeValue validateAfterInactivity>;
return v;
}
public void setValidateAfterInactivity(org.apache.hc.core.util.TimeValue)
{
org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager v;
org.apache.hc.core.util.TimeValue v;
v := @this: org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager;
v := @parameter: org.apache.hc.core.util.TimeValue;
v.<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.apache.hc.core.util.TimeValue validateAfterInactivity> = v;
return;
}
static void <clinit>()
{
java.util.concurrent.atomic.AtomicLong v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/hc/client5/http/impl/io/BasicHttpClientConnectionManager;");
<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: org.slf4j.Logger LOG> = v;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(0L);
<org.apache.hc.client.http.impl.io.BasicHttpClientConnectionManager: java.util.concurrent.atomic.AtomicLong COUNT> = v;
return;
}
}