Skip to main content

Module h3

Module h3 

Available on crate features http and std only.
Expand description

HTTP/3 wire vocabulary: frames, settings, stream types, error codes and the QPACK instruction/field representations.

These are pure wire/value types with self-contained encoding and decoding. They carry no connection state: the stateful QPACK tables, encoder/decoder state machines and the bounded, incremental frame codec live in rama-http-core’s h3 module. The QUIC variable-length integer and stream-identifier vocabulary is reused from rama_quic_proto rather than re-modelled here.

References: RFC 9114 (HTTP/3) and RFC 9204 (QPACK).

Modules§

qpack
QPACK wire vocabulary (RFC 9204): the static table, prefixed integer/string codings, the field-line representations that make up an encoded field section, and the encoder- and decoder-stream instruction representations.

Structs§

Code
An HTTP/3 or QPACK error code, as carried by RESET_STREAM, STOP_SENDING, GOAWAY and the QUIC CONNECTION_CLOSE application-error space (RFC 9114 §8.1, RFC 9204 §6).
FrameHeader
The header of an HTTP/3 frame: a type followed by the byte length of its payload (RFC 9114 §7.1). It carries no payload; the payload is decoded by the layer that owns the frame body.
FrameType
The type of an HTTP/3 frame, sent as a variable-length integer (RFC 9114 §7.2).
Setting
One HTTP/3 setting: an identifier and its value.
SettingId
The identifier of an HTTP/3 setting (RFC 9114 §7.2.4, §11.2.2).
Settings
An ordered collection of HTTP/3 settings (RFC 9114 §7.2.4).
StreamType
The type of an HTTP/3 unidirectional stream, sent as a variable-length integer at the start of the stream (RFC 9114 §6.2).
VarInt
An integer less than 2^62
VarIntDecoder
Incremental, fragmentation-safe decoder for a single QUIC variable-length integer.

Enums§

SettingsError
An error encountered while validating or decoding HTTP/3 settings (RFC 9114 §7.2.4.1).

Constants§

DEFAULT_MAX_SETTINGS_ENTRIES
The default cap on the number of entries Settings::decode will accept, bounding memory when parsing a peer’s SETTINGS frame. Well-behaved peers send only a handful.