rafted_value v0.7.0 RaftedValue.Logs View Source
Link to this section Summary
Functions
Type-aware getter for followers
Type-aware setter for followers
Type-aware getter for i_committed
Type-aware setter for i_committed
Type-aware getter for i_max
Type-aware setter for i_max
Type-aware getter for i_min
Type-aware setter for i_min
Type-aware getter for map
Type-aware setter for map
Creates a new instance of RaftedValue.Logs by using the given dict
A variant of new/1
which returns t
or raise if validation fails
Updates an existing instance of RaftedValue.Logs with the given dict
.
The values in the dict
are validated by each field’s valid?/1
function.
Returns {:ok, valid_struct}
or {:error, reason}
A variant of update/2
which returns t
or raise if validation fails.
In other words, update/2
followed by Croma.Result.get!/1
Checks if the given value belongs to t/0
or not
Link to this section Types
t() :: %RaftedValue.Logs{followers: Croma.TypeGen.Nilable.RaftedValue.FollowerIndices.t(), i_committed: RaftedValue.LogIndex.t(), i_max: RaftedValue.LogIndex.t(), i_min: RaftedValue.LogIndex.t(), map: RaftedValue.LogsMap.t()}
Link to this section Functions
add_entry(RaftedValue.Logs.t(), nil | RaftedValue.Persistence.t(), (RaftedValue.LogIndex.t() -> RaftedValue.LogEntry.t())) :: {t(), RaftedValue.LogEntry.t()}
add_entry_on_add_follower(RaftedValue.Logs.t(), RaftedValue.TermNumber.t(), pid(), nil | RaftedValue.Persistence.t()) :: {t(), RaftedValue.LogEntry.t()}
add_entry_on_elected_leader(RaftedValue.Logs.t(), RaftedValue.Members.t(), RaftedValue.TermNumber.t(), nil | RaftedValue.Persistence.t()) :: {t(), RaftedValue.LogEntry.t()}
add_entry_on_remove_follower(RaftedValue.Logs.t(), RaftedValue.TermNumber.t(), pid(), nil | RaftedValue.Persistence.t()) :: {t(), RaftedValue.LogEntry.t()}
add_entry_on_restored_from_files(t(), RaftedValue.TermNumber.t()) :: {t(), RaftedValue.LogEntry.t()}
append_entries(RaftedValue.Logs.t(), RaftedValue.Members.t(), [RaftedValue.LogEntry.t()], RaftedValue.LogIndex.t(), nil | RaftedValue.Persistence.t()) :: {t(), RaftedValue.Members.t(), [RaftedValue.LogEntry.t()], [RaftedValue.LogEntry.t()]}
candidate_log_up_to_date?(RaftedValue.Logs.t(), RaftedValue.LogInfo.t()) :: boolean()
commit_to_latest(RaftedValue.Logs.t(), nil | RaftedValue.Persistence.t()) :: {t(), [RaftedValue.LogEntry.t()]}
contain_given_prev_log?(RaftedValue.Logs.t(), {any(), any()}) :: boolean()
decrement_next_index_of_follower(RaftedValue.Logs.t(), pid()) :: t()
followers(t()) :: Croma.TypeGen.Nilable.RaftedValue.FollowerIndices.t()
Type-aware getter for followers.
Type-aware setter for followers.
Type-aware getter for i_committed.
i_committed(t(), RaftedValue.LogIndex.t()) :: t()
Type-aware setter for i_committed.
Type-aware getter for i_max.
Type-aware setter for i_max.
Type-aware getter for i_min.
Type-aware setter for i_min.
last_committed_entry(RaftedValue.Logs.t()) :: RaftedValue.LogEntry.t()
last_entry(RaftedValue.Logs.t()) :: RaftedValue.LogEntry.t()
make_append_entries_req(RaftedValue.Logs.t(), RaftedValue.TermNumber.t(), pid(), integer()) :: {:ok, RaftedValue.RPC.AppendEntriesRequest.t()} | {:too_old, t()} | :error
Type-aware getter for map.
Type-aware setter for map.
Creates a new instance of RaftedValue.Logs by using the given dict
.
For missing fields, default/0
of each field type will be used.
Returns {:ok, valid_struct}
or {:error, reason}
.
The values in the dict
are validated by each field’s valid?/1
function.
A variant of new/1
which returns t
or raise if validation fails.
In other words, new/1
followed by Croma.Result.get!/1
.
new_for_lonely_leader(RaftedValue.LogEntry.t(), Enum.t(RaftedValue.LogEntry.t())) :: t()
new_for_new_follower(RaftedValue.LogEntry.t()) :: t()
set_follower_index(RaftedValue.Logs.t(), RaftedValue.Members.t(), RaftedValue.TermNumber.t(), pid(), RaftedValue.LogIndex.t(), nil | RaftedValue.Persistence.t()) :: {t(), [RaftedValue.LogEntry.t()]}
set_follower_index_as_snapshot_last_index(RaftedValue.Logs.t(), RaftedValue.Members.t(), pid(), RaftedValue.Persistence.SnapshotMetadata.t()) :: t()
Updates an existing instance of RaftedValue.Logs with the given dict
.
The values in the dict
are validated by each field’s valid?/1
function.
Returns {:ok, valid_struct}
or {:error, reason}
.
A variant of update/2
which returns t
or raise if validation fails.
In other words, update/2
followed by Croma.Result.get!/1
.
Checks if the given value belongs to t/0
or not.