Package org.eclipse.jetty.http2.hpack
Class HpackContext
- java.lang.Object
-
- org.eclipse.jetty.http2.hpack.HpackContext
-
public class HpackContext extends java.lang.ObjectHPACK - Header Compression for HTTP/2This 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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classHpackContext.DynamicTablestatic classHpackContext.Entrystatic classHpackContext.StaticEntry
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<org.eclipse.jetty.http.HttpField,HpackContext.Entry>__staticFieldMapprivate static org.eclipse.jetty.util.Trie<HpackContext.StaticEntry>__staticNameMapprivate static HpackContext.StaticEntry[]__staticTableprivate static HpackContext.StaticEntry[]__staticTableByHeaderprivate HpackContext.DynamicTable_dynamicTableprivate java.util.Map<org.eclipse.jetty.http.HttpField,HpackContext.Entry>_fieldMapprivate int_maxTableSizeprivate java.util.Map<java.lang.String,HpackContext.Entry>_nameMapprivate int_tableSizestatic intDEFAULT_MAX_TABLE_CAPACITYprivate static java.lang.StringEMPTYstatic org.eclipse.jetty.util.log.LoggerLOGstatic intSTATIC_SIZEstatic java.lang.String[][]STATIC_TABLE
-
Constructor Summary
Constructors Constructor Description HpackContext(int maxTableSize)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description HpackContext.Entryadd(org.eclipse.jetty.http.HttpField field)HpackContext.Entryget(int index)HpackContext.Entryget(java.lang.String name)HpackContext.Entryget(org.eclipse.jetty.http.HttpField field)HpackContext.Entryget(org.eclipse.jetty.http.HttpHeader header)intgetDynamicTableSize()intgetMaxDynamicTableSize()static HpackContext.EntrygetStatic(org.eclipse.jetty.http.HttpHeader header)intindex(HpackContext.Entry entry)voidresize(int newMaxDynamicTableSize)intsize()static intstaticIndex(org.eclipse.jetty.http.HttpHeader header)java.lang.StringtoString()
-
-
-
Field Detail
-
LOG
public static final org.eclipse.jetty.util.log.Logger LOG
-
EMPTY
private static final java.lang.String EMPTY
- See Also:
- Constant Field Values
-
STATIC_TABLE
public static final java.lang.String[][] STATIC_TABLE
-
__staticFieldMap
private static final java.util.Map<org.eclipse.jetty.http.HttpField,HpackContext.Entry> __staticFieldMap
-
__staticNameMap
private static final org.eclipse.jetty.util.Trie<HpackContext.StaticEntry> __staticNameMap
-
__staticTableByHeader
private static final HpackContext.StaticEntry[] __staticTableByHeader
-
__staticTable
private static final HpackContext.StaticEntry[] __staticTable
-
STATIC_SIZE
public static final int STATIC_SIZE
-
DEFAULT_MAX_TABLE_CAPACITY
public static final int DEFAULT_MAX_TABLE_CAPACITY
- See Also:
- Constant Field Values
-
_dynamicTable
private final HpackContext.DynamicTable _dynamicTable
-
_fieldMap
private final java.util.Map<org.eclipse.jetty.http.HttpField,HpackContext.Entry> _fieldMap
-
_nameMap
private final java.util.Map<java.lang.String,HpackContext.Entry> _nameMap
-
_maxTableSize
private int _maxTableSize
-
_tableSize
private int _tableSize
-
-
Method Detail
-
resize
public void resize(int newMaxDynamicTableSize)
-
get
public HpackContext.Entry get(org.eclipse.jetty.http.HttpField field)
-
get
public HpackContext.Entry get(java.lang.String name)
-
get
public HpackContext.Entry get(int index)
-
get
public HpackContext.Entry get(org.eclipse.jetty.http.HttpHeader header)
-
getStatic
public static HpackContext.Entry getStatic(org.eclipse.jetty.http.HttpHeader header)
-
add
public HpackContext.Entry add(org.eclipse.jetty.http.HttpField field)
-
size
public int size()
- Returns:
- Current dynamic table size in entries
-
getDynamicTableSize
public int getDynamicTableSize()
- Returns:
- Current Dynamic table size in Octets
-
getMaxDynamicTableSize
public int getMaxDynamicTableSize()
- Returns:
- Max Dynamic table size in Octets
-
index
public int index(HpackContext.Entry entry)
-
staticIndex
public static int staticIndex(org.eclipse.jetty.http.HttpHeader header)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-