WARaft cluster facade for FerricStore shards.
This module keeps the cluster-management boundary narrow so callers do not reach into WARaft internals directly.
Summary
Functions
Returns the WARaft system name used by FerricStore.
Functions
@spec add_member(non_neg_integer(), node(), atom()) :: :ok | {:error, term()}
@spec add_member(non_neg_integer(), node(), atom(), keyword()) :: :ok | {:error, term()}
@spec join_shard_server( non_neg_integer(), binary(), non_neg_integer(), binary(), atom(), [node()], keyword() ) :: :ok
@spec member_overview(non_neg_integer() | tuple()) :: {:error, :unsupported_member_overview}
@spec members(non_neg_integer()) :: {:ok, list(), term()} | {:error, term()}
@spec members(non_neg_integer(), timeout() | :default) :: {:ok, list(), term()} | {:error, term()}
@spec remove_member(non_neg_integer(), node()) :: :ok | {:error, term()}
@spec start_shard_server( non_neg_integer(), binary(), non_neg_integer(), binary(), atom(), keyword() ) :: :ok
@spec start_system(binary()) :: :ok
@spec stop_shard_server(non_neg_integer()) :: :ok
@spec stop_system() :: :ok
@spec system_name() :: atom()
Returns the WARaft system name used by FerricStore.
@spec transfer_leadership(non_neg_integer(), node()) :: :ok | {:error, term()}
@spec trigger_shard_elections_parallel( non_neg_integer(), keyword() ) :: :ok | {:error, term()}