writeSelectorsAndHuffmanTables() — netty Function Reference
Architecture documentation for the writeSelectorsAndHuffmanTables() function in Bzip2HuffmanStageEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 1624131c_7091_382d_fded_6daf075febdb["writeSelectorsAndHuffmanTables()"] 9201fec0_464b_c827_7f9e_b36517971a73["Bzip2HuffmanStageEncoder"] 1624131c_7091_382d_fded_6daf075febdb -->|defined in| 9201fec0_464b_c827_7f9e_b36517971a73 6e4766a4_37c9_7b63_401b_81d6c95ccc03["encode()"] 6e4766a4_37c9_7b63_401b_81d6c95ccc03 -->|calls| 1624131c_7091_382d_fded_6daf075febdb style 1624131c_7091_382d_fded_6daf075febdb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2HuffmanStageEncoder.java lines 302–336
private void writeSelectorsAndHuffmanTables(ByteBuf out) {
final Bzip2BitWriter writer = this.writer;
final byte[] selectors = this.selectors;
final int totalSelectors = selectors.length;
final int[][] huffmanCodeLengths = this.huffmanCodeLengths;
final int totalTables = huffmanCodeLengths.length;
final int mtfAlphabetSize = this.mtfAlphabetSize;
writer.writeBits(out, 3, totalTables);
writer.writeBits(out, 15, totalSelectors);
// Write the selectors
Bzip2MoveToFrontTable selectorMTF = new Bzip2MoveToFrontTable();
for (byte selector : selectors) {
writer.writeUnary(out, selectorMTF.valueToFront(selector));
}
// Write the Huffman tables
for (final int[] tableLengths : huffmanCodeLengths) {
int currentLength = tableLengths[0];
writer.writeBits(out, 5, currentLength);
for (int j = 0; j < mtfAlphabetSize; j++) {
final int codeLength = tableLengths[j];
final int value = currentLength < codeLength ? 2 : 3;
int delta = Math.abs(codeLength - currentLength);
while (delta-- > 0) {
writer.writeBits(out, 2, value);
}
writer.writeBoolean(out, false);
currentLength = codeLength;
}
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does writeSelectorsAndHuffmanTables() do?
writeSelectorsAndHuffmanTables() is a function in the netty codebase, defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2HuffmanStageEncoder.java.
Where is writeSelectorsAndHuffmanTables() defined?
writeSelectorsAndHuffmanTables() is defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2HuffmanStageEncoder.java at line 302.
What calls writeSelectorsAndHuffmanTables()?
writeSelectorsAndHuffmanTables() is called by 1 function(s): encode.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free