public class org.apache.hc.core.http.impl.io.SessionInputBufferImpl extends java.lang.Object implements org.apache.hc.core.http.io.SessionInputBuffer
{
private final org.apache.hc.core.http.impl.BasicHttpTransportMetrics metrics;
private final byte[] buffer;
private final org.apache.hc.core.util.ByteArrayBuffer lineBuffer;
private final int minChunkLimit;
private final int maxLineLen;
private final java.nio.charset.CharsetDecoder decoder;
private int bufferPos;
private int bufferLen;
private java.nio.CharBuffer cbuf;
public void <init>(org.apache.hc.core.http.impl.BasicHttpTransportMetrics, int, int, int, java.nio.charset.CharsetDecoder)
{
byte[] v;
java.nio.charset.CharsetDecoder v;
org.apache.hc.core.http.impl.BasicHttpTransportMetrics v;
org.apache.hc.core.util.ByteArrayBuffer v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
int v, v, v, v, v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: org.apache.hc.core.http.impl.BasicHttpTransportMetrics;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.nio.charset.CharsetDecoder;
specialinvoke v.<java.lang.Object: void <init>()>();
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "HTTP transport metrics");
staticinvoke <org.apache.hc.core.util.Args: int positive(int,java.lang.String)>(v, "Buffer size");
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.http.impl.BasicHttpTransportMetrics metrics> = v;
v = newarray (byte)[v];
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer> = v;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos> = 0;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen> = 0;
if v < 0 goto label;
v = v;
goto label;
label:
v = 512;
label:
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int minChunkLimit> = v;
if v <= 0 goto label;
v = v;
goto label;
label:
v = 0;
label:
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int maxLineLen> = v;
v = new org.apache.hc.core.util.ByteArrayBuffer;
specialinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: void <init>(int)>(v);
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer> = v;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.charset.CharsetDecoder decoder> = v;
return;
}
public void <init>(org.apache.hc.core.http.impl.BasicHttpTransportMetrics, int)
{
int v;
org.apache.hc.core.http.impl.BasicHttpTransportMetrics v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: org.apache.hc.core.http.impl.BasicHttpTransportMetrics;
v := @parameter: int;
specialinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: void <init>(org.apache.hc.core.http.impl.BasicHttpTransportMetrics,int,int,int,java.nio.charset.CharsetDecoder)>(v, v, v, 0, null);
return;
}
public void <init>(int, int)
{
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
int v, v;
org.apache.hc.core.http.impl.BasicHttpTransportMetrics v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: int;
v := @parameter: int;
v = new org.apache.hc.core.http.impl.BasicHttpTransportMetrics;
specialinvoke v.<org.apache.hc.core.http.impl.BasicHttpTransportMetrics: void <init>()>();
specialinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: void <init>(org.apache.hc.core.http.impl.BasicHttpTransportMetrics,int,int,int,java.nio.charset.CharsetDecoder)>(v, v, v, v, null);
return;
}
public void <init>(int, java.nio.charset.CharsetDecoder)
{
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
int v;
java.nio.charset.CharsetDecoder v;
org.apache.hc.core.http.impl.BasicHttpTransportMetrics v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: int;
v := @parameter: java.nio.charset.CharsetDecoder;
v = new org.apache.hc.core.http.impl.BasicHttpTransportMetrics;
specialinvoke v.<org.apache.hc.core.http.impl.BasicHttpTransportMetrics: void <init>()>();
specialinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: void <init>(org.apache.hc.core.http.impl.BasicHttpTransportMetrics,int,int,int,java.nio.charset.CharsetDecoder)>(v, v, v, 0, v);
return;
}
public void <init>(int)
{
int v;
org.apache.hc.core.http.impl.BasicHttpTransportMetrics v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: int;
v = new org.apache.hc.core.http.impl.BasicHttpTransportMetrics;
specialinvoke v.<org.apache.hc.core.http.impl.BasicHttpTransportMetrics: void <init>()>();
specialinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: void <init>(org.apache.hc.core.http.impl.BasicHttpTransportMetrics,int,int,int,java.nio.charset.CharsetDecoder)>(v, v, v, 0, null);
return;
}
public int capacity()
{
int v;
byte[] v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = lengthof v;
return v;
}
public int length()
{
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
int v, v, v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v - v;
return v;
}
public int available()
{
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
int v, v, v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int capacity()>();
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int length()>();
v = v - v;
return v;
}
public int fillBuffer(java.io.InputStream) throws java.io.IOException
{
byte[] v, v, v, v;
org.apache.hc.core.http.impl.BasicHttpTransportMetrics v;
int v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
java.io.InputStream v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: java.io.InputStream;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Input stream");
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
if v <= 0 goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v - v;
if v <= 0 goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, v);
label:
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos> = 0;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen> = v;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = lengthof v;
v = v - v;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = virtualinvoke v.<java.io.InputStream: int read(byte[],int,int)>(v, v, v);
v = (int) -1;
if v != v goto label;
v = (int) -1;
return v;
label:
v = v + v;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen> = v;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.http.impl.BasicHttpTransportMetrics metrics>;
virtualinvoke v.<org.apache.hc.core.http.impl.BasicHttpTransportMetrics: void incrementBytesTransferred(long)>(v);
return v;
}
public boolean hasBufferedData()
{
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
int v, v;
boolean v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen>;
if v >= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void clear()
{
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos> = 0;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen> = 0;
return;
}
public int read(java.io.InputStream) throws java.io.IOException
{
byte[] v;
short v;
byte v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
int v, v, v, v, v;
boolean v;
java.io.InputStream v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: java.io.InputStream;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Input stream");
label:
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: boolean hasBufferedData()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int fillBuffer(java.io.InputStream)>(v);
v = (int) -1;
if v != v goto label;
v = (int) -1;
return v;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v + 1;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos> = v;
v = v[v];
v = v & 255;
return v;
}
public int read(byte[], int, int, java.io.InputStream) throws java.io.IOException
{
byte[] v, v, v;
org.apache.hc.core.http.impl.BasicHttpTransportMetrics v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
java.io.InputStream v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.io.InputStream;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Input stream");
if v != null goto label;
return 0;
label:
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: boolean hasBufferedData()>();
if v == 0 goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v - v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v + v;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos> = v;
return v;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int minChunkLimit>;
if v <= v goto label;
v = virtualinvoke v.<java.io.InputStream: int read(byte[],int,int)>(v, v, v);
if v <= 0 goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.http.impl.BasicHttpTransportMetrics metrics>;
virtualinvoke v.<org.apache.hc.core.http.impl.BasicHttpTransportMetrics: void incrementBytesTransferred(long)>(v);
label:
return v;
label:
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: boolean hasBufferedData()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int fillBuffer(java.io.InputStream)>(v);
v = (int) -1;
if v != v goto label;
v = (int) -1;
return v;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v - v;
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, v, v);
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v + v;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos> = v;
return v;
}
public int read(byte[], java.io.InputStream) throws java.io.IOException
{
byte[] v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
int v, v;
java.io.InputStream v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: byte[];
v := @parameter: java.io.InputStream;
if v != null goto label;
return 0;
label:
v = lengthof v;
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int read(byte[],int,int,java.io.InputStream)>(v, 0, v, v);
return v;
}
public int readLine(org.apache.hc.core.util.CharArrayBuffer, java.io.InputStream) throws java.io.IOException
{
byte[] v, v, v;
org.apache.hc.core.util.ByteArrayBuffer v, v, v, v, v;
byte v;
boolean v, v, v, v;
org.apache.hc.core.util.CharArrayBuffer v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
org.apache.hc.core.http.MessageConstraintException v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.InputStream v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: org.apache.hc.core.util.CharArrayBuffer;
v := @parameter: java.io.InputStream;
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Char array buffer");
staticinvoke <org.apache.hc.core.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Input stream");
v = 0;
v = 1;
label:
if v == 0 goto label;
v = (int) -1;
v = v;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen>;
if v >= v goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = v[v];
if v != 10 goto label;
v = v;
goto label;
label:
v = v + 1;
goto label;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int maxLineLen>;
if v <= 0 goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
v = virtualinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: int length()>();
if v < 0 goto label;
v = v;
goto label;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen>;
label:
v = v + v;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v - v;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int maxLineLen>;
if v < v goto label;
v = new org.apache.hc.core.http.MessageConstraintException;
specialinvoke v.<org.apache.hc.core.http.MessageConstraintException: void <init>(java.lang.String)>("Maximum line length limit exceeded");
throw v;
label:
v = (int) -1;
if v == v goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
v = virtualinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: boolean isEmpty()>();
if v == 0 goto label;
v = specialinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int lineFromReadBuffer(org.apache.hc.core.util.CharArrayBuffer,int)>(v, v);
return v;
label:
v = 0;
v = v + 1;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v - v;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
virtualinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: void append(byte[],int,int)>(v, v, v);
v = v + 1;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos> = v;
goto label;
label:
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: boolean hasBufferedData()>();
if v == 0 goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v - v;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
virtualinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: void append(byte[],int,int)>(v, v, v);
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferLen>;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos> = v;
label:
v = virtualinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int fillBuffer(java.io.InputStream)>(v);
v = (int) -1;
if v != v goto label;
v = 0;
goto label;
label:
v = (int) -1;
if v != v goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
v = virtualinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: boolean isEmpty()>();
if v == 0 goto label;
v = (int) -1;
return v;
label:
v = specialinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int lineFromLineBuffer(org.apache.hc.core.util.CharArrayBuffer)>(v);
return v;
}
private int lineFromLineBuffer(org.apache.hc.core.util.CharArrayBuffer) throws java.io.IOException
{
byte[] v;
java.nio.ByteBuffer v;
org.apache.hc.core.util.ByteArrayBuffer v, v, v, v, v, v;
int v, v, v, v, v;
java.nio.charset.CharsetDecoder v;
org.apache.hc.core.util.CharArrayBuffer v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: org.apache.hc.core.util.CharArrayBuffer;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
v = virtualinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: int length()>();
if v <= 0 goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
v = v - 1;
v = virtualinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: int byteAt(int)>(v);
if v != 10 goto label;
v = v - 1;
label:
if v <= 0 goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
v = v - 1;
v = virtualinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: int byteAt(int)>(v);
if v != 13 goto label;
v = v - 1;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.charset.CharsetDecoder decoder>;
if v != null goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
virtualinvoke v.<org.apache.hc.core.util.CharArrayBuffer: void append(org.apache.hc.core.util.ByteArrayBuffer,int,int)>(v, 0, v);
goto label;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
v = virtualinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: byte[] array()>();
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[],int,int)>(v, 0, v);
v = specialinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int appendDecoded(org.apache.hc.core.util.CharArrayBuffer,java.nio.ByteBuffer)>(v, v);
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.util.ByteArrayBuffer lineBuffer>;
virtualinvoke v.<org.apache.hc.core.util.ByteArrayBuffer: void clear()>();
return v;
}
private int lineFromReadBuffer(org.apache.hc.core.util.CharArrayBuffer, int) throws java.io.IOException
{
byte[] v, v, v;
java.nio.charset.CharsetDecoder v;
java.nio.ByteBuffer v;
byte v;
org.apache.hc.core.util.CharArrayBuffer v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
int v, v, v, v, v, v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: org.apache.hc.core.util.CharArrayBuffer;
v := @parameter: int;
v = v;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos>;
v = v + 1;
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int bufferPos> = v;
if v <= v goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = v - 1;
v = v[v];
if v != 13 goto label;
v = v - 1;
label:
v = v - v;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.charset.CharsetDecoder decoder>;
if v != null goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
virtualinvoke v.<org.apache.hc.core.util.CharArrayBuffer: void append(byte[],int,int)>(v, v, v);
goto label;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: byte[] buffer>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer wrap(byte[],int,int)>(v, v, v);
v = specialinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int appendDecoded(org.apache.hc.core.util.CharArrayBuffer,java.nio.ByteBuffer)>(v, v);
label:
return v;
}
private int appendDecoded(org.apache.hc.core.util.CharArrayBuffer, java.nio.ByteBuffer) throws java.io.IOException
{
java.nio.ByteBuffer v;
java.nio.charset.CoderResult v, v;
int v, v, v, v;
boolean v, v;
java.nio.CharBuffer v, v, v, v, v;
java.nio.charset.CharsetDecoder v, v, v;
org.apache.hc.core.util.CharArrayBuffer v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: org.apache.hc.core.util.CharArrayBuffer;
v := @parameter: java.nio.ByteBuffer;
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasRemaining()>();
if v != 0 goto label;
return 0;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.CharBuffer cbuf>;
if v != null goto label;
v = staticinvoke <java.nio.CharBuffer: java.nio.CharBuffer allocate(int)>(1024);
v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.CharBuffer cbuf> = v;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.charset.CharsetDecoder decoder>;
virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CharsetDecoder reset()>();
v = 0;
label:
v = virtualinvoke v.<java.nio.ByteBuffer: boolean hasRemaining()>();
if v == 0 goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.charset.CharsetDecoder decoder>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.CharBuffer cbuf>;
v = virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CoderResult decode(java.nio.ByteBuffer,java.nio.CharBuffer,boolean)>(v, v, 1);
v = specialinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int handleDecodingResult(java.nio.charset.CoderResult,org.apache.hc.core.util.CharArrayBuffer)>(v, v);
v = v + v;
goto label;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.charset.CharsetDecoder decoder>;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.CharBuffer cbuf>;
v = virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CoderResult flush(java.nio.CharBuffer)>(v);
v = specialinvoke v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: int handleDecodingResult(java.nio.charset.CoderResult,org.apache.hc.core.util.CharArrayBuffer)>(v, v);
v = v + v;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.CharBuffer cbuf>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer clear()>();
return v;
}
private int handleDecodingResult(java.nio.charset.CoderResult, org.apache.hc.core.util.CharArrayBuffer) throws java.io.IOException
{
java.nio.CharBuffer v, v, v, v, v;
char v;
java.nio.charset.CoderResult v;
org.apache.hc.core.util.CharArrayBuffer v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
int v;
boolean v, v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v := @parameter: java.nio.charset.CoderResult;
v := @parameter: org.apache.hc.core.util.CharArrayBuffer;
v = virtualinvoke v.<java.nio.charset.CoderResult: boolean isError()>();
if v == 0 goto label;
virtualinvoke v.<java.nio.charset.CoderResult: void throwException()>();
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.CharBuffer cbuf>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer flip()>();
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.CharBuffer cbuf>;
v = virtualinvoke v.<java.nio.CharBuffer: int remaining()>();
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.CharBuffer cbuf>;
v = virtualinvoke v.<java.nio.CharBuffer: boolean hasRemaining()>();
if v == 0 goto label;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.CharBuffer cbuf>;
v = virtualinvoke v.<java.nio.CharBuffer: char get()>();
virtualinvoke v.<org.apache.hc.core.util.CharArrayBuffer: void append(char)>(v);
goto label;
label:
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: java.nio.CharBuffer cbuf>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer compact()>();
return v;
}
public org.apache.hc.core.http.io.HttpTransportMetrics getMetrics()
{
org.apache.hc.core.http.impl.BasicHttpTransportMetrics v;
org.apache.hc.core.http.impl.io.SessionInputBufferImpl v;
v := @this: org.apache.hc.core.http.impl.io.SessionInputBufferImpl;
v = v.<org.apache.hc.core.http.impl.io.SessionInputBufferImpl: org.apache.hc.core.http.impl.BasicHttpTransportMetrics metrics>;
return v;
}
}