NodeIDType
- A utility class with mostly static methods to help with consistent hashing
related functions.
It is okay to suppress warnings about unchecked types of serversArray objects
as they have to be of type NodeIDType.public class ConsistentHashing<NodeIDType>
extends java.lang.Object
Constructor and Description |
---|
ConsistentHashing(NodeIDType[] servers) |
ConsistentHashing(NodeIDType[] servers,
int numReplicas) |
ConsistentHashing(java.util.Set<NodeIDType> servers) |
ConsistentHashing(java.util.Set<NodeIDType> servers,
boolean replicateAll) |
Modifier and Type | Method and Description |
---|---|
protected NodeIDType |
getNode(java.lang.String name) |
java.util.Set<NodeIDType> |
getReplicatedServers(java.lang.String name) |
java.util.ArrayList<NodeIDType> |
getReplicatedServersArray(java.lang.String name) |
java.util.ArrayList<NodeIDType> |
getReplicatedServersArray(java.lang.String name,
int k) |
static void |
main(java.lang.String[] args) |
void |
refresh(NodeIDType[] servers,
int numReplicas) |
void |
refresh(java.util.Set<NodeIDType> servers) |
void |
refresh(java.util.Set<NodeIDType> servers,
int numReplicas) |
public ConsistentHashing(NodeIDType[] servers)
servers
- public ConsistentHashing(NodeIDType[] servers, int numReplicas)
servers
- numReplicas
- public ConsistentHashing(java.util.Set<NodeIDType> servers)
servers
- public ConsistentHashing(java.util.Set<NodeIDType> servers, boolean replicateAll)
servers
- replicateAll
- public void refresh(NodeIDType[] servers, int numReplicas)
servers
- numReplicas
- public void refresh(java.util.Set<NodeIDType> servers)
servers
- public void refresh(java.util.Set<NodeIDType> servers, int numReplicas)
servers
- numReplicas
- public java.util.Set<NodeIDType> getReplicatedServers(java.lang.String name)
name
- public java.util.ArrayList<NodeIDType> getReplicatedServersArray(java.lang.String name)
name
- public java.util.ArrayList<NodeIDType> getReplicatedServersArray(java.lang.String name, int k)
name
- k
- k
consecutive servers on the consistent hash ring to which
this name hashes returned as an array.protected NodeIDType getNode(java.lang.String name)
public static void main(java.lang.String[] args)
args
-