# `Quiver.Pool.Manager`
[🔗](https://github.com/edlontech/quiver/blob/main/lib/quiver/pool/manager.ex#L1)

Stateless pool routing module.

Looks up existing pools via Registry (hot path) and creates new ones
via DynamicSupervisor on first request to an origin (cold path).

# `origin`

```elixir
@type origin() :: {:http | :https, String.t(), :inet.port_number()}
```

# `get_pool`

```elixir
@spec get_pool(atom(), origin()) :: {:ok, pid()} | {:error, term()}
```

Returns an existing pool for the origin, or starts one via DynamicSupervisor.

# `pool_stats`

```elixir
@spec pool_stats(atom(), origin()) :: {:ok, map()} | {:error, :not_found}
```

Returns pool stats for a known origin, or `{:error, :not_found}`.

---

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