ex_shards v0.2.0 ExShards.State

Shards State.

This module overrides the original shards_state getter and setter functions in order to make them more Elixir-friendly – e.g.: take advantage of pipe-operator.

Examples

state = ExShards.State.new
|> ExShards.State.module(:shards_dist)
|> ExShards.State.n_shards(4)
|> ExShards.State.pick_shard_fun(fun)
|> ExShards.State.pick_node_fun(fun)

Summary

Types

key()
key() :: term
op()
op() :: :r | :w | :d
pick_fun()
pick_fun() :: (key, range, op -> integer | :any)
range()
range() :: integer
t()
t() :: {:state, module, integer, pick_fun, pick_fun}

Functions

definitions()
from_map(Elixir.arg1)
get(Elixir.arg1)
module(Elixir.arg1)
module(state, module)
module(t, module) :: t
n_shards(Elixir.arg1)
n_shards(state, n_shards)
n_shards(t, integer) :: t
new()
new(Elixir.arg1)
new(Elixir.arg1, Elixir.arg2)
new(Elixir.arg1, Elixir.arg2, Elixir.arg3)
new(Elixir.arg1, Elixir.arg2, Elixir.arg3, Elixir.arg4)
pick_node_fun(Elixir.arg1)
pick_node_fun(state, pick_node_fun)
pick_node_fun(t, pick_fun) :: t
pick_shard_fun(Elixir.arg1)
pick_shard_fun(state, pick_shard_fun)
pick_shard_fun(t, pick_fun) :: t
to_map(Elixir.arg1)

Macros

state(args \\ [])
state(record, args)