public class org.apache.http.impl.BHttpConnectionBase extends java.lang.Object implements org.apache.http.HttpInetConnection
{
private final org.apache.http.impl.io.SessionInputBufferImpl inBuffer;
private final org.apache.http.impl.io.SessionOutputBufferImpl outbuffer;
private final org.apache.http.config.MessageConstraints messageConstraints;
private final org.apache.http.impl.HttpConnectionMetricsImpl connMetrics;
private final org.apache.http.entity.ContentLengthStrategy incomingContentStrategy;
private final org.apache.http.entity.ContentLengthStrategy outgoingContentStrategy;
private final java.util.concurrent.atomic.AtomicReference socketHolder;
protected void <init>(int, int, java.nio.charset.CharsetDecoder, java.nio.charset.CharsetEncoder, org.apache.http.config.MessageConstraints, org.apache.http.entity.ContentLengthStrategy, org.apache.http.entity.ContentLengthStrategy)
{
org.apache.http.impl.HttpConnectionMetricsImpl v;
org.apache.http.config.MessageConstraints v, v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.http.impl.io.SessionOutputBufferImpl v;
int v, v, v;
org.apache.http.entity.ContentLengthStrategy v, v, v, v;
org.apache.http.impl.BHttpConnectionBase v;
org.apache.http.impl.io.HttpTransportMetricsImpl v, v;
java.nio.charset.CharsetDecoder v;
org.apache.http.impl.io.SessionInputBufferImpl v;
java.nio.charset.CharsetEncoder v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.nio.charset.CharsetDecoder;
v := @parameter: java.nio.charset.CharsetEncoder;
v := @parameter: org.apache.http.config.MessageConstraints;
v := @parameter: org.apache.http.entity.ContentLengthStrategy;
v := @parameter: org.apache.http.entity.ContentLengthStrategy;
specialinvoke v.<java.lang.Object: void <init>()>();
staticinvoke <org.apache.http.util.Args: int positive(int,java.lang.String)>(v, "Buffer size");
v = new org.apache.http.impl.io.HttpTransportMetricsImpl;
specialinvoke v.<org.apache.http.impl.io.HttpTransportMetricsImpl: void <init>()>();
v = new org.apache.http.impl.io.HttpTransportMetricsImpl;
specialinvoke v.<org.apache.http.impl.io.HttpTransportMetricsImpl: void <init>()>();
v = new org.apache.http.impl.io.SessionInputBufferImpl;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.http.config.MessageConstraints: org.apache.http.config.MessageConstraints DEFAULT>;
label:
v = (int) -1;
specialinvoke v.<org.apache.http.impl.io.SessionInputBufferImpl: void <init>(org.apache.http.impl.io.HttpTransportMetricsImpl,int,int,org.apache.http.config.MessageConstraints,java.nio.charset.CharsetDecoder)>(v, v, v, v, v);
v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionInputBufferImpl inBuffer> = v;
v = new org.apache.http.impl.io.SessionOutputBufferImpl;
specialinvoke v.<org.apache.http.impl.io.SessionOutputBufferImpl: void <init>(org.apache.http.impl.io.HttpTransportMetricsImpl,int,int,java.nio.charset.CharsetEncoder)>(v, v, v, v);
v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionOutputBufferImpl outbuffer> = v;
v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.config.MessageConstraints messageConstraints> = v;
v = new org.apache.http.impl.HttpConnectionMetricsImpl;
specialinvoke v.<org.apache.http.impl.HttpConnectionMetricsImpl: void <init>(org.apache.http.io.HttpTransportMetrics,org.apache.http.io.HttpTransportMetrics)>(v, v);
v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.HttpConnectionMetricsImpl connMetrics> = v;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.http.impl.entity.LaxContentLengthStrategy: org.apache.http.impl.entity.LaxContentLengthStrategy INSTANCE>;
label:
v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.entity.ContentLengthStrategy incomingContentStrategy> = v;
if v == null goto label;
v = v;
goto label;
label:
v = <org.apache.http.impl.entity.StrictContentLengthStrategy: org.apache.http.impl.entity.StrictContentLengthStrategy INSTANCE>;
label:
v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.entity.ContentLengthStrategy outgoingContentStrategy> = v;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder> = v;
return;
}
protected void ensureOpen() throws java.io.IOException
{
java.io.OutputStream v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.http.impl.io.SessionInputBufferImpl v, v;
org.apache.http.impl.io.SessionOutputBufferImpl v, v;
java.lang.Object v;
org.apache.http.ConnectionClosedException v;
org.apache.http.impl.BHttpConnectionBase v;
boolean v, v;
java.io.InputStream v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v != null goto label;
v = new org.apache.http.ConnectionClosedException;
specialinvoke v.<org.apache.http.ConnectionClosedException: void <init>()>();
throw v;
label:
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionInputBufferImpl inBuffer>;
v = virtualinvoke v.<org.apache.http.impl.io.SessionInputBufferImpl: boolean isBound()>();
if v != 0 goto label;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionInputBufferImpl inBuffer>;
v = virtualinvoke v.<org.apache.http.impl.BHttpConnectionBase: java.io.InputStream getSocketInputStream(java.net.Socket)>(v);
virtualinvoke v.<org.apache.http.impl.io.SessionInputBufferImpl: void bind(java.io.InputStream)>(v);
label:
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionOutputBufferImpl outbuffer>;
v = virtualinvoke v.<org.apache.http.impl.io.SessionOutputBufferImpl: boolean isBound()>();
if v != 0 goto label;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionOutputBufferImpl outbuffer>;
v = virtualinvoke v.<org.apache.http.impl.BHttpConnectionBase: java.io.OutputStream getSocketOutputStream(java.net.Socket)>(v);
virtualinvoke v.<org.apache.http.impl.io.SessionOutputBufferImpl: void bind(java.io.OutputStream)>(v);
label:
return;
}
protected java.io.InputStream getSocketInputStream(java.net.Socket) throws java.io.IOException
{
java.net.Socket v;
org.apache.http.impl.BHttpConnectionBase v;
java.io.InputStream v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: java.net.Socket;
v = virtualinvoke v.<java.net.Socket: java.io.InputStream getInputStream()>();
return v;
}
protected java.io.OutputStream getSocketOutputStream(java.net.Socket) throws java.io.IOException
{
java.io.OutputStream v;
java.net.Socket v;
org.apache.http.impl.BHttpConnectionBase v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: java.net.Socket;
v = virtualinvoke v.<java.net.Socket: java.io.OutputStream getOutputStream()>();
return v;
}
protected void bind(java.net.Socket) throws java.io.IOException
{
java.net.Socket v;
org.apache.http.impl.io.SessionOutputBufferImpl v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.http.impl.io.SessionInputBufferImpl v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: java.net.Socket;
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Socket");
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionInputBufferImpl inBuffer>;
virtualinvoke v.<org.apache.http.impl.io.SessionInputBufferImpl: void bind(java.io.InputStream)>(null);
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionOutputBufferImpl outbuffer>;
virtualinvoke v.<org.apache.http.impl.io.SessionOutputBufferImpl: void bind(java.io.OutputStream)>(null);
return;
}
protected org.apache.http.io.SessionInputBuffer getSessionInputBuffer()
{
org.apache.http.impl.BHttpConnectionBase v;
org.apache.http.impl.io.SessionInputBufferImpl v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionInputBufferImpl inBuffer>;
return v;
}
protected org.apache.http.io.SessionOutputBuffer getSessionOutputBuffer()
{
org.apache.http.impl.BHttpConnectionBase v;
org.apache.http.impl.io.SessionOutputBufferImpl v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionOutputBufferImpl outbuffer>;
return v;
}
protected void doFlush() throws java.io.IOException
{
org.apache.http.impl.BHttpConnectionBase v;
org.apache.http.impl.io.SessionOutputBufferImpl v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionOutputBufferImpl outbuffer>;
virtualinvoke v.<org.apache.http.impl.io.SessionOutputBufferImpl: void flush()>();
return;
}
public boolean isOpen()
{
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
boolean v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected java.net.Socket getSocket()
{
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
return v;
}
protected java.io.OutputStream createOutputStream(long, org.apache.http.io.SessionOutputBuffer)
{
long v;
org.apache.http.impl.io.ChunkedOutputStream v;
byte v, v;
org.apache.http.io.SessionOutputBuffer v;
org.apache.http.impl.io.ContentLengthOutputStream v;
org.apache.http.impl.io.IdentityOutputStream v;
org.apache.http.impl.BHttpConnectionBase v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: long;
v := @parameter: org.apache.http.io.SessionOutputBuffer;
v = v cmp -2L;
if v != 0 goto label;
v = new org.apache.http.impl.io.ChunkedOutputStream;
specialinvoke v.<org.apache.http.impl.io.ChunkedOutputStream: void <init>(int,org.apache.http.io.SessionOutputBuffer)>(2048, v);
return v;
label:
v = v cmp -1L;
if v != 0 goto label;
v = new org.apache.http.impl.io.IdentityOutputStream;
specialinvoke v.<org.apache.http.impl.io.IdentityOutputStream: void <init>(org.apache.http.io.SessionOutputBuffer)>(v);
return v;
label:
v = new org.apache.http.impl.io.ContentLengthOutputStream;
specialinvoke v.<org.apache.http.impl.io.ContentLengthOutputStream: void <init>(org.apache.http.io.SessionOutputBuffer,long)>(v, v);
return v;
}
protected java.io.OutputStream prepareOutput(org.apache.http.HttpMessage) throws org.apache.http.HttpException
{
java.io.OutputStream v;
org.apache.http.impl.io.SessionOutputBufferImpl v;
org.apache.http.entity.ContentLengthStrategy v;
org.apache.http.HttpMessage v;
long v;
org.apache.http.impl.BHttpConnectionBase v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: org.apache.http.HttpMessage;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.entity.ContentLengthStrategy outgoingContentStrategy>;
v = interfaceinvoke v.<org.apache.http.entity.ContentLengthStrategy: long determineLength(org.apache.http.HttpMessage)>(v);
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionOutputBufferImpl outbuffer>;
v = virtualinvoke v.<org.apache.http.impl.BHttpConnectionBase: java.io.OutputStream createOutputStream(long,org.apache.http.io.SessionOutputBuffer)>(v, v);
return v;
}
protected java.io.InputStream createInputStream(long, org.apache.http.io.SessionInputBuffer)
{
org.apache.http.impl.io.IdentityInputStream v;
org.apache.http.impl.io.EmptyInputStream v;
long v;
org.apache.http.config.MessageConstraints v;
org.apache.http.io.SessionInputBuffer v;
org.apache.http.impl.io.ChunkedInputStream v;
byte v, v, v;
org.apache.http.impl.io.ContentLengthInputStream v;
org.apache.http.impl.BHttpConnectionBase v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: long;
v := @parameter: org.apache.http.io.SessionInputBuffer;
v = v cmp -2L;
if v != 0 goto label;
v = new org.apache.http.impl.io.ChunkedInputStream;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.config.MessageConstraints messageConstraints>;
specialinvoke v.<org.apache.http.impl.io.ChunkedInputStream: void <init>(org.apache.http.io.SessionInputBuffer,org.apache.http.config.MessageConstraints)>(v, v);
return v;
label:
v = v cmp -1L;
if v != 0 goto label;
v = new org.apache.http.impl.io.IdentityInputStream;
specialinvoke v.<org.apache.http.impl.io.IdentityInputStream: void <init>(org.apache.http.io.SessionInputBuffer)>(v);
return v;
label:
v = v cmp 0L;
if v != 0 goto label;
v = <org.apache.http.impl.io.EmptyInputStream: org.apache.http.impl.io.EmptyInputStream INSTANCE>;
return v;
label:
v = new org.apache.http.impl.io.ContentLengthInputStream;
specialinvoke v.<org.apache.http.impl.io.ContentLengthInputStream: void <init>(org.apache.http.io.SessionInputBuffer,long)>(v, v);
return v;
}
protected org.apache.http.HttpEntity prepareInput(org.apache.http.HttpMessage) throws org.apache.http.HttpException
{
long v;
org.apache.http.Header v, v;
org.apache.http.impl.io.SessionInputBufferImpl v;
byte v, v;
org.apache.http.entity.BasicHttpEntity v;
org.apache.http.entity.ContentLengthStrategy v;
org.apache.http.HttpMessage v;
org.apache.http.impl.BHttpConnectionBase v;
java.io.InputStream v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: org.apache.http.HttpMessage;
v = new org.apache.http.entity.BasicHttpEntity;
specialinvoke v.<org.apache.http.entity.BasicHttpEntity: void <init>()>();
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.entity.ContentLengthStrategy incomingContentStrategy>;
v = interfaceinvoke v.<org.apache.http.entity.ContentLengthStrategy: long determineLength(org.apache.http.HttpMessage)>(v);
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionInputBufferImpl inBuffer>;
v = virtualinvoke v.<org.apache.http.impl.BHttpConnectionBase: java.io.InputStream createInputStream(long,org.apache.http.io.SessionInputBuffer)>(v, v);
v = v cmp -2L;
if v != 0 goto label;
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setChunked(boolean)>(1);
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setContentLength(long)>(-1L);
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setContent(java.io.InputStream)>(v);
goto label;
label:
v = v cmp -1L;
if v != 0 goto label;
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setChunked(boolean)>(0);
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setContentLength(long)>(-1L);
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setContent(java.io.InputStream)>(v);
goto label;
label:
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setChunked(boolean)>(0);
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setContentLength(long)>(v);
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setContent(java.io.InputStream)>(v);
label:
v = interfaceinvoke v.<org.apache.http.HttpMessage: org.apache.http.Header getFirstHeader(java.lang.String)>("Content-Type");
if v == null goto label;
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setContentType(org.apache.http.Header)>(v);
label:
v = interfaceinvoke v.<org.apache.http.HttpMessage: org.apache.http.Header getFirstHeader(java.lang.String)>("Content-Encoding");
if v == null goto label;
virtualinvoke v.<org.apache.http.entity.BasicHttpEntity: void setContentEncoding(org.apache.http.Header)>(v);
label:
return v;
}
public java.net.InetAddress getLocalAddress()
{
java.net.InetAddress v;
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = virtualinvoke v.<java.net.Socket: java.net.InetAddress getLocalAddress()>();
goto label;
label:
v = null;
label:
return v;
}
public int getLocalPort()
{
int v, v;
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = virtualinvoke v.<java.net.Socket: int getLocalPort()>();
goto label;
label:
v = (int) -1;
v = v;
label:
return v;
}
public java.net.InetAddress getRemoteAddress()
{
java.net.InetAddress v;
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
goto label;
label:
v = null;
label:
return v;
}
public int getRemotePort()
{
int v, v;
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = virtualinvoke v.<java.net.Socket: int getPort()>();
goto label;
label:
v = (int) -1;
v = v;
label:
return v;
}
public void setSocketTimeout(int)
{
java.net.SocketException v;
int v;
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: int;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
label:
virtualinvoke v.<java.net.Socket: void setSoTimeout(int)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.net.SocketException from label to label with label;
}
public int getSocketTimeout()
{
java.net.SocketException v;
int v, v;
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
label:
v = virtualinvoke v.<java.net.Socket: int getSoTimeout()>();
label:
return v;
label:
v := @caughtexception;
label:
v = (int) -1;
return v;
catch java.net.SocketException from label to label with label;
}
public void shutdown() throws java.io.IOException
{
java.lang.Throwable v;
java.io.IOException v;
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object getAndSet(java.lang.Object)>(null);
if v == null goto label;
label:
virtualinvoke v.<java.net.Socket: void setSoLinger(boolean,int)>(1, 0);
label:
virtualinvoke v.<java.net.Socket: void close()>();
goto label;
label:
v := @caughtexception;
label:
virtualinvoke v.<java.net.Socket: void close()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.net.Socket: void close()>();
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;
}
public void close() throws java.io.IOException
{
java.lang.Throwable v;
org.apache.http.impl.io.SessionOutputBufferImpl v;
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.http.impl.io.SessionInputBufferImpl v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object getAndSet(java.lang.Object)>(null);
if v == null goto label;
label:
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionInputBufferImpl inBuffer>;
virtualinvoke v.<org.apache.http.impl.io.SessionInputBufferImpl: void clear()>();
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionOutputBufferImpl outbuffer>;
virtualinvoke v.<org.apache.http.impl.io.SessionOutputBufferImpl: void flush()>();
label:
virtualinvoke v.<java.net.Socket: void close()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.net.Socket: void close()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private int fillInputBuffer(int) throws java.io.IOException
{
java.lang.Throwable v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.http.impl.io.SessionInputBufferImpl v;
int v, v, v;
java.lang.Object v;
org.apache.http.impl.BHttpConnectionBase v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: int;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<java.net.Socket: int getSoTimeout()>();
label:
virtualinvoke v.<java.net.Socket: void setSoTimeout(int)>(v);
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionInputBufferImpl inBuffer>;
v = virtualinvoke v.<org.apache.http.impl.io.SessionInputBufferImpl: int fillBuffer()>();
label:
virtualinvoke v.<java.net.Socket: void setSoTimeout(int)>(v);
return v;
label:
v := @caughtexception;
virtualinvoke v.<java.net.Socket: void setSoTimeout(int)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
protected boolean awaitInput(int) throws java.io.IOException
{
int v;
org.apache.http.impl.BHttpConnectionBase v;
boolean v, v;
org.apache.http.impl.io.SessionInputBufferImpl v, v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v := @parameter: int;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionInputBufferImpl inBuffer>;
v = virtualinvoke v.<org.apache.http.impl.io.SessionInputBufferImpl: boolean hasBufferedData()>();
if v == 0 goto label;
return 1;
label:
specialinvoke v.<org.apache.http.impl.BHttpConnectionBase: int fillInputBuffer(int)>(v);
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.io.SessionInputBufferImpl inBuffer>;
v = virtualinvoke v.<org.apache.http.impl.io.SessionInputBufferImpl: boolean hasBufferedData()>();
return v;
}
public boolean isStale()
{
java.net.SocketTimeoutException v;
int v;
java.io.IOException v;
org.apache.http.impl.BHttpConnectionBase v;
boolean v, v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = virtualinvoke v.<org.apache.http.impl.BHttpConnectionBase: boolean isOpen()>();
if v != 0 goto label;
return 1;
label:
v = specialinvoke v.<org.apache.http.impl.BHttpConnectionBase: int fillInputBuffer(int)>(1);
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v := @caughtexception;
return 0;
label:
v := @caughtexception;
return 1;
catch java.net.SocketTimeoutException from label to label with label;
catch java.io.IOException from label to label with label;
}
protected void incrementRequestCount()
{
org.apache.http.impl.HttpConnectionMetricsImpl v;
org.apache.http.impl.BHttpConnectionBase v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.HttpConnectionMetricsImpl connMetrics>;
virtualinvoke v.<org.apache.http.impl.HttpConnectionMetricsImpl: void incrementRequestCount()>();
return;
}
protected void incrementResponseCount()
{
org.apache.http.impl.HttpConnectionMetricsImpl v;
org.apache.http.impl.BHttpConnectionBase v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.HttpConnectionMetricsImpl connMetrics>;
virtualinvoke v.<org.apache.http.impl.HttpConnectionMetricsImpl: void incrementResponseCount()>();
return;
}
public org.apache.http.HttpConnectionMetrics getMetrics()
{
org.apache.http.impl.HttpConnectionMetricsImpl v;
org.apache.http.impl.BHttpConnectionBase v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: org.apache.http.impl.HttpConnectionMetricsImpl connMetrics>;
return v;
}
public java.lang.String toString()
{
java.net.SocketAddress v, v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v;
org.apache.http.impl.BHttpConnectionBase v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.http.impl.BHttpConnectionBase;
v = v.<org.apache.http.impl.BHttpConnectionBase: java.util.concurrent.atomic.AtomicReference socketHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.net.Socket: java.net.SocketAddress getRemoteSocketAddress()>();
v = virtualinvoke v.<java.net.Socket: java.net.SocketAddress getLocalSocketAddress()>();
if v == null goto label;
if v == null goto label;
staticinvoke <org.apache.http.util.NetUtils: void formatAddress(java.lang.StringBuilder,java.net.SocketAddress)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("<->");
staticinvoke <org.apache.http.util.NetUtils: void formatAddress(java.lang.StringBuilder,java.net.SocketAddress)>(v, v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
label:
return "[Not bound]";
}
}