rafted_value v0.1.1 RaftedValue.Members

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 Elixir.RaftedValue.Members by using the given dict and the default value of each field. Returns {:ok, valid_struct} or {:error, reason}. The values in the dict are validated by each field’s validate/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

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 Elixir.RaftedValue.Members with the given dict. The values in the dict are validated by each field’s validate/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 that the given dict is valid or not by using each field’s validate/1 function. Returns {:ok, valid_struct} or {:error, reason}

A variant of validate/1 which returns t or raise if validation fails. In other words, validate/1 followed by Croma.Result.get!/1

Types

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}

Functions

all(members)

Specs

all(t) :: RaftedValue.PidSet.t

Type-aware getter for all.

all(s, field)

Specs

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

Type-aware setter for all.

leader(members)

Specs

leader(t) :: Croma.TypeGen.Nilable.Croma.Pid.t

Type-aware getter for leader.

leader(s, field)

Specs

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

Type-aware setter for leader.

membership_change_committed(m, index)

Specs

membership_change_committed(RaftedValue.Members.t, LogIndex.t) :: t
new(dict)

Specs

new(Dict.t) :: Croma.Result.t(t)

Creates a new instance of Elixir.RaftedValue.Members by using the given dict and the default value of each field. Returns {:ok, valid_struct} or {:error, reason}. The values in the dict are validated by each field’s validate/1 function.

new!(dict)

Specs

new!(Dict.t) :: 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.

new_for_lonely_leader()

Specs

new_for_lonely_leader :: t
other_members_list(a0)

Specs

other_members_list(RaftedValue.Members.t) :: [pid]
pending_leader_change(members)

Specs

pending_leader_change(t) :: Croma.TypeGen.Nilable.Croma.Pid.t

Type-aware getter for pending_leader_change.

pending_leader_change(s, field)

Specs

pending_leader_change(t, Croma.TypeGen.Nilable.Croma.Pid.t) :: t

Type-aware setter for pending_leader_change.

put_leader(m, leader_or_nil)

Specs

put_leader(t, nil | pid) :: t
start_adding_follower(m, entry)

Specs

start_adding_follower(RaftedValue.Members.t, {any, any, :add_follower, any}) :: Croma.Result.t(t)
start_removing_follower(m, entry)

Specs

start_removing_follower(RaftedValue.Members.t, {any, any, :remove_follower, any}) :: Croma.Result.t(t)
start_replacing_leader(m, new_leader)

Specs

start_replacing_leader(RaftedValue.Members.t, nil | pid) :: Croma.Result.t(t)
uncommitted_membership_change(members)

Specs

uncommitted_membership_change(t) :: Croma.TypeGen.Nilable.RaftedValue.LogEntry.t

Type-aware getter for uncommitted_membership_change.

uncommitted_membership_change(s, field)

Specs

uncommitted_membership_change(t, Croma.TypeGen.Nilable.RaftedValue.LogEntry.t) :: t

Type-aware setter for uncommitted_membership_change.

update(s, dict)

Specs

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

Updates an existing instance of Elixir.RaftedValue.Members with the given dict. The values in the dict are validated by each field’s validate/1 function. Returns {:ok, valid_struct} or {:error, reason}.

update!(s, dict)

Specs

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.

validate(dict)

Specs

validate(Dict.t) :: Croma.Result.t(t)

Checks that the given dict is valid or not by using each field’s validate/1 function. Returns {:ok, valid_struct} or {:error, reason}.

validate!(dict)

Specs

validate!(Dict.t) :: t

A variant of validate/1 which returns t or raise if validation fails. In other words, validate/1 followed by Croma.Result.get!/1.