RaftFleet.Manager.State (raft_fleet v0.11.0)

Copy Markdown View Source

Summary

Functions

Type-aware getter for activate_worker.

Type-aware setter for activate_worker.

Type-aware getter for adjust_timer.

Type-aware setter for adjust_timer.

Type-aware getter for adjust_worker.

Type-aware setter for adjust_worker.

Type-aware getter for being_added_consensus_groups.

Type-aware setter for being_added_consensus_groups.

Type-aware getter for deactivate_worker.

Type-aware setter for deactivate_worker.

Creates a new instance of RaftFleet.Manager.State by using the given dict.

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

Updates an existing instance of RaftFleet.Manager.State 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.

Types

consensus_group_progress()

@type consensus_group_progress() ::
  :leader_started
  | {:leader_delegated_to, node()}
  | :process_exists
  | GenServer.from()

t()

@type t() :: %RaftFleet.Manager.State{
  activate_worker: Croma.TypeGen.Nilable.Croma.Pid.t(),
  adjust_timer: Croma.TypeGen.Nilable.Croma.Reference.t(),
  adjust_worker: Croma.TypeGen.Nilable.Croma.Pid.t(),
  being_added_consensus_groups: Croma.Map.t(),
  deactivate_worker: Croma.TypeGen.Nilable.Croma.Pid.t()
}

Functions

activate_worker(state)

@spec activate_worker(t()) :: Croma.TypeGen.Nilable.Croma.Pid.t()

Type-aware getter for activate_worker.

activate_worker(s, field)

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

Type-aware setter for activate_worker.

adjust_timer(state)

@spec adjust_timer(t()) :: Croma.TypeGen.Nilable.Croma.Reference.t()

Type-aware getter for adjust_timer.

adjust_timer(s, field)

@spec adjust_timer(t(), Croma.TypeGen.Nilable.Croma.Reference.t()) :: t()

Type-aware setter for adjust_timer.

adjust_worker(state)

@spec adjust_worker(t()) :: Croma.TypeGen.Nilable.Croma.Pid.t()

Type-aware getter for adjust_worker.

adjust_worker(s, field)

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

Type-aware setter for adjust_worker.

being_added_consensus_groups(state)

@spec being_added_consensus_groups(t()) :: Croma.Map.t()

Type-aware getter for being_added_consensus_groups.

being_added_consensus_groups(s, field)

@spec being_added_consensus_groups(t(), Croma.Map.t()) :: t()

Type-aware setter for being_added_consensus_groups.

deactivate_worker(state)

@spec deactivate_worker(t()) :: Croma.TypeGen.Nilable.Croma.Pid.t()

Type-aware getter for deactivate_worker.

deactivate_worker(s, field)

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

Type-aware setter for deactivate_worker.

new(dict)

@spec new(term()) :: Croma.Result.t(t())

Creates a new instance of RaftFleet.Manager.State 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.

new!(dict)

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

phase(state)

update(s, dict)

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

Updates an existing instance of RaftFleet.Manager.State 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}.

update!(s, dict)

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

update_being_added_consensus_groups(s, name, value2)

@spec update_being_added_consensus_groups(
  t(),
  atom(),
  consensus_group_progress()
) :: t()

valid?(value)

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

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