Production WARaft backend boundary.
WARaft is the only default-instance runtime backend.
Summary
Functions
@spec add_member(non_neg_integer(), node(), keyword()) :: {:ok, tuple()} | {:error, term()}
@spec add_participant(non_neg_integer(), node(), keyword()) :: {:ok, tuple()} | {:error, term()}
@spec adjust_membership(non_neg_integer(), atom(), node()) :: {:ok, tuple()} | {:error, term()}
@spec context!(atom()) :: FerricStore.Instance.t()
@spec create_snapshot(non_neg_integer()) :: {:ok, tuple()} | {:error, term()}
@spec inflight_commit_bytes(non_neg_integer()) :: non_neg_integer()
@spec install_snapshot(non_neg_integer(), charlist() | binary(), tuple()) :: :ok | {:error, term()}
@spec membership(non_neg_integer()) :: term()
@spec pause_writes_for_sync(non_neg_integer(), timeout()) :: :ok | {:error, term()}
@spec peer_ready(non_neg_integer(), node()) :: :ok | {:error, term()}
@spec resume_writes_for_sync(non_neg_integer(), timeout()) :: :ok | {:error, term()}
@spec segment_log_memory_status(non_neg_integer()) :: map()
@spec start( FerricStore.Instance.t(), keyword() ) :: :ok | {:error, term()}
@spec status(non_neg_integer()) :: keyword() | term()
@spec stop() :: :ok
@spec storage_position(non_neg_integer()) :: {:ok, tuple()} | {:error, term()}
@spec transfer_leadership(non_neg_integer(), node()) :: :ok | {:error, term()}
@spec trigger_election(non_neg_integer()) :: :ok | term()
@spec write(non_neg_integer(), tuple()) :: term()
@spec write_batch(non_neg_integer(), [tuple()]) :: term()
@spec write_delete_batch(non_neg_integer(), [binary()]) :: term()
@spec write_delete_batch_async(non_neg_integer(), [binary()], GenServer.from()) :: :ok | {:direct, term()}
@spec write_many([{non_neg_integer(), tuple()}]) :: [term()]
@spec write_put_batch(non_neg_integer(), [{binary(), binary(), non_neg_integer()}]) :: term()
@spec write_put_batch_async( non_neg_integer(), [{binary(), binary(), non_neg_integer()}], GenServer.from() ) :: :ok | {:direct, term()}