EncodeProcessor Class — netty Architecture
Architecture documentation for the EncodeProcessor class in QpackHuffmanEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD c31c5530_3807_5540_1887_84406c955db1["EncodeProcessor"] 5891d4aa_5f82_c821_87fe_d3399230ecc8["QpackHuffmanEncoder.java"] c31c5530_3807_5540_1887_84406c955db1 -->|defined in| 5891d4aa_5f82_c821_87fe_d3399230ecc8 84f1d636_dcfc_e7df_411f_99bdae40e12e["process()"] c31c5530_3807_5540_1887_84406c955db1 -->|method| 84f1d636_dcfc_e7df_411f_99bdae40e12e ae35b484_50ea_7f8b_9c1f_15f01a764dff["end()"] c31c5530_3807_5540_1887_84406c955db1 -->|method| ae35b484_50ea_7f8b_9c1f_15f01a764dff
Relationship Graph
Source Code
codec-http3/src/main/java/io/netty/handler/codec/http3/QpackHuffmanEncoder.java lines 123–157
private final class EncodeProcessor implements ByteProcessor {
ByteBuf out;
private long current;
private int n;
@Override
public boolean process(byte value) {
int b = value & 0xFF;
int nbits = lengths[b];
current <<= nbits;
current |= codes[b];
n += nbits;
while (n >= 8) {
n -= 8;
out.writeByte((int) (current >> n));
}
return true;
}
void end() {
try {
if (n > 0) {
current <<= 8 - n;
current |= 0xFF >>> n; // this should be EOS symbol
out.writeByte((int) current);
}
} finally {
out = null;
current = 0;
n = 0;
}
}
}
Source
Frequently Asked Questions
What is the EncodeProcessor class?
EncodeProcessor is a class in the netty codebase, defined in codec-http3/src/main/java/io/netty/handler/codec/http3/QpackHuffmanEncoder.java.
Where is EncodeProcessor defined?
EncodeProcessor is defined in codec-http3/src/main/java/io/netty/handler/codec/http3/QpackHuffmanEncoder.java at line 123.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free