Expand description
Sans-io HTTP/3 (RFC 9114) for simoom, on top of simoom_quic::Connection streams.
Http3 owns the HTTP/3 state of one QUIC connection: the control and QPACK streams,
SETTINGS, GOAWAY, and the frame parser of every request stream. Feed it the QUIC events
of its connection with Http3::handle, then drain Http3::poll_event. A server
answers H3Event::Headers with Http3::send_headers and Http3::send_body; body
sending reports how much was accepted, so a slow client pushes back on the handler.
The same type acts as a client (Http3::send_request), used by the tests.
Modules§
- code
- HTTP/3 error codes (RFC 9114 §8.1).
Structs§
- Config
- Field
- One field line: a name and a value.
- H3Error
- A connection-level HTTP/3 error; the connection is closed with this code.
- Http3
- Settings
- The settings simoom understands; others are ignored.
- Validated
- Facts learned while validating a header section.
Enums§
Functions§
- pseudo
- Returns the value of a pseudo-header or field.
- validate_
request - Request header validation: pseudo-headers first, no duplicates, the required ones
present (CONNECT has only
:methodand:authority; extended CONNECT adds:protocol,:schemeand:path). - validate_
response - Response header validation: exactly one three-digit
:status, no other pseudo-header. - validate_
trailers - Trailers carry no pseudo-headers.