# `Quic.Retry`
[🔗](https://github.com/gsmlg-dev/http_fetch/blob/v1.0.0-rc.9/apps/elixir_quic/lib/quic/retry.ex#L1)

Bounded, authenticated server Retry tokens. The endpoint owns the random key
and supplies monotonic microseconds. Tokens bind the source IP/port, original
DCID and Retry SCID; restarting the endpoint invalidates outstanding tokens.
They prove address reachability, not a client identity, and are replayable
within their short lifetime. No per-client token state is retained.

# `issue`

```elixir
@spec issue(
  binary(),
  {:inet.ip_address(), :inet.port_number()},
  binary(),
  binary(),
  integer()
) ::
  binary()
```

# `verify`

```elixir
@spec verify(
  binary(),
  {:inet.ip_address(), :inet.port_number()},
  binary(),
  binary(),
  integer(),
  pos_integer()
) :: {:ok, binary()} | {:error, :invalid_retry_token}
```

---

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