raft_kv v0.2.5 RaftKV.Shard View Source
Link to this section Summary
Functions
Type-aware getter for data_module.
Type-aware setter for data_module.
Type-aware getter for hook_module.
Type-aware setter for hook_module.
Type-aware getter for keys_former_half.
Type-aware setter for keys_former_half.
Type-aware getter for keys_latter_half.
Type-aware setter for keys_latter_half.
Type-aware getter for keyspace_name.
Type-aware setter for keyspace_name.
Creates a new instance of RaftKV.Shard by using the given dict.
A variant of new/1 which returns t or raise if validation fails.
Type-aware getter for range_end.
Type-aware setter for range_end.
Type-aware getter for range_middle.
Type-aware setter for range_middle.
Type-aware getter for range_start.
Type-aware setter for range_start.
Type-aware getter for size_former_half.
Type-aware setter for size_former_half.
Type-aware getter for size_latter_half.
Type-aware setter for size_latter_half.
Type-aware getter for status.
Type-aware setter for status.
Updates an existing instance of RaftKV.Shard 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
t()
View Source
t() :: %RaftKV.Shard{
data_module: Croma.Atom.t(),
hook_module: Croma.TypeGen.Nilable.Croma.Atom.t(),
keys_former_half: RaftKV.Shard.KeysMap.t(),
keys_latter_half: RaftKV.Shard.KeysMap.t(),
keyspace_name: Croma.Atom.t(),
range_end: Croma.NonNegInteger.t(),
range_middle: Croma.NonNegInteger.t(),
range_start: Croma.NonNegInteger.t(),
size_former_half: Croma.NonNegInteger.t(),
size_latter_half: Croma.NonNegInteger.t(),
status: RaftKV.Shard.Status.t()
}
t() :: %RaftKV.Shard{
data_module: Croma.Atom.t(),
hook_module: Croma.TypeGen.Nilable.Croma.Atom.t(),
keys_former_half: RaftKV.Shard.KeysMap.t(),
keys_latter_half: RaftKV.Shard.KeysMap.t(),
keyspace_name: Croma.Atom.t(),
range_end: Croma.NonNegInteger.t(),
range_middle: Croma.NonNegInteger.t(),
range_start: Croma.NonNegInteger.t(),
size_former_half: Croma.NonNegInteger.t(),
size_latter_half: Croma.NonNegInteger.t(),
status: RaftKV.Shard.Status.t()
}
Link to this section Functions
consensus_group_name(keyspace_name, range_start)
View Source
consensus_group_name(atom(), non_neg_integer()) :: atom()
consensus_group_name(atom(), non_neg_integer()) :: atom()
data_module(shard)
View Source
data_module(t()) :: Croma.Atom.t()
data_module(t()) :: Croma.Atom.t()
Type-aware getter for data_module.
data_module(s, field)
View Source
data_module(t(), Croma.Atom.t()) :: t()
data_module(t(), Croma.Atom.t()) :: t()
Type-aware setter for data_module.
hook_module(shard)
View Source
hook_module(t()) :: Croma.TypeGen.Nilable.Croma.Atom.t()
hook_module(t()) :: Croma.TypeGen.Nilable.Croma.Atom.t()
Type-aware getter for hook_module.
hook_module(s, field)
View Source
hook_module(t(), Croma.TypeGen.Nilable.Croma.Atom.t()) :: t()
hook_module(t(), Croma.TypeGen.Nilable.Croma.Atom.t()) :: t()
Type-aware setter for hook_module.
initialize_1st_shard(keyspace_name, data_module, hook_module, range_start, range_end)
View Source
initialize_1st_shard(
atom(),
module(),
nil | module(),
non_neg_integer(),
pos_integer()
) :: :ok | {:error, :already_initialized}
initialize_1st_shard( atom(), module(), nil | module(), non_neg_integer(), pos_integer() ) :: :ok | {:error, :already_initialized}
keys_former_half(shard)
View Source
keys_former_half(t()) :: RaftKV.Shard.KeysMap.t()
keys_former_half(t()) :: RaftKV.Shard.KeysMap.t()
Type-aware getter for keys_former_half.
keys_former_half(s, field)
View Source
keys_former_half(t(), RaftKV.Shard.KeysMap.t()) :: t()
keys_former_half(t(), RaftKV.Shard.KeysMap.t()) :: t()
Type-aware setter for keys_former_half.
keys_latter_half(shard)
View Source
keys_latter_half(t()) :: RaftKV.Shard.KeysMap.t()
keys_latter_half(t()) :: RaftKV.Shard.KeysMap.t()
Type-aware getter for keys_latter_half.
keys_latter_half(s, field)
View Source
keys_latter_half(t(), RaftKV.Shard.KeysMap.t()) :: t()
keys_latter_half(t(), RaftKV.Shard.KeysMap.t()) :: t()
Type-aware setter for keys_latter_half.
keyspace_name(shard)
View Source
keyspace_name(t()) :: Croma.Atom.t()
keyspace_name(t()) :: Croma.Atom.t()
Type-aware getter for keyspace_name.
keyspace_name(s, field)
View Source
keyspace_name(t(), Croma.Atom.t()) :: t()
keyspace_name(t(), Croma.Atom.t()) :: t()
Type-aware setter for keyspace_name.
make_rv_config(rv_config_options \\ [heartbeat_timeout: 1000, election_timeout: 2000, election_timeout_clock_drift_margin: 1000, leader_hook_module: RaftKV.Shard.Hook])
View Source
make_rv_config(Keyword.t()) :: RaftedValue.Config.t()
make_rv_config(Keyword.t()) :: RaftedValue.Config.t()
new(dict)
View Source
new(term()) :: Croma.Result.t(t())
new(term()) :: Croma.Result.t(t())
Creates a new instance of RaftKV.Shard by using the given dict.
For missing fields, default/0 of each field type will be used.
Returns {:ok, valid_struct} or {:error, reason}.
The values in the dict are validated by each field's valid?/1 function.
new!(dict) View Source
A variant of new/1 which returns t or raise if validation fails.
In other words, new/1 followed by Croma.Result.get!/1.
range_end(shard)
View Source
range_end(t()) :: Croma.NonNegInteger.t()
range_end(t()) :: Croma.NonNegInteger.t()
Type-aware getter for range_end.
range_end(s, field)
View Source
range_end(t(), Croma.NonNegInteger.t()) :: t()
range_end(t(), Croma.NonNegInteger.t()) :: t()
Type-aware setter for range_end.
range_middle(shard)
View Source
range_middle(t()) :: Croma.NonNegInteger.t()
range_middle(t()) :: Croma.NonNegInteger.t()
Type-aware getter for range_middle.
range_middle(s, field)
View Source
range_middle(t(), Croma.NonNegInteger.t()) :: t()
range_middle(t(), Croma.NonNegInteger.t()) :: t()
Type-aware setter for range_middle.
range_start(shard)
View Source
range_start(t()) :: Croma.NonNegInteger.t()
range_start(t()) :: Croma.NonNegInteger.t()
Type-aware getter for range_start.
range_start(s, field)
View Source
range_start(t(), Croma.NonNegInteger.t()) :: t()
range_start(t(), Croma.NonNegInteger.t()) :: t()
Type-aware setter for range_start.
size_former_half(shard)
View Source
size_former_half(t()) :: Croma.NonNegInteger.t()
size_former_half(t()) :: Croma.NonNegInteger.t()
Type-aware getter for size_former_half.
size_former_half(s, field)
View Source
size_former_half(t(), Croma.NonNegInteger.t()) :: t()
size_former_half(t(), Croma.NonNegInteger.t()) :: t()
Type-aware setter for size_former_half.
size_latter_half(shard)
View Source
size_latter_half(t()) :: Croma.NonNegInteger.t()
size_latter_half(t()) :: Croma.NonNegInteger.t()
Type-aware getter for size_latter_half.
size_latter_half(s, field)
View Source
size_latter_half(t(), Croma.NonNegInteger.t()) :: t()
size_latter_half(t(), Croma.NonNegInteger.t()) :: t()
Type-aware setter for size_latter_half.
status(shard)
View Source
status(t()) :: RaftKV.Shard.Status.t()
status(t()) :: RaftKV.Shard.Status.t()
Type-aware getter for status.
status(s, field)
View Source
status(t(), RaftKV.Shard.Status.t()) :: t()
status(t(), RaftKV.Shard.Status.t()) :: t()
Type-aware setter for status.
update(s, dict)
View Source
update(t(), Dict.t()) :: Croma.Result.t(t())
update(t(), Dict.t()) :: Croma.Result.t(t())
Updates an existing instance of RaftKV.Shard 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) View Source
A variant of update/2 which returns t or raise if validation fails.
In other words, update/2 followed by Croma.Result.get!/1.
valid?(value) View Source
Checks if the given value belongs to t/0 or not.