Stable resource-limit contract for FerricStore control planes and write paths.
The public management commands use set_limit/3, get_limit/2, and
usage/2. Internal enforcement points can use check/4, reserve/4, and
release/2 without coupling storage code to any specific limit backend.
Summary
Types
Callbacks
@callback release( reservation(), keyword() ) :: :ok | {:error, term()}
@callback set_limit(scope(), limit_spec(), keyword()) :: result()
Functions
@spec release( reservation(), keyword() ) :: :ok | {:error, term()}
@spec set_limit(scope(), limit_spec(), keyword()) :: result()