# `Quiver.Error.H3Codes`
[🔗](https://github.com/edlontech/quiver/blob/main/lib/quiver/error/h3_codes.ex#L1)

HTTP/3 error code constants (RFC 9114 Section 8.1) and decode helper.
Mirrors `lib/quiver/conn/http2/errors.ex` for h2.

# `error_code`

```elixir
@type error_code() ::
  :h3_no_error
  | :h3_general_protocol_error
  | :h3_internal_error
  | :h3_stream_creation_error
  | :h3_closed_critical_stream
  | :h3_frame_unexpected
  | :h3_frame_error
  | :h3_excessive_load
  | :h3_id_error
  | :h3_settings_error
  | :h3_missing_settings
  | :h3_request_rejected
  | :h3_request_cancelled
  | :h3_request_incomplete
  | :h3_message_error
  | :h3_connect_error
  | :h3_version_fallback
```

# `decode`

```elixir
@spec decode(non_neg_integer()) :: error_code() | {:unknown, non_neg_integer()}
```

Decode an H3 error code to its atom name, or `{:unknown, code}` if not in the table.

# `list`

```elixir
@spec list() :: [{non_neg_integer(), error_code()}]
```

All known H3 error codes as a `{code, atom}` list.

---

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