Summary
Functions
Type-aware getter for consensus_groups.
Type-aware setter for consensus_groups.
Type-aware getter for members_per_leader_node.
Type-aware setter for members_per_leader_node.
Creates a new instance of RaftFleet.Cluster.State by using the given dict.
A variant of new/1 which returns t or raise if validation fails.
Type-aware getter for nodes_per_zone.
Type-aware setter for nodes_per_zone.
Type-aware getter for recently_removed_groups.
Type-aware setter for recently_removed_groups.
Updates an existing instance of RaftFleet.Cluster.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
@type t() :: %RaftFleet.Cluster.State{ consensus_groups: RaftFleet.ConsensusGroups.t(), members_per_leader_node: RaftFleet.MembersPerLeaderNode.t(), nodes_per_zone: RaftFleet.NodesPerZone.t(), recently_removed_groups: RaftFleet.RecentlyRemovedGroups.t() }
Functions
@spec consensus_groups(t()) :: RaftFleet.ConsensusGroups.t()
Type-aware getter for consensus_groups.
@spec consensus_groups(t(), RaftFleet.ConsensusGroups.t()) :: t()
Type-aware setter for consensus_groups.
@spec members_per_leader_node(t()) :: RaftFleet.MembersPerLeaderNode.t()
Type-aware getter for members_per_leader_node.
@spec members_per_leader_node(t(), RaftFleet.MembersPerLeaderNode.t()) :: t()
Type-aware setter for members_per_leader_node.
@spec new(term()) :: Croma.Result.t(t())
Creates a new instance of RaftFleet.Cluster.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.
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 nodes_per_zone(t()) :: RaftFleet.NodesPerZone.t()
Type-aware getter for nodes_per_zone.
@spec nodes_per_zone(t(), RaftFleet.NodesPerZone.t()) :: t()
Type-aware setter for nodes_per_zone.
@spec recently_removed_groups(t()) :: RaftFleet.RecentlyRemovedGroups.t()
Type-aware getter for recently_removed_groups.
@spec recently_removed_groups(t(), RaftFleet.RecentlyRemovedGroups.t()) :: t()
Type-aware setter for recently_removed_groups.
@spec update(t(), Dict.t()) :: Croma.Result.t(t())
Updates an existing instance of RaftFleet.Cluster.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.