View Source ExWal.LogWriter.Failover (ex_wal v0.3.0)
FailoverWriter is the implementation of LogWriter in failover mode.
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type t() :: %ExWal.LogWriter.Failover{ fs: ExWal.FS.t(), log_num: non_neg_integer(), logical_offset: %ExWal.LogWriter.Failover.LogicalOffset{ latest_log_size: non_neg_integer(), no_estimated_offset?: boolean(), offset: non_neg_integer() }, manager: pid() | GenServer.name(), name: GenServer.name(), q: [iodata()], registry: GenServer.name(), writers: %{ s: %{ required(index :: non_neg_integer()) => wr :: ExWal.LogWriter.Failover.WriterAndRecorder.t() }, cnt: non_neg_integer() } }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor
.
@spec current_observer(name :: GenServer.name()) :: pid() | GenServer.name()
@spec get_log(name :: GenServer.name()) :: {:ok, ExWal.Models.VirtualLog.t()} | {:error, reason :: any()}
@spec start_link( {name :: GenServer.name(), registry :: GenServer.name(), fs :: ExWal.FS.t(), dir :: String.t(), log_num :: non_neg_integer(), manager :: pid() | nil} ) :: GenServer.on_start()
@spec stop(name :: GenServer.name()) :: :ok | {:error, reason :: any()}
@spec switch_dir(name :: GenServer.name(), new_dir :: binary()) :: :ok
@spec write_record( name :: GenServer.name(), bytes :: binary(), opts :: keyword() ) :: {:ok, written_offset :: non_neg_integer()} | {:error, reason :: any()}