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.CharsetEncoder
charsetEncoder
private OutboundDynamicTable
dynamicTable
private ByteArrayBuffer
huffmanBuf
private int
maxTableSize
private java.nio.ByteBuffer
tmpBuf
-
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 void
clearState()
void
encodeHeader(ByteArrayBuffer dst, java.lang.String name, java.lang.String value, boolean sensitive)
(package private) void
encodeHeader(ByteArrayBuffer dst, java.lang.String name, java.lang.String value, boolean sensitive, boolean noIndexing, boolean useHuffman)
void
encodeHeader(ByteArrayBuffer dst, Header header)
(package private) void
encodeHeader(ByteArrayBuffer dst, Header header, boolean noIndexing, boolean useHuffman)
void
encodeHeaders(ByteArrayBuffer dst, java.util.List<? extends Header> headers, boolean useHuffman)
(package private) void
encodeHeaders(ByteArrayBuffer dst, java.util.List<? extends Header> headers, boolean noIndexing, boolean useHuffman)
(package private) static void
encodeHuffman(ByteArrayBuffer dst, java.nio.ByteBuffer src)
(package private) void
encodeIndex(ByteArrayBuffer dst, int index)
(package private) static void
encodeInt(ByteArrayBuffer dst, int n, int i, int mask)
(package private) void
encodeLiteralHeader(ByteArrayBuffer dst, HPackEntry existing, java.lang.String key, java.lang.String value, boolean sensitive, HPackRepresentation representation, boolean useHuffman)
(package private) void
encodeLiteralHeader(ByteArrayBuffer dst, HPackEntry existing, Header header, HPackRepresentation representation, boolean useHuffman)
(package private) int
encodeString(ByteArrayBuffer dst, java.lang.CharSequence charSequence, int off, int len, boolean huffman)
(package private) int
encodeString(ByteArrayBuffer dst, java.lang.String s, boolean huffman)
(package private) void
encodeString(ByteArrayBuffer dst, java.nio.ByteBuffer src, boolean huffman)
private void
ensureCapacity(int extra)
private void
expandCapacity(int capacity)
private int
findFullMatch(java.util.List<HPackEntry> entries, java.lang.String value)
int
getMaxTableSize()
void
setMaxTableSize(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)
-
-