Skip to main content

Module qpack

Module qpack 

Source
Expand description

QPACK field-section coding (RFC 9204), static table only.

This server advertises SETTINGS_QPACK_MAX_TABLE_CAPACITY = 0 and SETTINGS_QPACK_BLOCKED_STREAMS = 0, which RFC 9204 §3.2.3 and §2.1.2 make binding on the encoder: it may not insert into the dynamic table, so every field line it sends is either a static-table reference or a literal. That is what lets the whole dynamic table – insertion, eviction, the two instruction streams, and the head-of-line blocking they can introduce – be left out rather than written and never used. A field line that does reference the dynamic table is therefore not merely unsupported but a protocol violation, and is answered as RFC 9204 §2.2.3 requires.

Encoding is the mirror image and just as small: the exact (name, value) in the static table when there is one, its name alone when only that matches, and a literal otherwise. Nothing is Huffman-encoded – see super::huffman.

Structs§

Field
One decoded field line.

Functions§

decode
Decodes an encoded field section.
encode
Encodes a field section: the prefix, then one line per field.