final class org.apache.hc.core.http.hpack.InboundDynamicTable extends java.lang.Object
{
private final org.apache.hc.core.http.hpack.StaticTable staticTable;
private final org.apache.hc.core.http.hpack.FifoBuffer headers;
private int maxSize;
private int currentSize;
void <init>(org.apache.hc.core.http.hpack.StaticTable)
{
org.apache.hc.core.http.hpack.InboundDynamicTable v;
org.apache.hc.core.http.hpack.StaticTable v;
org.apache.hc.core.http.hpack.FifoBuffer v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v := @parameter: org.apache.hc.core.http.hpack.StaticTable;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.StaticTable staticTable> = v;
v = new org.apache.hc.core.http.hpack.FifoBuffer;
specialinvoke v.<org.apache.hc.core.http.hpack.FifoBuffer: void <init>(int)>(256);
v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.FifoBuffer headers> = v;
v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int maxSize> = 2147483647;
v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int currentSize> = 0;
return;
}
void <init>()
{
org.apache.hc.core.http.hpack.InboundDynamicTable v;
org.apache.hc.core.http.hpack.StaticTable v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v = <org.apache.hc.core.http.hpack.StaticTable: org.apache.hc.core.http.hpack.StaticTable INSTANCE>;
specialinvoke v.<org.apache.hc.core.http.hpack.InboundDynamicTable: void <init>(org.apache.hc.core.http.hpack.StaticTable)>(v);
return;
}
public int getMaxSize()
{
int v;
org.apache.hc.core.http.hpack.InboundDynamicTable v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int maxSize>;
return v;
}
public void setMaxSize(int)
{
int v;
org.apache.hc.core.http.hpack.InboundDynamicTable v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v := @parameter: int;
v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int maxSize> = v;
specialinvoke v.<org.apache.hc.core.http.hpack.InboundDynamicTable: void evict()>();
return;
}
public int getCurrentSize()
{
int v;
org.apache.hc.core.http.hpack.InboundDynamicTable v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int currentSize>;
return v;
}
int staticLength()
{
int v;
org.apache.hc.core.http.hpack.InboundDynamicTable v;
org.apache.hc.core.http.hpack.StaticTable v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.StaticTable staticTable>;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.StaticTable: int length()>();
return v;
}
int dynamicLength()
{
int v;
org.apache.hc.core.http.hpack.InboundDynamicTable v;
org.apache.hc.core.http.hpack.FifoBuffer v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.FifoBuffer headers>;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.FifoBuffer: int size()>();
return v;
}
org.apache.hc.core.http.Header getDynamicEntry(int)
{
org.apache.hc.core.http.hpack.FifoBuffer v;
int v;
org.apache.hc.core.http.hpack.InboundDynamicTable v;
org.apache.hc.core.http.hpack.HPackHeader v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v := @parameter: int;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.FifoBuffer headers>;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.FifoBuffer: org.apache.hc.core.http.hpack.HPackHeader get(int)>(v);
return v;
}
public int length()
{
org.apache.hc.core.http.hpack.StaticTable v;
org.apache.hc.core.http.hpack.FifoBuffer v;
int v, v, v;
org.apache.hc.core.http.hpack.InboundDynamicTable v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.StaticTable staticTable>;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.StaticTable: int length()>();
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.FifoBuffer headers>;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.FifoBuffer: int size()>();
v = v + v;
return v;
}
public org.apache.hc.core.http.hpack.HPackHeader getHeader(int)
{
java.lang.IndexOutOfBoundsException v;
org.apache.hc.core.http.hpack.StaticTable v, v, v;
org.apache.hc.core.http.hpack.FifoBuffer v;
int v, v, v, v, v, v;
org.apache.hc.core.http.hpack.InboundDynamicTable v;
org.apache.hc.core.http.hpack.HPackHeader v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v := @parameter: int;
if v < 1 goto label;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int length()>();
if v <= v goto label;
label:
v = new java.lang.IndexOutOfBoundsException;
specialinvoke v.<java.lang.IndexOutOfBoundsException: void <init>()>();
throw v;
label:
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.StaticTable staticTable>;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.StaticTable: int length()>();
if v > v goto label;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.StaticTable staticTable>;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.StaticTable: org.apache.hc.core.http.hpack.HPackHeader get(int)>(v);
goto label;
label:
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.FifoBuffer headers>;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.StaticTable staticTable>;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.StaticTable: int length()>();
v = v - v;
v = v - 1;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.FifoBuffer: org.apache.hc.core.http.hpack.HPackHeader get(int)>(v);
label:
return v;
}
public void add(org.apache.hc.core.http.hpack.HPackHeader)
{
org.apache.hc.core.http.hpack.FifoBuffer v;
int v, v, v, v;
org.apache.hc.core.http.hpack.InboundDynamicTable v;
org.apache.hc.core.http.hpack.HPackHeader v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v := @parameter: org.apache.hc.core.http.hpack.HPackHeader;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.HPackHeader: int getTotalSize()>();
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int maxSize>;
if v <= v goto label;
specialinvoke v.<org.apache.hc.core.http.hpack.InboundDynamicTable: void clear()>();
return;
label:
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.FifoBuffer headers>;
virtualinvoke v.<org.apache.hc.core.http.hpack.FifoBuffer: void addFirst(org.apache.hc.core.http.hpack.HPackHeader)>(v);
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int currentSize>;
v = v + v;
v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int currentSize> = v;
specialinvoke v.<org.apache.hc.core.http.hpack.InboundDynamicTable: void evict()>();
return;
}
private void clear()
{
org.apache.hc.core.http.hpack.InboundDynamicTable v;
org.apache.hc.core.http.hpack.FifoBuffer v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int currentSize> = 0;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.FifoBuffer headers>;
virtualinvoke v.<org.apache.hc.core.http.hpack.FifoBuffer: void clear()>();
return;
}
private void evict()
{
org.apache.hc.core.http.hpack.FifoBuffer v;
int v, v, v, v, v, v;
org.apache.hc.core.http.hpack.InboundDynamicTable v;
boolean v;
org.apache.hc.core.http.hpack.HPackHeader v;
v := @this: org.apache.hc.core.http.hpack.InboundDynamicTable;
label:
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int currentSize>;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int maxSize>;
if v <= v goto label;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: org.apache.hc.core.http.hpack.FifoBuffer headers>;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.FifoBuffer: org.apache.hc.core.http.hpack.HPackHeader removeLast()>();
if v == null goto label;
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int currentSize>;
v = virtualinvoke v.<org.apache.hc.core.http.hpack.HPackHeader: int getTotalSize()>();
v = v - v;
v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int currentSize> = v;
goto label;
label:
v = v.<org.apache.hc.core.http.hpack.InboundDynamicTable: int currentSize>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
staticinvoke <org.apache.hc.core.util.Asserts: void check(boolean,java.lang.String)>(v, "Current table size must be zero");
label:
return;
}
}