# `QuicHttp3`
[🔗](https://github.com/gsmlg-dev/http_fetch/blob/v0.16.7/apps/elixir_quic_http3/lib/quic_http3.ex#L1)

HTTP/3 application protocol boundary for QUIC transports.

This package owns HTTP/3 semantics above QUIC. It deliberately does not
implement QUIC packet handling or expose the legacy `:quic_h3` API. The
transport-agnostic session is available through `QuicHttp3.Session`.

The initial HTTP/3 client profile is beta, with static/literal QPACK and
Huffman strings. Capability reporting describes this implemented subset;
independent acceptance and publication are recorded separately.

# `alpn`

```elixir
@type alpn() :: binary()
```

# `capabilities`

```elixir
@type capabilities() :: %{
  alpn: alpn(),
  status: :beta,
  http3: true,
  qpack: true,
  qpack_profile: :static_literal,
  qpack_huffman: true,
  dynamic_qpack: false,
  zero_rtt: false,
  connection_migration: false,
  websocket_over_http3: false,
  webtransport: false
}
```

# `alpn`

The HTTP/3 ALPN identifier used by the QUIC transport adapter.

# `capabilities`

Return the protocol capabilities currently implemented by this app.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
