$ show netty/netty-incubator-codec-http3
This repository provides an HTTP/3 codec implementation for Netty, including QPACK header compression, frame encoding/decoding, and control stream handling. It is a library that integrates into Netty's channel pipeline to support HTTP/3 over QUIC. The codebase is well-structured, with extensive tests and reusable components like Huffman decoders, dynamic table management, and frame validation handlers. However, the repository has been archived and its work merged into the main Netty 4.2 branch, meaning it is no longer actively maintained. The code is mature but may be outdated relative to the latest Netty versions and RFC updates.
The LLM identified 4 files worth highlighting for reuse:
A standalone Huffman decoder for QPACK header compression. It uses a large static lookup table and implements ByteProcessor for efficient byte-by-byte decoding. This component can be extracted and reused in any protocol requiring Huffman decoding, such as HPACK or custom compression, with minimal adaptation.
Implements the static table for QPACK with 99 predefined header fields. It provides lookup by index and by name/value pairs. This table is a fundamental building block for QPACK and can be reused in other HTTP/3 or QPACK implementations.
A type-safe container for HTTP/3 settings, providing typed accessors for known settings (e.g., qpackMaxTableCapacity, connectProtocolEnabled) and validation of setting identifiers. It encapsulates the SETTINGS frame logic and can be reused in any HTTP/3 implementation.
Utility class for encoding and decoding variable-length integers as used in QUIC and HTTP/3. Provides methods for reading/writing integers with different prefix lengths. This is a low-level, self-contained utility that can be extracted for any protocol requiring variable-length integer encoding.