leo_redundant_manager_chash

The consistent-hashing implementation.

References

Description

The consistent-hashing implementation

Function Index

add/2 Add a node.
add_from_list/2 Insert recods from the list.
checksum/1 Retrieve ring-checksum.
export/2 Dump table to a file.
range_of_vnodes/2 Retrieve range of vnodes.
redundancies/2 Retrieve redundancies by vnode-id.
remove/2 Remove a node.
remove_from_list/2 Remove recods from the list.
vnode_id/1 Retrieve virtual-node-id.
vnode_id/2  

Function Details

add/2

add(TableInfo, Member) -> ok | {error, any()}

  • TableInfo = table_info()
  • Member = #member{}

Add a node.

add_from_list/2

add_from_list(TableInfo, Members) -> any()

Insert recods from the list

checksum/1

checksum(TableInfo) -> {ok, integer()}

  • TableInfo = table_info()

Retrieve ring-checksum

export/2

export(TableInfo, FileName) -> ok | {error, any()}

  • TableInfo = table_info()
  • FileName = string()

Dump table to a file.

range_of_vnodes/2

range_of_vnodes(TableInfo, VNodeId) -> {ok, [tuple()]}

  • TableInfo = table_info()
  • VNodeId = integer()

Retrieve range of vnodes.

redundancies/2

redundancies(TableInfo, VNodeId) -> {ok, #redundancies{}} | not_found

  • TableInfo = table_info()
  • VNodeId = integer()

Retrieve redundancies by vnode-id.

remove/2

remove(TableInfo, Member) -> ok | {error, any()}

  • TableInfo = table_info()
  • Member = #member{}

Remove a node.

remove_from_list/2

remove_from_list(TableInfo, Members) -> ok | {error, any()}

  • TableInfo = table_info()
  • Members = [#member{}]

Remove recods from the list

vnode_id/1

vnode_id(Key) -> integer()

  • Key = any()

Retrieve virtual-node-id

vnode_id/2

vnode_id(X1, Key) -> any()