public class org.apache.hc.client.http.impl.classic.FutureRequestExecutionService extends java.lang.Object implements java.io.Closeable
{
private final org.apache.hc.client.http.classic.HttpClient httpclient;
private final java.util.concurrent.ExecutorService executorService;
private final org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics metrics;
private final java.util.concurrent.atomic.AtomicBoolean closed;
public void <init>(org.apache.hc.client.http.classic.HttpClient, java.util.concurrent.ExecutorService)
{
org.apache.hc.client.http.impl.classic.FutureRequestExecutionService v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.hc.client.http.classic.HttpClient v;
org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics v;
java.util.concurrent.ExecutorService v;
v := @this: org.apache.hc.client.http.impl.classic.FutureRequestExecutionService;
v := @parameter: org.apache.hc.client.http.classic.HttpClient;
v := @parameter: java.util.concurrent.ExecutorService;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics;
specialinvoke v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics: void <init>()>();
v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics metrics> = 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.classic.FutureRequestExecutionService: java.util.concurrent.atomic.AtomicBoolean closed> = v;
v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: org.apache.hc.client.http.classic.HttpClient httpclient> = v;
v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: java.util.concurrent.ExecutorService executorService> = v;
return;
}
public java.util.concurrent.FutureTask execute(org.apache.hc.core.http.ClassicHttpRequest, org.apache.hc.core.http.protocol.HttpContext, org.apache.hc.core.http.io.HttpClientResponseHandler)
{
org.apache.hc.core.http.ClassicHttpRequest v;
org.apache.hc.core.http.io.HttpClientResponseHandler v;
org.apache.hc.client.http.impl.classic.FutureRequestExecutionService v;
org.apache.hc.core.http.protocol.HttpContext v;
java.util.concurrent.FutureTask v;
v := @this: org.apache.hc.client.http.impl.classic.FutureRequestExecutionService;
v := @parameter: org.apache.hc.core.http.ClassicHttpRequest;
v := @parameter: org.apache.hc.core.http.protocol.HttpContext;
v := @parameter: org.apache.hc.core.http.io.HttpClientResponseHandler;
v = virtualinvoke v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: java.util.concurrent.FutureTask execute(org.apache.hc.core.http.ClassicHttpRequest,org.apache.hc.core.http.protocol.HttpContext,org.apache.hc.core.http.io.HttpClientResponseHandler,org.apache.hc.core.concurrent.FutureCallback)>(v, v, v, null);
return v;
}
public java.util.concurrent.FutureTask execute(org.apache.hc.core.http.ClassicHttpRequest, org.apache.hc.core.http.protocol.HttpContext, org.apache.hc.core.http.io.HttpClientResponseHandler, org.apache.hc.core.concurrent.FutureCallback)
{
java.lang.IllegalStateException v;
org.apache.hc.core.http.io.HttpClientResponseHandler v;
org.apache.hc.client.http.impl.classic.FutureRequestExecutionService v;
org.apache.hc.core.http.protocol.HttpContext v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics v, v;
org.apache.hc.core.http.ClassicHttpRequest v;
java.util.concurrent.atomic.AtomicLong v;
org.apache.hc.client.http.impl.classic.HttpRequestTaskCallable v;
org.apache.hc.core.concurrent.FutureCallback v;
org.apache.hc.client.http.classic.HttpClient v;
org.apache.hc.client.http.impl.classic.HttpRequestFutureTask v;
java.util.concurrent.ExecutorService v;
boolean v;
v := @this: org.apache.hc.client.http.impl.classic.FutureRequestExecutionService;
v := @parameter: org.apache.hc.core.http.ClassicHttpRequest;
v := @parameter: org.apache.hc.core.http.protocol.HttpContext;
v := @parameter: org.apache.hc.core.http.io.HttpClientResponseHandler;
v := @parameter: org.apache.hc.core.concurrent.FutureCallback;
v = v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: java.util.concurrent.atomic.AtomicBoolean closed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Close has been called on this httpclient instance.");
throw v;
label:
v = v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics metrics>;
v = virtualinvoke v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics: java.util.concurrent.atomic.AtomicLong getScheduledConnections()>();
virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long incrementAndGet()>();
v = new org.apache.hc.client.http.impl.classic.HttpRequestTaskCallable;
v = v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: org.apache.hc.client.http.classic.HttpClient httpclient>;
v = v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics metrics>;
specialinvoke v.<org.apache.hc.client.http.impl.classic.HttpRequestTaskCallable: void <init>(org.apache.hc.client.http.classic.HttpClient,org.apache.hc.core.http.ClassicHttpRequest,org.apache.hc.core.http.protocol.HttpContext,org.apache.hc.core.http.io.HttpClientResponseHandler,org.apache.hc.core.concurrent.FutureCallback,org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics)>(v, v, v, v, v, v);
v = new org.apache.hc.client.http.impl.classic.HttpRequestFutureTask;
specialinvoke v.<org.apache.hc.client.http.impl.classic.HttpRequestFutureTask: void <init>(org.apache.hc.core.http.ClassicHttpRequest,org.apache.hc.client.http.impl.classic.HttpRequestTaskCallable)>(v, v);
v = v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: java.util.concurrent.ExecutorService executorService>;
interfaceinvoke v.<java.util.concurrent.ExecutorService: void execute(java.lang.Runnable)>(v);
return v;
}
public org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics metrics()
{
org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics v;
org.apache.hc.client.http.impl.classic.FutureRequestExecutionService v;
v := @this: org.apache.hc.client.http.impl.classic.FutureRequestExecutionService;
v = v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: org.apache.hc.client.http.impl.classic.FutureRequestExecutionMetrics metrics>;
return v;
}
public void close() throws java.io.IOException
{
org.apache.hc.client.http.impl.classic.FutureRequestExecutionService v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.hc.client.http.classic.HttpClient v, v;
java.util.concurrent.ExecutorService v;
boolean v;
v := @this: org.apache.hc.client.http.impl.classic.FutureRequestExecutionService;
v = v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: java.util.concurrent.atomic.AtomicBoolean closed>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: java.util.concurrent.ExecutorService executorService>;
interfaceinvoke v.<java.util.concurrent.ExecutorService: java.util.List shutdownNow()>();
v = v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: org.apache.hc.client.http.classic.HttpClient httpclient>;
v = v instanceof java.io.Closeable;
if v == 0 goto label;
v = v.<org.apache.hc.client.http.impl.classic.FutureRequestExecutionService: org.apache.hc.client.http.classic.HttpClient httpclient>;
interfaceinvoke v.<java.io.Closeable: void close()>();
label:
return;
}
}