public class HpackContext
extends java.lang.Object
This class maintains the compression context for a single HTTP/2 connection. Specifically it holds the static and dynamic Header Field Tables and the associated sizes and limits.
It is compliant with draft 11 of the specification
Modifier and Type | Class and Description |
---|---|
private class |
HpackContext.DynamicTable |
static class |
HpackContext.Entry |
static class |
HpackContext.StaticEntry |
Modifier and Type | Field and Description |
---|---|
private static java.util.Map<HttpField,HpackContext.Entry> |
__staticFieldMap |
private static Trie<HpackContext.StaticEntry> |
__staticNameMap |
private static HpackContext.StaticEntry[] |
__staticTable |
private static HpackContext.StaticEntry[] |
__staticTableByHeader |
private HpackContext.DynamicTable |
_dynamicTable |
private int |
_dynamicTableSizeInBytes |
private java.util.Map<HttpField,HpackContext.Entry> |
_fieldMap |
private int |
_maxDynamicTableSizeInBytes |
private java.util.Map<java.lang.String,HpackContext.Entry> |
_nameMap |
private static java.lang.String |
EMPTY |
static Logger |
LOG |
static int |
STATIC_SIZE |
static java.lang.String[][] |
STATIC_TABLE |
Constructor and Description |
---|
HpackContext(int maxDynamicTableSize) |
Modifier and Type | Method and Description |
---|---|
HpackContext.Entry |
add(HttpField field) |
HpackContext.Entry |
get(HttpField field) |
HpackContext.Entry |
get(HttpHeader header) |
HpackContext.Entry |
get(int index) |
HpackContext.Entry |
get(java.lang.String name) |
int |
getDynamicTableSize() |
int |
getMaxDynamicTableSize() |
static HpackContext.Entry |
getStatic(HttpHeader header) |
int |
index(HpackContext.Entry entry) |
void |
resize(int newMaxDynamicTableSize) |
int |
size() |
static int |
staticIndex(HttpHeader header) |
java.lang.String |
toString() |
public static final Logger LOG
private static final java.lang.String EMPTY
public static final java.lang.String[][] STATIC_TABLE
private static final java.util.Map<HttpField,HpackContext.Entry> __staticFieldMap
private static final Trie<HpackContext.StaticEntry> __staticNameMap
private static final HpackContext.StaticEntry[] __staticTableByHeader
private static final HpackContext.StaticEntry[] __staticTable
public static final int STATIC_SIZE
private int _maxDynamicTableSizeInBytes
private int _dynamicTableSizeInBytes
private final HpackContext.DynamicTable _dynamicTable
private final java.util.Map<HttpField,HpackContext.Entry> _fieldMap
private final java.util.Map<java.lang.String,HpackContext.Entry> _nameMap
public void resize(int newMaxDynamicTableSize)
public HpackContext.Entry get(HttpField field)
public HpackContext.Entry get(java.lang.String name)
public HpackContext.Entry get(int index)
public HpackContext.Entry get(HttpHeader header)
public static HpackContext.Entry getStatic(HttpHeader header)
public HpackContext.Entry add(HttpField field)
public int size()
public int getDynamicTableSize()
public int getMaxDynamicTableSize()
public int index(HpackContext.Entry entry)
public static int staticIndex(HttpHeader header)
public java.lang.String toString()
toString
in class java.lang.Object