elixir_quic_http3
Beta HTTP/3 client application protocol for the elixir_quic transport.
The source was imported from
gsmlg-dev/ex_quic@14974913390e12d03a78a2903d18e55a04fa89d6 and extended in
the http_fetch umbrella. QuicHttp3.Session owns HTTP/3 control/request streams,
settings, response framing and QPACK; QuicHttp3.Transport.Quic supplies the
native transport. The shared runtime owns pooling and application delivery.
QuicHttp3.capabilities/0 reports status: :beta, http3: true, qpack: true,
qpack_profile: :static_literal (the encoder) and qpack_huffman: true. It also
reports dynamic_qpack: true (the decoder advertises a 4096-byte dynamic table and
16 blocked streams by default; 0/0 restores the static-only profile),
zero_rtt: true (opt-in, safe requests only), connection_migration: true
(exclusive sessions only) and websocket_over_http3: true. webtransport stays
false until a draft-17 peer can verify it. Raw Quic.capabilities().http3
remains false.
Fetch and EventSource select this runtime explicitly with
http_version: :http3. HTTPS and verified peer identity are required; there is
no protocol fallback. See the Fetch contract
for bodies, deadlines, cancellation, redirects, trailers and telemetry.
Beta capability reporting does not establish complete protocol conformance, production readiness or publication. Independent peer, artifact, load and canary results are tracked separately in the implementation audit and acceptance record; final acceptance remains subject to those gates.