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.
Type-aware setter for all.
@spec leader(t()) :: Croma.TypeGen.Nilable.Croma.Pid.t()
Type-aware getter for leader.
Type-aware setter for leader.
@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
.
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()
@spec pending_leader_change(t()) :: Croma.TypeGen.Nilable.Croma.Pid.t()
Type-aware getter for pending_leader_change.
Type-aware setter for pending_leader_change.
@spec start_replacing_leader( t(), nil | pid() ) :: Croma.Result.t(t())
@spec uncommitted_membership_change(t()) :: Croma.TypeGen.Nilable.RaftedValue.LogEntry.t()
Type-aware getter for uncommitted_membership_change.
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}
.
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.