static final class Hpack.Reader
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
(package private) Header[] |
dynamicTable |
(package private) int |
dynamicTableByteCount |
(package private) int |
headerCount |
private java.util.List<Header> |
headerList |
private int |
headerTableSizeSetting |
private int |
maxDynamicTableByteCount |
(package private) int |
nextHeaderIndex |
private okio.BufferedSource |
source |
Constructor and Description |
---|
Reader(int headerTableSizeSetting,
int maxDynamicTableByteCount,
okio.Source source) |
Reader(int headerTableSizeSetting,
okio.Source source) |
Modifier and Type | Method and Description |
---|---|
private void |
adjustDynamicTableByteCount() |
private void |
clearDynamicTable() |
private int |
dynamicTableIndex(int index) |
private int |
evictToRecoverBytes(int bytesToRecover)
Returns the count of entries evicted.
|
java.util.List<Header> |
getAndResetHeaderList() |
private okio.ByteString |
getName(int index) |
private void |
insertIntoDynamicTable(int index,
Header entry)
index == -1 when new.
|
private boolean |
isStaticHeader(int index) |
(package private) int |
maxDynamicTableByteCount() |
private int |
readByte() |
(package private) okio.ByteString |
readByteString()
Reads a potentially Huffman encoded byte string.
|
(package private) void |
readHeaders()
Read
byteCount bytes of headers from the source stream. |
private void |
readIndexedHeader(int index) |
(package private) int |
readInt(int firstByte,
int prefixMask) |
private void |
readLiteralHeaderWithIncrementalIndexingIndexedName(int nameIndex) |
private void |
readLiteralHeaderWithIncrementalIndexingNewName() |
private void |
readLiteralHeaderWithoutIndexingIndexedName(int index) |
private void |
readLiteralHeaderWithoutIndexingNewName() |
private final java.util.List<Header> headerList
private final okio.BufferedSource source
private final int headerTableSizeSetting
private int maxDynamicTableByteCount
Header[] dynamicTable
int nextHeaderIndex
int headerCount
int dynamicTableByteCount
Reader(int headerTableSizeSetting, okio.Source source)
Reader(int headerTableSizeSetting, int maxDynamicTableByteCount, okio.Source source)
int maxDynamicTableByteCount()
private void adjustDynamicTableByteCount()
private void clearDynamicTable()
private int evictToRecoverBytes(int bytesToRecover)
void readHeaders() throws java.io.IOException
byteCount
bytes of headers from the source stream. This implementation does not
propagate the never indexed flag of a header.java.io.IOException
public java.util.List<Header> getAndResetHeaderList()
private void readIndexedHeader(int index) throws java.io.IOException
java.io.IOException
private int dynamicTableIndex(int index)
private void readLiteralHeaderWithoutIndexingIndexedName(int index) throws java.io.IOException
java.io.IOException
private void readLiteralHeaderWithoutIndexingNewName() throws java.io.IOException
java.io.IOException
private void readLiteralHeaderWithIncrementalIndexingIndexedName(int nameIndex) throws java.io.IOException
java.io.IOException
private void readLiteralHeaderWithIncrementalIndexingNewName() throws java.io.IOException
java.io.IOException
private okio.ByteString getName(int index) throws java.io.IOException
java.io.IOException
private boolean isStaticHeader(int index)
private void insertIntoDynamicTable(int index, Header entry)
private int readByte() throws java.io.IOException
java.io.IOException
int readInt(int firstByte, int prefixMask) throws java.io.IOException
java.io.IOException
okio.ByteString readByteString() throws java.io.IOException
java.io.IOException