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
quic_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 – quic_qpack_capacity_within_limit's own limit argument when validating a received Set Dynamic Table Capacity instruction (9204-032).

Detailed Description

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

Field Documentation

◆ qdyn

quic_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.

◆ qpack_max_table_capacity

u64 wired_h3srv_state::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 – quic_qpack_capacity_within_limit's own limit argument when validating a received Set Dynamic Table Capacity instruction (9204-032).

0 (this SDK's current default: it never emits a non-zero value in its own SETTINGS) means the peer's encoder may not raise the table past 0 either.


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