Package org.eclipse.jetty.http2.hpack
Class HpackContext
- java.lang.Object
-
- org.eclipse.jetty.http2.hpack.HpackContext
-
public class HpackContext extends java.lang.Object
HPACK - 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 class
HpackContext.DynamicTable
static class
HpackContext.Entry
static class
HpackContext.StaticEntry
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<org.eclipse.jetty.http.HttpField,HpackContext.Entry>
__staticFieldMap
private static org.eclipse.jetty.util.Trie<HpackContext.StaticEntry>
__staticNameMap
private static HpackContext.StaticEntry[]
__staticTable
private static HpackContext.StaticEntry[]
__staticTableByHeader
private HpackContext.DynamicTable
_dynamicTable
private java.util.Map<org.eclipse.jetty.http.HttpField,HpackContext.Entry>
_fieldMap
private int
_maxTableSize
private java.util.Map<java.lang.String,HpackContext.Entry>
_nameMap
private int
_tableSize
static int
DEFAULT_MAX_TABLE_CAPACITY
private static java.lang.String
EMPTY
static org.eclipse.jetty.util.log.Logger
LOG
static int
STATIC_SIZE
static 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.Entry
add(org.eclipse.jetty.http.HttpField field)
HpackContext.Entry
get(int index)
HpackContext.Entry
get(java.lang.String name)
HpackContext.Entry
get(org.eclipse.jetty.http.HttpField field)
HpackContext.Entry
get(org.eclipse.jetty.http.HttpHeader header)
int
getDynamicTableSize()
int
getMaxDynamicTableSize()
static HpackContext.Entry
getStatic(org.eclipse.jetty.http.HttpHeader header)
int
index(HpackContext.Entry entry)
void
resize(int newMaxDynamicTableSize)
int
size()
static int
staticIndex(org.eclipse.jetty.http.HttpHeader header)
java.lang.String
toString()
-
-
-
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:
toString
in classjava.lang.Object
-
-