Package org.apache.hc.core5.http2.hpack
Class HPackEncoder
- java.lang.Object
-
- org.apache.hc.core5.http2.hpack.HPackEncoder
-
@Internal public final class HPackEncoder extends java.lang.Object
HPACK encoder.- Since:
- 5.0
-
-
Field Summary
Fields Modifier and Type Field Description private java.nio.charset.CharsetEncodercharsetEncoderprivate OutboundDynamicTabledynamicTableprivate ByteArrayBufferhuffmanBufprivate intmaxTableSizeprivate java.nio.ByteBuffertmpBuf
-
Constructor Summary
Constructors Constructor Description HPackEncoder(java.nio.charset.Charset charset)HPackEncoder(java.nio.charset.CharsetEncoder charsetEncoder)HPackEncoder(OutboundDynamicTable dynamicTable, java.nio.charset.Charset charset)HPackEncoder(OutboundDynamicTable dynamicTable, java.nio.charset.CharsetEncoder charsetEncoder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidclearState()voidencodeHeader(ByteArrayBuffer dst, java.lang.String name, java.lang.String value, boolean sensitive)(package private) voidencodeHeader(ByteArrayBuffer dst, java.lang.String name, java.lang.String value, boolean sensitive, boolean noIndexing, boolean useHuffman)voidencodeHeader(ByteArrayBuffer dst, Header header)(package private) voidencodeHeader(ByteArrayBuffer dst, Header header, boolean noIndexing, boolean useHuffman)voidencodeHeaders(ByteArrayBuffer dst, java.util.List<? extends Header> headers, boolean useHuffman)(package private) voidencodeHeaders(ByteArrayBuffer dst, java.util.List<? extends Header> headers, boolean noIndexing, boolean useHuffman)(package private) static voidencodeHuffman(ByteArrayBuffer dst, java.nio.ByteBuffer src)(package private) voidencodeIndex(ByteArrayBuffer dst, int index)(package private) static voidencodeInt(ByteArrayBuffer dst, int n, int i, int mask)(package private) voidencodeLiteralHeader(ByteArrayBuffer dst, HPackEntry existing, java.lang.String key, java.lang.String value, boolean sensitive, HPackRepresentation representation, boolean useHuffman)(package private) voidencodeLiteralHeader(ByteArrayBuffer dst, HPackEntry existing, Header header, HPackRepresentation representation, boolean useHuffman)(package private) intencodeString(ByteArrayBuffer dst, java.lang.CharSequence charSequence, int off, int len, boolean huffman)(package private) intencodeString(ByteArrayBuffer dst, java.lang.String s, boolean huffman)(package private) voidencodeString(ByteArrayBuffer dst, java.nio.ByteBuffer src, boolean huffman)private voidensureCapacity(int extra)private voidexpandCapacity(int capacity)private intfindFullMatch(java.util.List<HPackEntry> entries, java.lang.String value)intgetMaxTableSize()voidsetMaxTableSize(int maxTableSize)
-
-
-
Field Detail
-
dynamicTable
private final OutboundDynamicTable dynamicTable
-
huffmanBuf
private final ByteArrayBuffer huffmanBuf
-
charsetEncoder
private final java.nio.charset.CharsetEncoder charsetEncoder
-
tmpBuf
private java.nio.ByteBuffer tmpBuf
-
maxTableSize
private int maxTableSize
-
-
Constructor Detail
-
HPackEncoder
HPackEncoder(OutboundDynamicTable dynamicTable, java.nio.charset.CharsetEncoder charsetEncoder)
-
HPackEncoder
HPackEncoder(OutboundDynamicTable dynamicTable, java.nio.charset.Charset charset)
-
HPackEncoder
public HPackEncoder(java.nio.charset.Charset charset)
-
HPackEncoder
public HPackEncoder(java.nio.charset.CharsetEncoder charsetEncoder)
-
-
Method Detail
-
encodeInt
static void encodeInt(ByteArrayBuffer dst, int n, int i, int mask)
-
encodeHuffman
static void encodeHuffman(ByteArrayBuffer dst, java.nio.ByteBuffer src)
-
encodeString
void encodeString(ByteArrayBuffer dst, java.nio.ByteBuffer src, boolean huffman)
-
clearState
private void clearState()
-
expandCapacity
private void expandCapacity(int capacity)
-
ensureCapacity
private void ensureCapacity(int extra)
-
encodeString
int encodeString(ByteArrayBuffer dst, java.lang.CharSequence charSequence, int off, int len, boolean huffman) throws java.nio.charset.CharacterCodingException
- Throws:
java.nio.charset.CharacterCodingException
-
encodeString
int encodeString(ByteArrayBuffer dst, java.lang.String s, boolean huffman) throws java.nio.charset.CharacterCodingException
- Throws:
java.nio.charset.CharacterCodingException
-
encodeLiteralHeader
void encodeLiteralHeader(ByteArrayBuffer dst, HPackEntry existing, Header header, HPackRepresentation representation, boolean useHuffman) throws java.nio.charset.CharacterCodingException
- Throws:
java.nio.charset.CharacterCodingException
-
encodeLiteralHeader
void encodeLiteralHeader(ByteArrayBuffer dst, HPackEntry existing, java.lang.String key, java.lang.String value, boolean sensitive, HPackRepresentation representation, boolean useHuffman) throws java.nio.charset.CharacterCodingException
- Throws:
java.nio.charset.CharacterCodingException
-
encodeIndex
void encodeIndex(ByteArrayBuffer dst, int index)
-
findFullMatch
private int findFullMatch(java.util.List<HPackEntry> entries, java.lang.String value)
-
encodeHeader
void encodeHeader(ByteArrayBuffer dst, Header header, boolean noIndexing, boolean useHuffman) throws java.nio.charset.CharacterCodingException
- Throws:
java.nio.charset.CharacterCodingException
-
encodeHeader
void encodeHeader(ByteArrayBuffer dst, java.lang.String name, java.lang.String value, boolean sensitive, boolean noIndexing, boolean useHuffman) throws java.nio.charset.CharacterCodingException
- Throws:
java.nio.charset.CharacterCodingException
-
encodeHeaders
void encodeHeaders(ByteArrayBuffer dst, java.util.List<? extends Header> headers, boolean noIndexing, boolean useHuffman) throws java.nio.charset.CharacterCodingException
- Throws:
java.nio.charset.CharacterCodingException
-
encodeHeader
public void encodeHeader(ByteArrayBuffer dst, Header header) throws java.nio.charset.CharacterCodingException
- Throws:
java.nio.charset.CharacterCodingException
-
encodeHeader
public void encodeHeader(ByteArrayBuffer dst, java.lang.String name, java.lang.String value, boolean sensitive) throws java.nio.charset.CharacterCodingException
- Throws:
java.nio.charset.CharacterCodingException
-
encodeHeaders
public void encodeHeaders(ByteArrayBuffer dst, java.util.List<? extends Header> headers, boolean useHuffman) throws java.nio.charset.CharacterCodingException
- Throws:
java.nio.charset.CharacterCodingException
-
getMaxTableSize
public int getMaxTableSize()
-
setMaxTableSize
public void setMaxTableSize(int maxTableSize)
-
-