rafted_value v0.9.1 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

Link to this type t() View Source
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

Link to this function add_entry_on_add_follower(logs, term, new_follower, persistence) View Source
Link to this function add_entry_on_elected_leader(logs, members, term, persistence) View Source
Link to this function add_entry_on_remove_follower(logs, term, follower_to_remove, persistence) View Source
add_entry_on_remove_follower(RaftedValue.Logs.t(), RaftedValue.TermNumber.t(), pid(), nil | RaftedValue.Persistence.t()) :: {t(), RaftedValue.LogEntry.t()}
Link to this function add_entry_on_restored_from_files(logs, term) View Source
add_entry_on_restored_from_files(t(), RaftedValue.TermNumber.t()) :: {t(), RaftedValue.LogEntry.t()}
Link to this function candidate_log_up_to_date?(a0, candidate_log_info) View Source
candidate_log_up_to_date?(RaftedValue.Logs.t(), RaftedValue.LogInfo.t()) :: boolean()
Link to this function commit_to_latest(logs, persistence) View Source
commit_to_latest(RaftedValue.Logs.t(), nil | RaftedValue.Persistence.t()) :: {t(), [RaftedValue.LogEntry.t()]}
Link to this function contain_given_prev_log?(a0, a1) View Source
contain_given_prev_log?(RaftedValue.Logs.t(), {any(), any()}) :: boolean()
Link to this function decrement_next_index_of_follower(logs, follower_pid) View Source
decrement_next_index_of_follower(RaftedValue.Logs.t(), pid()) :: t()
Link to this function followers(logs) View Source
followers(t()) :: Croma.TypeGen.Nilable.RaftedValue.FollowerIndices.t()

Type-aware getter for followers.

Link to this function followers(s, field) View Source
followers(t(), Croma.TypeGen.Nilable.RaftedValue.FollowerIndices.t()) :: t()

Type-aware setter for followers.

Type-aware getter for i_committed.

Link to this function i_committed(s, field) View Source
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.

Link to this function last_committed_entry(a0) View Source
last_committed_entry(RaftedValue.Logs.t()) :: RaftedValue.LogEntry.t()
Link to this function make_append_entries_req(logs, term, follower_pid, now) View Source
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.

Link to this function new_for_lonely_leader(last_committed_entry, entries_to_append) View Source
new_for_lonely_leader(RaftedValue.LogEntry.t(), Enum.t(RaftedValue.LogEntry.t())) :: t()
Link to this function new_for_new_follower(last_committed_entry) View Source
new_for_new_follower(RaftedValue.LogEntry.t()) :: t()
Link to this function set_follower_index(logs, a1, current_term, follower_pid, i_replicated, persistence) View Source
Link to this function set_follower_index_as_snapshot_last_index(logs, a1, follower_pid, a3) View Source
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}.

Link to this function update!(s, dict) View Source
update!(t(), Dict.t()) :: t()

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.