rafted_value v0.10.2 RaftedValue.Leadership View Source

Link to this section Summary

Functions

Type-aware getter for follower_responded_times

Type-aware setter for follower_responded_times

Type-aware getter for heartbeat_timer

Type-aware setter for heartbeat_timer

Creates a new instance of RaftedValue.Leadership by using the given dict

A variant of new/1 which returns t or raise if validation fails

Type-aware getter for quorum_timer

Type-aware setter for quorum_timer

Type-aware getter for quorum_timer_started_at

Type-aware setter for quorum_timer_started_at

Updates an existing instance of RaftedValue.Leadership 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.Leadership{
  follower_responded_times: Croma.Map.t(),
  heartbeat_timer: Croma.Reference.t(),
  quorum_timer: Croma.Reference.t(),
  quorum_timer_started_at: RaftedValue.Monotonic.t()
}

Link to this section Functions

Link to this function can_safely_remove?(l, members, follower, config) View Source
Link to this function follower_responded(l, members, follower, timestamp, config) View Source
Link to this function follower_responded_times(leadership) View Source
follower_responded_times(t()) :: Croma.Map.t()

Type-aware getter for follower_responded_times.

Link to this function follower_responded_times(s, field) View Source
follower_responded_times(t(), Croma.Map.t()) :: t()

Type-aware setter for follower_responded_times.

Link to this function heartbeat_timer(leadership) View Source
heartbeat_timer(t()) :: Croma.Reference.t()

Type-aware getter for heartbeat_timer.

Link to this function heartbeat_timer(s, field) View Source
heartbeat_timer(t(), Croma.Reference.t()) :: t()

Type-aware setter for heartbeat_timer.

Creates a new instance of RaftedValue.Leadership 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_leader(config) View Source
new_for_leader(RaftedValue.Config.t()) :: t()
Link to this function quorum_timer(leadership) View Source
quorum_timer(t()) :: Croma.Reference.t()

Type-aware getter for quorum_timer.

Link to this function quorum_timer(s, field) View Source
quorum_timer(t(), Croma.Reference.t()) :: t()

Type-aware setter for quorum_timer.

Link to this function quorum_timer_started_at(leadership) View Source
quorum_timer_started_at(t()) :: RaftedValue.Monotonic.t()

Type-aware getter for quorum_timer_started_at.

Link to this function quorum_timer_started_at(s, field) View Source
quorum_timer_started_at(t(), RaftedValue.Monotonic.t()) :: t()

Type-aware setter for quorum_timer_started_at.

Link to this function remove_follower_response_time_entry(leadership, follower) View Source
remove_follower_response_time_entry(RaftedValue.Leadership.t(), pid()) ::
  t()
Link to this function reset_heartbeat_timer(l, config) View Source
reset_heartbeat_timer(RaftedValue.Leadership.t(), RaftedValue.Config.t()) ::
  t()
Link to this function reset_quorum_timer(l, config) View Source
reset_quorum_timer(RaftedValue.Leadership.t(), RaftedValue.Config.t()) :: t()
Link to this function unresponsive_followers(a0, members, config) View Source
unresponsive_followers(
  RaftedValue.Leadership.t(),
  RaftedValue.Members.t(),
  RaftedValue.Config.t()
) :: [pid()]

Updates an existing instance of RaftedValue.Leadership 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.