leo_redundant_manager_chash¶
The consistent-hashing implementation.
References
- https://github.com/leo-project/leo_redundant_manager/blob/master/src/leo_redundant_manager_chash.erl
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.
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/2¶
vnode_id(X1, Key) -> any()