final class HpackHuffmanEncoder
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private class |
HpackHuffmanEncoder.EncodedLengthProcessor |
private class |
HpackHuffmanEncoder.EncodeProcessor |
Modifier and Type | Field and Description |
---|---|
private int[] |
codes |
private HpackHuffmanEncoder.EncodedLengthProcessor |
encodedLengthProcessor |
private HpackHuffmanEncoder.EncodeProcessor |
encodeProcessor |
private byte[] |
lengths |
Modifier | Constructor and Description |
---|---|
(package private) |
HpackHuffmanEncoder() |
private |
HpackHuffmanEncoder(int[] codes,
byte[] lengths)
Creates a new Huffman encoder with the specified Huffman coding.
|
Modifier and Type | Method and Description |
---|---|
void |
encode(ByteBuf out,
java.lang.CharSequence data)
Compresses the input string literal using the Huffman coding.
|
private void |
encodeSlowPath(ByteBuf out,
java.lang.CharSequence data) |
(package private) int |
getEncodedLength(java.lang.CharSequence data)
Returns the number of bytes required to Huffman encode the input string literal.
|
private int |
getEncodedLengthSlowPath(java.lang.CharSequence data) |
private final int[] codes
private final byte[] lengths
private final HpackHuffmanEncoder.EncodedLengthProcessor encodedLengthProcessor
private final HpackHuffmanEncoder.EncodeProcessor encodeProcessor
HpackHuffmanEncoder()
private HpackHuffmanEncoder(int[] codes, byte[] lengths)
codes
- the Huffman codes indexed by symbollengths
- the length of each Huffman codepublic void encode(ByteBuf out, java.lang.CharSequence data)
out
- the output stream for the compressed datadata
- the string literal to be Huffman encodedprivate void encodeSlowPath(ByteBuf out, java.lang.CharSequence data)
int getEncodedLength(java.lang.CharSequence data)
data
- the string literal to be Huffman encodeddata
private int getEncodedLengthSlowPath(java.lang.CharSequence data)