QpackStaticTable Class — netty Architecture
Architecture documentation for the QpackStaticTable class in QpackStaticTable.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 3687ade4_986c_50be_e037_a38635c664d3["QpackStaticTable"] 446054d0_ddfc_f502_5032_198aa7a7dbf8["QpackStaticTable.java"] 3687ade4_986c_50be_e037_a38635c664d3 -->|defined in| 446054d0_ddfc_f502_5032_198aa7a7dbf8 437e534a_d69e_5665_0812_65458a55b1f1["QpackHeaderField()"] 3687ade4_986c_50be_e037_a38635c664d3 -->|method| 437e534a_d69e_5665_0812_65458a55b1f1 81c0d369_f14a_5665_3b19_7752155510de["getIndex()"] 3687ade4_986c_50be_e037_a38635c664d3 -->|method| 81c0d369_f14a_5665_3b19_7752155510de e40a6b68_f153_ac24_1ac1_4e91e6719775["findFieldIndex()"] 3687ade4_986c_50be_e037_a38635c664d3 -->|method| e40a6b68_f153_ac24_1ac1_4e91e6719775 fa91b2f9_ad1d_5c54_9a1a_3e2e2e9a0a5d["createMap()"] 3687ade4_986c_50be_e037_a38635c664d3 -->|method| fa91b2f9_ad1d_5c54_9a1a_3e2e2e9a0a5d bcb2bbbc_282e_6506_b4fd_6227ad89386b["QpackStaticTable()"] 3687ade4_986c_50be_e037_a38635c664d3 -->|method| bcb2bbbc_282e_6506_b4fd_6227ad89386b
Relationship Graph
Source Code
codec-http3/src/main/java/io/netty/handler/codec/http3/QpackStaticTable.java lines 25–227
final class QpackStaticTable {
static final int NOT_FOUND = -1;
/**
* Special mask used to disambiguate exact pair index from
* name only index and avoid executing lookup twice. Supposed
* to be used internally. The value should be large enough
* not to override bits from static table index (current size
* of the table is 99 elements).
*/
static final int MASK_NAME_REF = 1 << 10;
/**
* <a href="https://www.rfc-editor.org/rfc/rfc9204.html#name-static-table-2>Appendix A: Static Table</a>
*/
private static final List<QpackHeaderField> STATIC_TABLE = Arrays.asList(
newEmptyHeaderField(":authority"),
newHeaderField(":path", "/"),
newHeaderField("age", "0"),
newEmptyHeaderField("content-disposition"),
newHeaderField("content-length", "0"),
newEmptyHeaderField("cookie"),
newEmptyHeaderField("date"),
newEmptyHeaderField("etag"),
newEmptyHeaderField("if-modified-since"),
newEmptyHeaderField("if-none-match"),
newEmptyHeaderField("last-modified"),
newEmptyHeaderField("link"),
newEmptyHeaderField("location"),
newEmptyHeaderField("referer"),
newEmptyHeaderField("set-cookie"),
newHeaderField(":method", "CONNECT"),
newHeaderField(":method", "DELETE"),
newHeaderField(":method", "GET"),
newHeaderField(":method", "HEAD"),
newHeaderField(":method", "OPTIONS"),
newHeaderField(":method", "POST"),
newHeaderField(":method", "PUT"),
newHeaderField(":scheme", "http"),
newHeaderField(":scheme", "https"),
newHeaderField(":status", "103"),
newHeaderField(":status", "200"),
newHeaderField(":status", "304"),
newHeaderField(":status", "404"),
newHeaderField(":status", "503"),
newHeaderField("accept", "*/*"),
newHeaderField("accept", "application/dns-message"),
newHeaderField("accept-encoding", "gzip, deflate, br"),
newHeaderField("accept-ranges", "bytes"),
newHeaderField("access-control-allow-headers", "cache-control"),
newHeaderField("access-control-allow-headers", "content-type"),
newHeaderField("access-control-allow-origin", "*"),
newHeaderField("cache-control", "max-age=0"),
newHeaderField("cache-control", "max-age=2592000"),
newHeaderField("cache-control", "max-age=604800"),
newHeaderField("cache-control", "no-cache"),
newHeaderField("cache-control", "no-store"),
newHeaderField("cache-control", "public, max-age=31536000"),
newHeaderField("content-encoding", "br"),
newHeaderField("content-encoding", "gzip"),
newHeaderField("content-type", "application/dns-message"),
newHeaderField("content-type", "application/javascript"),
newHeaderField("content-type", "application/json"),
newHeaderField("content-type", "application/x-www-form-urlencoded"),
newHeaderField("content-type", "image/gif"),
newHeaderField("content-type", "image/jpeg"),
newHeaderField("content-type", "image/png"),
newHeaderField("content-type", "text/css"),
newHeaderField("content-type", "text/html;charset=utf-8"),
newHeaderField("content-type", "text/plain"),
newHeaderField("content-type", "text/plain;charset=utf-8"),
newHeaderField("range", "bytes=0-"),
newHeaderField("strict-transport-security", "max-age=31536000"),
newHeaderField("strict-transport-security", "max-age=31536000;includesubdomains"),
newHeaderField("strict-transport-security", "max-age=31536000;includesubdomains;preload"),
newHeaderField("vary", "accept-encoding"),
newHeaderField("vary", "origin"),
newHeaderField("x-content-type-options", "nosniff"),
newHeaderField("x-xss-protection", "1; mode=block"),
newHeaderField(":status", "100"),
Source
Frequently Asked Questions
What is the QpackStaticTable class?
QpackStaticTable is a class in the netty codebase, defined in codec-http3/src/main/java/io/netty/handler/codec/http3/QpackStaticTable.java.
Where is QpackStaticTable defined?
QpackStaticTable is defined in codec-http3/src/main/java/io/netty/handler/codec/http3/QpackStaticTable.java at line 25.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free