public interface ConsistentHashFactory<CH extends ConsistentHash>
ConsistentHash
instances.Modifier and Type | Method and Description |
---|---|
CH |
create(Hash hashFunction,
int numOwners,
int numSegments,
List<Address> members,
Map<Address,Float> capacityFactors)
Create a new consistent hash instance.
|
CH |
rebalance(CH baseCH)
Create a new consistent hash instance, based on an existing instance, but "balanced" according to
the implementation's rules.
|
CH |
union(CH ch1,
CH ch2)
Creates a union of two compatible ConsistentHashes (use the same hashing function and have the same configuration
parameters).
|
CH |
updateMembers(CH baseCH,
List<Address> newMembers,
Map<Address,Float> capacityFactors)
Create a new consistent hash instance, based on an existing instance, but with a new list of members.
|
CH create(Hash hashFunction, int numOwners, int numSegments, List<Address> members, Map<Address,Float> capacityFactors)
hashFunction
- The hash function to use on top of the keys' own hashCode()
implementation.numOwners
- The ideal number of owners for each key. The created consistent hash
can have more or less owners, but each key will have at least one owner.numSegments
- Number of hash-space segments. The implementation may round up the number
of segments for performance, or may ignore the parameter altogether.members
- A list of addresses representing the new cache members.capacityFactors
- The capacity factor of each member. Determines the relative capacity of each node compared
to the others. The implementation may ignore this parameter.
If null
, all the members are assumed to have a capacity factor of 1.CH updateMembers(CH baseCH, List<Address> newMembers, Map<Address,Float> capacityFactors)
baseCH
- An existing consistent hash instance, should not be null
newMembers
- A list of addresses representing the new cache members.capacityFactors
- The capacity factor of each member. Determines the relative capacity of each node compared
to the others. The implementation may ignore this parameter.
If null
, all the members are assumed to have a capacity factor of 1.ConsistentHash
instance, or baseCH
if the existing instance
does not need any changes.CH rebalance(CH baseCH)
rebalance(rebalance(ch))
must be equivalent to rebalance(ch)
.baseCH
- An existing consistent hash instance, should not be null
ConsistentHash
instance, or baseCH
if the existing instance
does not need any changes.Copyright © 2014 JBoss, a division of Red Hat. All Rights Reserved.