View Source RaftedValue.Members (rafted_value v0.11.2)

Link to this section Summary

Functions

Type-aware getter for all.

Type-aware setter for all.

Type-aware getter for leader.

Type-aware setter for leader.

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

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

Type-aware getter for pending_leader_change.

Type-aware setter for pending_leader_change.

Type-aware getter for uncommitted_membership_change.

Type-aware setter for uncommitted_membership_change.

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

@type t() :: %RaftedValue.Members{
  all: RaftedValue.PidSet.t(),
  leader: Croma.TypeGen.Nilable.Croma.Pid.t(),
  pending_leader_change: Croma.TypeGen.Nilable.Croma.Pid.t(),
  uncommitted_membership_change: Croma.TypeGen.Nilable.RaftedValue.LogEntry.t()
}

Link to this section Functions

@spec all(t()) :: RaftedValue.PidSet.t()

Type-aware getter for all.

@spec all(t(), RaftedValue.PidSet.t()) :: t()

Type-aware setter for all.

Link to this function

force_remove_member(m, pid)

View Source
@spec force_remove_member(t(), pid()) :: t()
@spec leader(t()) :: Croma.TypeGen.Nilable.Croma.Pid.t()

Type-aware getter for leader.

@spec leader(t(), Croma.TypeGen.Nilable.Croma.Pid.t()) :: t()

Type-aware setter for leader.

Link to this function

membership_change_committed(m, index)

View Source
@spec membership_change_committed(t(), RaftedValue.LogIndex.t()) :: t()
@spec new(term()) :: Croma.Result.t(t())

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

Values associated with the struct field names are fetched from the given dict and then validated/converted with valid?/1/new/1. For missing fields default values (if any) are used.

Returns {:ok, valid_struct} when all fields are filled with valid values. Returns {:error, reason} if any error occurs (invalid value or no value is available).

See also moduledoc of Croma.Struct.

@spec new!(term()) :: t()

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

In other words, new/1 followed by Croma.Result.get!/1.

@spec new_for_lonely_leader() :: t()
Link to this function

other_members_list(arg0)

View Source
@spec other_members_list(t()) :: [pid()]
Link to this function

pending_leader_change(members)

View Source
@spec pending_leader_change(t()) :: Croma.TypeGen.Nilable.Croma.Pid.t()

Type-aware getter for pending_leader_change.

Link to this function

pending_leader_change(s, field)

View Source
@spec pending_leader_change(t(), Croma.TypeGen.Nilable.Croma.Pid.t()) :: t()

Type-aware setter for pending_leader_change.

Link to this function

put_leader(m, leader_or_nil)

View Source
@spec put_leader(t(), nil | pid()) :: t()
Link to this function

start_adding_follower(m, entry)

View Source
@spec start_adding_follower(t(), {any(), any(), :add_follower, any()}) ::
  Croma.Result.t(t())
Link to this function

start_removing_follower(m, entry)

View Source
@spec start_removing_follower(t(), {any(), any(), :remove_follower, any()}) ::
  Croma.Result.t(t())
Link to this function

start_replacing_leader(m, new_leader)

View Source
@spec start_replacing_leader(
  t(),
  nil | pid()
) :: Croma.Result.t(t())
Link to this function

uncommitted_membership_change(members)

View Source
@spec uncommitted_membership_change(t()) ::
  Croma.TypeGen.Nilable.RaftedValue.LogEntry.t()

Type-aware getter for uncommitted_membership_change.

Link to this function

uncommitted_membership_change(s, field)

View Source
@spec uncommitted_membership_change(
  t(),
  Croma.TypeGen.Nilable.RaftedValue.LogEntry.t()
) :: t()

Type-aware setter for uncommitted_membership_change.

@spec update(t(), Dict.t()) :: Croma.Result.t(t())

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

@spec 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.

@spec valid?(term()) :: boolean()

Checks if the given value belongs to t/0 or not.