EncodeProcessor Class — netty Architecture
Architecture documentation for the EncodeProcessor class in HpackHuffmanEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD c1abb897_cee8_0666_478f_51ac2a844235["EncodeProcessor"] 7831d134_08a0_9668_e311_0bec636e63e0["HpackHuffmanEncoder.java"] c1abb897_cee8_0666_478f_51ac2a844235 -->|defined in| 7831d134_08a0_9668_e311_0bec636e63e0 2527f0b6_d7eb_91b9_0b24_5f6c1f329ad4["process()"] c1abb897_cee8_0666_478f_51ac2a844235 -->|method| 2527f0b6_d7eb_91b9_0b24_5f6c1f329ad4 8fa543c3_f5ed_cdc5_74aa_f71e4b2ae200["end()"] c1abb897_cee8_0666_478f_51ac2a844235 -->|method| 8fa543c3_f5ed_cdc5_74aa_f71e4b2ae200
Relationship Graph
Source Code
codec-http2/src/main/java/io/netty/handler/codec/http2/HpackHuffmanEncoder.java lines 141–175
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-http2/src/main/java/io/netty/handler/codec/http2/HpackHuffmanEncoder.java.
Where is EncodeProcessor defined?
EncodeProcessor is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/HpackHuffmanEncoder.java at line 141.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free