public class org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer extends org.apache.hc.core.http.impl.nio.AbstractHttp1StreamDuplexer
{
private final org.apache.hc.core.http.protocol.HttpProcessor httpProcessor;
private final org.apache.hc.core.http.ConnectionReuseStrategy connectionReuseStrategy;
private final org.apache.hc.core.http.config.Http1Config http1Config;
private final org.apache.hc.core.http.impl.Http1StreamListener streamListener;
private final java.util.Queue pipeline;
private final org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel;
private volatile org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing;
private volatile org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming;
public void <init>(org.apache.hc.core.reactor.ProtocolIOSession, org.apache.hc.core.http.protocol.HttpProcessor, org.apache.hc.core.http.config.Http1Config, org.apache.hc.core.http.config.CharCodingConfig, org.apache.hc.core.http.ConnectionReuseStrategy, org.apache.hc.core.http.nio.NHttpMessageParser, org.apache.hc.core.http.nio.NHttpMessageWriter, org.apache.hc.core.http.ContentLengthStrategy, org.apache.hc.core.http.ContentLengthStrategy, org.apache.hc.core.http.impl.Http1StreamListener)
{
org.apache.hc.core.http.config.CharCodingConfig v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer$1 v;
org.apache.hc.core.http.nio.NHttpMessageParser v;
org.apache.hc.core.http.protocol.HttpProcessor v;
org.apache.hc.core.http.config.Http1Config v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
org.apache.hc.core.http.nio.NHttpMessageWriter v;
org.apache.hc.core.http.impl.Http1StreamListener v;
org.apache.hc.core.http.ContentLengthStrategy v, v;
org.apache.hc.core.http.ConnectionReuseStrategy v, v;
org.apache.hc.core.reactor.ProtocolIOSession v;
java.lang.Object v;
java.util.concurrent.ConcurrentLinkedQueue v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: org.apache.hc.core.reactor.ProtocolIOSession;
v := @parameter: org.apache.hc.core.http.protocol.HttpProcessor;
v := @parameter: org.apache.hc.core.http.config.Http1Config;
v := @parameter: org.apache.hc.core.http.config.CharCodingConfig;
v := @parameter: org.apache.hc.core.http.ConnectionReuseStrategy;
v := @parameter: org.apache.hc.core.http.nio.NHttpMessageParser;
v := @parameter: org.apache.hc.core.http.nio.NHttpMessageWriter;
v := @parameter: org.apache.hc.core.http.ContentLengthStrategy;
v := @parameter: org.apache.hc.core.http.ContentLengthStrategy;
v := @parameter: org.apache.hc.core.http.impl.Http1StreamListener;
specialinvoke v.<org.apache.hc.core.http.impl.nio.AbstractHttp1StreamDuplexer: void <init>(org.apache.hc.core.reactor.ProtocolIOSession,org.apache.hc.core.http.config.Http1Config,org.apache.hc.core.http.config.CharCodingConfig,org.apache.hc.core.http.nio.NHttpMessageParser,org.apache.hc.core.http.nio.NHttpMessageWriter,org.apache.hc.core.http.ContentLengthStrategy,org.apache.hc.core.http.ContentLengthStrategy)>(v, v, v, v, v, v, v);
v = staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HTTP processor");
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.protocol.HttpProcessor httpProcessor> = v;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.hc.core.http.config.Http1Config: org.apache.hc.core.http.config.Http1Config DEFAULT>;
label:
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.config.Http1Config http1Config> = v;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.hc.core.http.impl.DefaultConnectionReuseStrategy: org.apache.hc.core.http.impl.DefaultConnectionReuseStrategy INSTANCE>;
label:
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.ConnectionReuseStrategy connectionReuseStrategy> = v;
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.Http1StreamListener streamListener> = v;
v = new java.util.concurrent.ConcurrentLinkedQueue;
specialinvoke v.<java.util.concurrent.ConcurrentLinkedQueue: void <init>()>();
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: java.util.Queue pipeline> = v;
v = new org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer$1;
specialinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer$1: void <init>(org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer,org.apache.hc.core.http.impl.Http1StreamListener)>(v, v);
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel> = v;
return;
}
void terminate(java.lang.Exception)
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v, v, v, v, v;
java.lang.Exception v;
java.lang.Object v;
java.util.Queue v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: java.lang.Exception;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void failed(java.lang.Exception)>(v);
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void releaseResources()>();
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming> = null;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void failed(java.lang.Exception)>(v);
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void releaseResources()>();
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing> = null;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: java.util.Queue pipeline>;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object poll()>();
if v == null goto label;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void failed(java.lang.Exception)>(v);
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void releaseResources()>();
goto label;
label:
return;
}
void disconnected()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v, v, v, v, v, v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
boolean v, v;
org.apache.hc.core.http.ConnectionClosedException v, v, v;
java.lang.Object v;
java.util.Queue v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean isCompleted()>();
if v != 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
v = new org.apache.hc.core.http.ConnectionClosedException;
specialinvoke v.<org.apache.hc.core.http.ConnectionClosedException: void <init>()>();
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void failed(java.lang.Exception)>(v);
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void releaseResources()>();
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming> = null;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean isCompleted()>();
if v != 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
v = new org.apache.hc.core.http.ConnectionClosedException;
specialinvoke v.<org.apache.hc.core.http.ConnectionClosedException: void <init>()>();
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void failed(java.lang.Exception)>(v);
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void releaseResources()>();
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing> = null;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: java.util.Queue pipeline>;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object poll()>();
if v == null goto label;
v = new org.apache.hc.core.http.ConnectionClosedException;
specialinvoke v.<org.apache.hc.core.http.ConnectionClosedException: void <init>()>();
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void failed(java.lang.Exception)>(v);
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void releaseResources()>();
goto label;
label:
return;
}
void updateInputMetrics(org.apache.hc.core.http.HttpResponse, org.apache.hc.core.http.impl.BasicHttpConnectionMetrics)
{
int v;
org.apache.hc.core.http.HttpResponse v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
org.apache.hc.core.http.impl.BasicHttpConnectionMetrics v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: org.apache.hc.core.http.HttpResponse;
v := @parameter: org.apache.hc.core.http.impl.BasicHttpConnectionMetrics;
v = interfaceinvoke v.<org.apache.hc.core.http.HttpResponse: int getCode()>();
if v < 200 goto label;
virtualinvoke v.<org.apache.hc.core.http.impl.BasicHttpConnectionMetrics: void incrementRequestCount()>();
label:
return;
}
void updateOutputMetrics(org.apache.hc.core.http.HttpRequest, org.apache.hc.core.http.impl.BasicHttpConnectionMetrics)
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
org.apache.hc.core.http.HttpRequest v;
org.apache.hc.core.http.impl.BasicHttpConnectionMetrics v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: org.apache.hc.core.http.HttpRequest;
v := @parameter: org.apache.hc.core.http.impl.BasicHttpConnectionMetrics;
virtualinvoke v.<org.apache.hc.core.http.impl.BasicHttpConnectionMetrics: void incrementRequestCount()>();
return;
}
protected boolean handleIncomingMessage(org.apache.hc.core.http.HttpResponse) throws org.apache.hc.core.http.HttpException
{
org.apache.hc.core.http.HttpException v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v, v;
java.lang.Object v;
org.apache.hc.core.http.HttpResponse v;
java.lang.String v;
java.util.Queue v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
boolean v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: org.apache.hc.core.http.HttpResponse;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
if v != null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: java.util.Queue pipeline>;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object poll()>();
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming> = v;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
if v != null goto label;
v = new org.apache.hc.core.http.HttpException;
specialinvoke v.<org.apache.hc.core.http.HttpException: void <init>(java.lang.String)>("Unexpected response");
throw v;
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: java.lang.String getRequestMethod()>();
v = staticinvoke <org.apache.hc.core.http.message.MessageSupport: boolean canResponseHaveBody(java.lang.String,org.apache.hc.core.http.HttpResponse)>(v, v);
return v;
}
protected org.apache.hc.core.http.nio.ContentDecoder createContentDecoder(long, java.nio.channels.ReadableByteChannel, org.apache.hc.core.http.nio.SessionInputBuffer, org.apache.hc.core.http.impl.BasicHttpTransportMetrics) throws org.apache.hc.core.http.HttpException
{
java.nio.channels.ReadableByteChannel v;
org.apache.hc.core.http.impl.nio.ChunkDecoder v;
long v;
org.apache.hc.core.http.impl.BasicHttpTransportMetrics v;
org.apache.hc.core.http.impl.nio.IdentityDecoder v;
org.apache.hc.core.http.impl.nio.LengthDelimitedDecoder v;
byte v, v;
org.apache.hc.core.http.config.Http1Config v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
org.apache.hc.core.http.nio.SessionInputBuffer v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: long;
v := @parameter: java.nio.channels.ReadableByteChannel;
v := @parameter: org.apache.hc.core.http.nio.SessionInputBuffer;
v := @parameter: org.apache.hc.core.http.impl.BasicHttpTransportMetrics;
v = v cmp 0L;
if v < 0 goto label;
v = new org.apache.hc.core.http.impl.nio.LengthDelimitedDecoder;
specialinvoke v.<org.apache.hc.core.http.impl.nio.LengthDelimitedDecoder: void <init>(java.nio.channels.ReadableByteChannel,org.apache.hc.core.http.nio.SessionInputBuffer,org.apache.hc.core.http.impl.BasicHttpTransportMetrics,long)>(v, v, v, v);
return v;
label:
v = v cmp -1L;
if v != 0 goto label;
v = new org.apache.hc.core.http.impl.nio.ChunkDecoder;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.config.Http1Config http1Config>;
specialinvoke v.<org.apache.hc.core.http.impl.nio.ChunkDecoder: void <init>(java.nio.channels.ReadableByteChannel,org.apache.hc.core.http.nio.SessionInputBuffer,org.apache.hc.core.http.config.Http1Config,org.apache.hc.core.http.impl.BasicHttpTransportMetrics)>(v, v, v, v);
return v;
label:
v = new org.apache.hc.core.http.impl.nio.IdentityDecoder;
specialinvoke v.<org.apache.hc.core.http.impl.nio.IdentityDecoder: void <init>(java.nio.channels.ReadableByteChannel,org.apache.hc.core.http.nio.SessionInputBuffer,org.apache.hc.core.http.impl.BasicHttpTransportMetrics)>(v, v, v);
return v;
}
protected boolean handleOutgoingMessage(org.apache.hc.core.http.HttpRequest) throws org.apache.hc.core.http.HttpException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
org.apache.hc.core.http.HttpRequest v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: org.apache.hc.core.http.HttpRequest;
return 1;
}
protected org.apache.hc.core.http.nio.ContentEncoder createContentEncoder(long, java.nio.channels.WritableByteChannel, org.apache.hc.core.http.nio.SessionOutputBuffer, org.apache.hc.core.http.impl.BasicHttpTransportMetrics) throws org.apache.hc.core.http.HttpException
{
org.apache.hc.core.http.LengthRequiredException v;
long v;
org.apache.hc.core.http.impl.nio.ChunkEncoder v;
org.apache.hc.core.http.impl.BasicHttpTransportMetrics v;
byte v, v;
int v, v;
java.nio.channels.WritableByteChannel v;
org.apache.hc.core.http.impl.nio.LengthDelimitedEncoder v;
org.apache.hc.core.http.config.Http1Config v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
org.apache.hc.core.http.nio.SessionOutputBuffer v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: long;
v := @parameter: java.nio.channels.WritableByteChannel;
v := @parameter: org.apache.hc.core.http.nio.SessionOutputBuffer;
v := @parameter: org.apache.hc.core.http.impl.BasicHttpTransportMetrics;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.config.Http1Config http1Config>;
v = virtualinvoke v.<org.apache.hc.core.http.config.Http1Config: int getChunkSizeHint()>();
if v < 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.config.Http1Config http1Config>;
v = virtualinvoke v.<org.apache.hc.core.http.config.Http1Config: int getChunkSizeHint()>();
goto label;
label:
v = 2048;
label:
v = v cmp 0L;
if v < 0 goto label;
v = new org.apache.hc.core.http.impl.nio.LengthDelimitedEncoder;
specialinvoke v.<org.apache.hc.core.http.impl.nio.LengthDelimitedEncoder: void <init>(java.nio.channels.WritableByteChannel,org.apache.hc.core.http.nio.SessionOutputBuffer,org.apache.hc.core.http.impl.BasicHttpTransportMetrics,long,int)>(v, v, v, v, v);
return v;
label:
v = v cmp -1L;
if v != 0 goto label;
v = new org.apache.hc.core.http.impl.nio.ChunkEncoder;
specialinvoke v.<org.apache.hc.core.http.impl.nio.ChunkEncoder: void <init>(java.nio.channels.WritableByteChannel,org.apache.hc.core.http.nio.SessionOutputBuffer,org.apache.hc.core.http.impl.BasicHttpTransportMetrics,int)>(v, v, v, v);
return v;
label:
v = new org.apache.hc.core.http.LengthRequiredException;
specialinvoke v.<org.apache.hc.core.http.LengthRequiredException: void <init>()>();
throw v;
}
boolean inputIdle()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
boolean v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
boolean outputIdle()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
java.util.Queue v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
boolean v, v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
if v != null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: java.util.Queue pipeline>;
v = interfaceinvoke v.<java.util.Queue: boolean isEmpty()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
void outputEnd() throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
boolean v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean isCompleted()>();
if v == 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void releaseResources()>();
label:
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing> = null;
label:
return;
}
void execute(org.apache.hc.core.http.nio.command.RequestExecutionCommand) throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v;
org.apache.hc.core.http.protocol.HttpCoreContext v;
org.apache.hc.core.http.protocol.HttpContext v;
org.apache.hc.core.http.impl.nio.Http1StreamChannel v;
org.apache.hc.core.http.ConnectionReuseStrategy v;
org.apache.hc.core.http.nio.AsyncClientExchangeHandler v;
org.apache.hc.core.http.protocol.HttpProcessor v;
javax.net.ssl.SSLSession v;
org.apache.hc.core.http.nio.command.RequestExecutionCommand v;
java.util.Queue v;
org.apache.hc.core.http.config.Http1Config v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
boolean v;
org.apache.hc.core.http.EndpointDetails v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: org.apache.hc.core.http.nio.command.RequestExecutionCommand;
v = virtualinvoke v.<org.apache.hc.core.http.nio.command.RequestExecutionCommand: org.apache.hc.core.http.nio.AsyncClientExchangeHandler getExchangeHandler()>();
v = virtualinvoke v.<org.apache.hc.core.http.nio.command.RequestExecutionCommand: org.apache.hc.core.http.protocol.HttpContext getContext()>();
v = staticinvoke <org.apache.hc.core.http.protocol.HttpCoreContext: org.apache.hc.core.http.protocol.HttpCoreContext adapt(org.apache.hc.core.http.protocol.HttpContext)>(v);
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: javax.net.ssl.SSLSession getSSLSession()>();
virtualinvoke v.<org.apache.hc.core.http.protocol.HttpCoreContext: java.lang.Object setAttribute(java.lang.String,java.lang.Object)>("http.ssl-session", v);
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.EndpointDetails getEndpointDetails()>();
virtualinvoke v.<org.apache.hc.core.http.protocol.HttpCoreContext: java.lang.Object setAttribute(java.lang.String,java.lang.Object)>("http.connection-endpoint", v);
v = new org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.Http1StreamChannel outputChannel>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.protocol.HttpProcessor httpProcessor>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.config.Http1Config http1Config>;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.ConnectionReuseStrategy connectionReuseStrategy>;
specialinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void <init>(org.apache.hc.core.http.impl.nio.Http1StreamChannel,org.apache.hc.core.http.protocol.HttpProcessor,org.apache.hc.core.http.config.Http1Config,org.apache.hc.core.http.ConnectionReuseStrategy,org.apache.hc.core.http.nio.AsyncClientExchangeHandler,org.apache.hc.core.http.protocol.HttpCoreContext)>(v, v, v, v, v, v);
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: java.util.Queue pipeline>;
interfaceinvoke v.<java.util.Queue: boolean add(java.lang.Object)>(v);
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing> = v;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean isOutputReady()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void produceOutput()>();
label:
return;
}
boolean isOutputReady()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
boolean v, v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean isOutputReady()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
void produceOutput() throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void produceOutput()>();
label:
return;
}
void consumeHeader(org.apache.hc.core.http.HttpResponse, org.apache.hc.core.http.EntityDetails) throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v;
org.apache.hc.core.http.HttpResponse v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
org.apache.hc.core.http.impl.Http1StreamListener v, v;
org.apache.hc.core.http.EntityDetails v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: org.apache.hc.core.http.HttpResponse;
v := @parameter: org.apache.hc.core.http.EntityDetails;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.Http1StreamListener streamListener>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.Http1StreamListener streamListener>;
interfaceinvoke v.<org.apache.hc.core.http.impl.Http1StreamListener: void onResponseHead(org.apache.hc.core.http.HttpConnection,org.apache.hc.core.http.HttpResponse)>(v, v);
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
staticinvoke <org.apache.hc.core.util.Asserts: void notNull(java.lang.Object,java.lang.String)>(v, "Response stream handler");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void consumeHeader(org.apache.hc.core.http.HttpResponse,org.apache.hc.core.http.EntityDetails)>(v, v);
return;
}
void consumeData(java.nio.ByteBuffer) throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
java.nio.ByteBuffer v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: java.nio.ByteBuffer;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
staticinvoke <org.apache.hc.core.util.Asserts: void notNull(java.lang.Object,java.lang.String)>(v, "Response stream handler");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void consumeData(java.nio.ByteBuffer)>(v);
return;
}
void updateCapacity(org.apache.hc.core.http.nio.CapacityChannel) throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v;
org.apache.hc.core.http.nio.CapacityChannel v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: org.apache.hc.core.http.nio.CapacityChannel;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
staticinvoke <org.apache.hc.core.util.Asserts: void notNull(java.lang.Object,java.lang.String)>(v, "Response stream handler");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void updateCapacity(org.apache.hc.core.http.nio.CapacityChannel)>(v);
return;
}
void dataEnd(java.util.List) throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v;
java.util.List v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: java.util.List;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
staticinvoke <org.apache.hc.core.util.Asserts: void notNull(java.lang.Object,java.lang.String)>(v, "Response stream handler");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void dataEnd(java.util.List)>(v);
return;
}
void inputEnd() throws org.apache.hc.core.http.HttpException, java.io.IOException
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v, v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
org.apache.hc.core.http.impl.Http1StreamListener v, v;
boolean v, v, v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean isResponseFinal()>();
if v == 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.Http1StreamListener streamListener>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.Http1StreamListener streamListener>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: boolean isOpen()>();
interfaceinvoke v.<org.apache.hc.core.http.impl.Http1StreamListener: void onExchangeComplete(org.apache.hc.core.http.HttpConnection,boolean)>(v, v);
label:
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean isCompleted()>();
if v == 0 goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void releaseResources()>();
label:
v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming> = null;
label:
return;
}
boolean handleTimeout()
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
boolean v, v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
v = virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: boolean handleTimeout()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
void appendState(java.lang.StringBuilder)
{
org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler v, v, v, v;
int v;
java.lang.StringBuilder v;
java.util.Queue v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v := @parameter: java.lang.StringBuilder;
specialinvoke v.<org.apache.hc.core.http.impl.nio.AbstractHttp1StreamDuplexer: void appendState(java.lang.StringBuilder)>(v);
specialinvoke v.<org.apache.hc.core.http.impl.nio.AbstractHttp1StreamDuplexer: void appendState(java.lang.StringBuilder)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", incoming=[");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler incoming>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void appendState(java.lang.StringBuilder)>(v);
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("], outgoing=[");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
if v == null goto label;
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler outgoing>;
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamHandler: void appendState(java.lang.StringBuilder)>(v);
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("], pipeline=");
v = v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: java.util.Queue pipeline>;
v = interfaceinvoke v.<java.util.Queue: int size()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
return;
}
public java.lang.String toString()
{
java.lang.StringBuilder v;
java.lang.String v;
org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer v;
v := @this: org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("[");
virtualinvoke v.<org.apache.hc.core.http.impl.nio.ClientHttp1StreamDuplexer: void appendState(java.lang.StringBuilder)>(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;
}
}