summaryrefslogtreecommitdiff
path: root/apps/mem3/include
diff options
context:
space:
mode:
authorAdam Kocoloski <adam@cloudant.com>2010-08-12 02:27:29 -0400
committerAdam Kocoloski <adam@cloudant.com>2010-08-12 02:27:29 -0400
commitcd2de5c1d802f6ef2122822d0294f2263d57d0ac (patch)
tree5bad6a6bcbb083685831c11a8ea4940f2fde10cc /apps/mem3/include
parent4d7e3604c9ed5788747334c08359af1822368d15 (diff)
parente660dd48e78f1a368010bbcf4455b576dd59d7c1 (diff)
Add 'apps/mem3/' from commit 'e660dd48e78f1a368010bbcf4455b576dd59d7c1'
git-subtree-dir: apps/mem3 git-subtree-mainline: 4d7e3604c9ed5788747334c08359af1822368d15 git-subtree-split: e660dd48e78f1a368010bbcf4455b576dd59d7c1
Diffstat (limited to 'apps/mem3/include')
-rw-r--r--apps/mem3/include/mem3.hrl30
1 files changed, 30 insertions, 0 deletions
diff --git a/apps/mem3/include/mem3.hrl b/apps/mem3/include/mem3.hrl
new file mode 100644
index 00000000..b9359b44
--- /dev/null
+++ b/apps/mem3/include/mem3.hrl
@@ -0,0 +1,30 @@
+% type specification hacked to suppress dialyzer warning re: match spec
+-record(shard, {
+ name :: binary() | '_',
+ node :: node() | '_',
+ dbname :: binary(),
+ range :: [non_neg_integer() | '$1' | '$2'],
+ ref :: reference() | 'undefined' | '_'
+}).
+
+%% types
+-type join_type() :: init | join | replace | leave.
+-type join_order() :: non_neg_integer().
+-type options() :: list().
+-type mem_node() :: {join_order(), node(), options()}.
+-type mem_node_list() :: [mem_node()].
+-type arg_options() :: {test, boolean()}.
+-type args() :: [] | [arg_options()].
+-type test() :: undefined | node().
+-type epoch() :: float().
+-type clock() :: {node(), epoch()}.
+-type vector_clock() :: [clock()].
+-type ping_node() :: node() | nil.
+-type gossip_fun() :: call | cast.
+
+-type part() :: #shard{}.
+-type fullmap() :: [part()].
+-type ref_part_map() :: {reference(), part()}.
+-type tref() :: reference().
+-type np() :: {node(), part()}.
+-type beg_acc() :: [integer()].