wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
Loading...
Searching...
No Matches
wired_h3srv_state Struct Reference

HTTP/3 server response-layer state after the 1-RTT handshake. More...

#include <state.h>

Data Fields

u8 settings_sent
 local control opened and SETTINGS emitted first
u8 peer_control
 1 once a peer control stream has been seen
u8 peer_settings
 peer SETTINGS-first recorded
u8 request_seen
 a request HEADERS has been decoded
u8 peer_qpack_encoder
 1 once a peer QPACK encoder stream has been seen
u8 peer_qpack_decoder
 1 once a peer QPACK decoder stream has been seen
qpack_dyn qdyn
 RFC 9204 3.2 / 4.3.1: this connection's QPACK dynamic table, the peer's encoder stream instructions (Set Dynamic Table Capacity, Insert...) are applied to (see wired_h3srv_qpack_max_table).
u64 qpack_max_table_capacity
 RFC 9204 5 (SETTINGS_QPACK_MAX_TABLE_CAPACITY): the maximum dynamic table capacity (in bytes) this server has advertised to the peer – qpack_capacity_within_limit's own limit argument when validating a received Set Dynamic Table Capacity instruction (9204-032) – DEFAULT_QPACK_MAX_TABLE_CAP on a live connection.
qdyn_encrx qenc_rx
 RFC 9204 4.2: the peer's encoder stream, reassembled and applied to qdyn as it arrives.
qdyn_dec qdec
 RFC 9204 4.4: what this decoder owes the peer on its decoder stream.
qpackenc_state qenc
 RFC 9204 2.1/3.2: this connection's OWN encoder-side dynamic table – the send-direction counterpart to qdyn above (which holds the peer's instructions applied to this endpoint's decoder).

Detailed Description

HTTP/3 server response-layer state after the 1-RTT handshake.

Field Documentation

◆ qdyn

qpack_dyn wired_h3srv_state::qdyn

RFC 9204 3.2 / 4.3.1: this connection's QPACK dynamic table, the peer's encoder stream instructions (Set Dynamic Table Capacity, Insert...) are applied to (see wired_h3srv_qpack_max_table).

Initialised empty (capacity 0) by wired_h3srv_state_init; a peer that never opens an encoder stream or never raises the capacity keeps it at 0, matching RFC 9204 3.2's "no dynamic table" default.

◆ qenc

qpackenc_state wired_h3srv_state::qenc

RFC 9204 2.1/3.2: this connection's OWN encoder-side dynamic table – the send-direction counterpart to qdyn above (which holds the peer's instructions applied to this endpoint's decoder).

Initialised by wired_h3srv_state_init with capacity 0 (RFC 9204 3.2.3): no Set Dynamic Table Capacity is ever sent, so every field line stays static or literal with Required Insert Count 0.


The documentation for this struct was generated from the following file: