One pool of a shard for a given role. ref is what callers receive
(a repo module, a registered name, ...). meta is adapter-specific.
Summary
Types
@type t() :: %Shardex.Pool{ adapter: module(), adapter_state: term(), child_spec: Supervisor.child_spec() | nil, meta: map(), ref: term(), role: atom(), status: Shardex.Shard.status() }