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

Socket-free IO adapter contract.

Adapters perform local IO only. A successful send returns its actual local
completion timestamp in monotonic microseconds, not a peer acknowledgement. Admission, generations, amplification
accounting and timer validation live in `Quic.IO.Endpoint`.

# `close`

```elixir
@callback close(term()) :: :ok | {:error, term()}
```

# `monotonic_time`

```elixir
@callback monotonic_time() :: integer()
```

# `send`

```elixir
@callback send(term(), binary(), term()) :: {:ok, integer()} | {:error, term()}
```

---

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