Quiver.Pool.Manager (quiver v0.2.0)

Copy Markdown View Source

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).

Summary

Functions

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

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

Types

origin()

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

Functions

get_pool(name, origin)

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

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

pool_stats(name, origin)

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

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