Module shards_state

Shards State Manager.

Description

Shards State Manager. This module encapsulates the shards state.

Data Types

key()

key() = term()

Defines key type.

n_shards()

n_shards() = pos_integer()

Defines number of shards.

op()

op() = r | w | d

Defines operation type.

  • r: Read operations.
  • w: Write operation.
  • d: Delete operations.
  • pick_fun()

    pick_fun() = 'fun'(fun((key(), range(), op()) -> non_neg_integer()) | any)

    Defines spec function to pick or compute the shard/node. The function returns a value for Key within the range 0..Range-1.

    range()

    range() = pos_integer()

    Defines the range or set – range > 0.

    state()

    state() = #state{}

    Defines shards state.

    state_map()

    state_map() = #{module => module(), sup_name => atom(), n_shards => pos_integer(), pick_shard_fun => pick_fun(), pick_node_fun => pick_fun()}

    Defines the map representation of the shards state:

    Function Index

    from_map/1 Builds a new state from the given Map.
    get/1 Returns the state for the given table Tab.
    is_state/1 Returns true in the given argument is a valid state, otherwise false is returned.
    module/1
    module/2
    n_shards/1
    n_shards/2
    new/0
    new/1
    new/2
    new/3
    new/4
    new/5
    pick_node_fun/1
    pick_node_fun/2
    pick_shard_fun/1
    pick_shard_fun/2
    scope/1
    sup_name/1
    sup_name/2
    to_map/1 Converts the given state into a map.

    Function Details

    from_map/1

    from_map(Map::#{}) -> state()

    Builds a new state from the given Map.

    get/1

    get(Tab::atom()) -> state()

    Returns the state for the given table Tab.

    is_state/1

    is_state(State::any()) -> boolean()

    Returns true in the given argument is a valid state, otherwise false is returned.

    module/1

    module(State::state() | atom()) -> module()

    module/2

    module(Module::module(), State::state()) -> state()

    n_shards/1

    n_shards(State::state() | atom()) -> pos_integer()

    n_shards/2

    n_shards(Shards::pos_integer(), State::state()) -> state()

    new/0

    new() -> state()

    new/1

    new(Shards::pos_integer()) -> state()

    new/2

    new(Shards::pos_integer(), Module::module()) -> state()

    new/3

    new(Shards::pos_integer(), Module::module(), SupName::atom()) -> state()

    new/4

    new(Shards::pos_integer(), Module::module(), SupName::atom(), PickShardFun::pick_fun()) -> state()

    new/5

    new(Shards::pos_integer(), Module::module(), SupName::atom(), PickShardFun::pick_fun(), PickNodeFun::pick_fun()) -> state()

    pick_node_fun/1

    pick_node_fun(State::state() | atom()) -> pick_fun()

    pick_node_fun/2

    pick_node_fun(Fun::pick_fun(), State::state()) -> state()

    pick_shard_fun/1

    pick_shard_fun(State::state() | atom()) -> pick_fun()

    pick_shard_fun/2

    pick_shard_fun(Fun::pick_fun(), State::state()) -> state()

    scope/1

    scope(State::state() | atom()) -> l | g

    sup_name/1

    sup_name(State::state() | atom()) -> atom()

    sup_name/2

    sup_name(SupName::atom(), State::state()) -> state()

    to_map/1

    to_map(State::state()) -> state_map()

    Converts the given state into a map.


    Generated by EDoc, Jul 11 2017, 14:57:01.