static final class Hpack.Writer
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
(package private) Header[] |
dynamicTable |
(package private) int |
dynamicTableByteCount |
private boolean |
emitDynamicTableSizeUpdate |
(package private) int |
headerCount |
(package private) int |
headerTableSizeSetting |
(package private) int |
maxDynamicTableByteCount |
(package private) int |
nextHeaderIndex |
private okio.Buffer |
out |
private static int |
SETTINGS_HEADER_TABLE_SIZE |
private static int |
SETTINGS_HEADER_TABLE_SIZE_LIMIT
The decoder has ultimate control of the maximum size of the dynamic table but we can choose
to use less.
|
private int |
smallestHeaderTableSizeSetting
In the scenario where the dynamic table size changes multiple times between transmission of
header blocks, we need to keep track of the smallest value in that interval.
|
private boolean |
useCompression |
Constructor and Description |
---|
Writer(okio.Buffer out) |
Writer(int headerTableSizeSetting,
boolean useCompression,
okio.Buffer out) |
Modifier and Type | Method and Description |
---|---|
private void |
adjustDynamicTableByteCount() |
private void |
clearDynamicTable() |
private int |
evictToRecoverBytes(int bytesToRecover)
Returns the count of entries evicted.
|
private void |
insertIntoDynamicTable(Header entry) |
(package private) void |
setHeaderTableSizeSetting(int headerTableSizeSetting) |
(package private) void |
writeByteString(okio.ByteString data) |
(package private) void |
writeHeaders(java.util.List<Header> headerBlock)
This does not use "never indexed" semantics for sensitive headers.
|
(package private) void |
writeInt(int value,
int prefixMask,
int bits) |
private static final int SETTINGS_HEADER_TABLE_SIZE
private static final int SETTINGS_HEADER_TABLE_SIZE_LIMIT
private final okio.Buffer out
private final boolean useCompression
private int smallestHeaderTableSizeSetting
private boolean emitDynamicTableSizeUpdate
int headerTableSizeSetting
int maxDynamicTableByteCount
Header[] dynamicTable
int nextHeaderIndex
int headerCount
int dynamicTableByteCount
Writer(okio.Buffer out)
Writer(int headerTableSizeSetting, boolean useCompression, okio.Buffer out)
private void clearDynamicTable()
private int evictToRecoverBytes(int bytesToRecover)
private void insertIntoDynamicTable(Header entry)
void writeHeaders(java.util.List<Header> headerBlock) throws java.io.IOException
java.io.IOException
void writeInt(int value, int prefixMask, int bits)
void writeByteString(okio.ByteString data) throws java.io.IOException
java.io.IOException
void setHeaderTableSizeSetting(int headerTableSizeSetting)
private void adjustDynamicTableByteCount()