raft_kv v0.1.1 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

Link to this type 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()
}

Link to this section Functions

Link to this function consensus_group_name(keyspace_name, range_start) View Source
consensus_group_name(atom(), non_neg_integer()) :: atom()
Link to this function data_module(shard) View Source
data_module(t()) :: Croma.Atom.t()

Type-aware getter for data_module.

Link to this function data_module(s, field) View Source
data_module(t(), Croma.Atom.t()) :: t()

Type-aware setter for data_module.

Type-aware getter for hook_module.

Type-aware setter for hook_module.

Link to this function 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}
Link to this function keys_former_half(shard) View Source
keys_former_half(t()) :: RaftKV.Shard.KeysMap.t()

Type-aware getter for keys_former_half.

Link to this function keys_former_half(s, field) View Source
keys_former_half(t(), RaftKV.Shard.KeysMap.t()) :: t()

Type-aware setter for keys_former_half.

Link to this function keys_latter_half(shard) View Source
keys_latter_half(t()) :: RaftKV.Shard.KeysMap.t()

Type-aware getter for keys_latter_half.

Link to this function keys_latter_half(s, field) View Source
keys_latter_half(t(), RaftKV.Shard.KeysMap.t()) :: t()

Type-aware setter for keys_latter_half.

Link to this function keyspace_name(shard) View Source
keyspace_name(t()) :: Croma.Atom.t()

Type-aware getter for keyspace_name.

Link to this function keyspace_name(s, field) View Source
keyspace_name(t(), Croma.Atom.t()) :: t()

Type-aware setter for keyspace_name.

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.

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

Link to this function range_end(s, field) View Source
range_end(t(), Croma.NonNegInteger.t()) :: t()

Type-aware setter for range_end.

Link to this function range_middle(shard) View Source
range_middle(t()) :: Croma.NonNegInteger.t()

Type-aware getter for range_middle.

Link to this function range_middle(s, field) View Source
range_middle(t(), Croma.NonNegInteger.t()) :: t()

Type-aware setter for range_middle.

Link to this function range_start(shard) View Source
range_start(t()) :: Croma.NonNegInteger.t()

Type-aware getter for range_start.

Link to this function range_start(s, field) View Source
range_start(t(), Croma.NonNegInteger.t()) :: t()

Type-aware setter for range_start.

Link to this function size_former_half(shard) View Source
size_former_half(t()) :: Croma.NonNegInteger.t()

Type-aware getter for size_former_half.

Link to this function size_former_half(s, field) View Source
size_former_half(t(), Croma.NonNegInteger.t()) :: t()

Type-aware setter for size_former_half.

Link to this function size_latter_half(shard) View Source
size_latter_half(t()) :: Croma.NonNegInteger.t()

Type-aware getter for size_latter_half.

Link to this function size_latter_half(s, field) View Source
size_latter_half(t(), Croma.NonNegInteger.t()) :: t()

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

Link to this function update!(s, dict) View Source
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.

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