Pure round-execution logic shared by the synchronous CouncilEx.Runner
and the internal M2b run-server (CouncilEx.RunServer).
Summary
Functions
Resolve the retry policy for a member call.
Types
@type retry_policy() :: {pos_integer(), non_neg_integer()}
Functions
@spec resolve_retry(keyword(), keyword(), keyword()) :: retry_policy()
Resolve the retry policy for a member call.
Layers, highest priority first:
- per-member opt (
retry: {max, base_ms}) - runtime opt to
CouncilEx.run/2 - application config
:default_retry - built-in
{2, 1000}
@spec run_round( module(), keyword(), atom(), non_neg_integer(), [{atom(), module(), keyword()}], CouncilEx.Context.t(), map() ) :: CouncilEx.RoundResult.t()