org.apache.cassandra.dht
Class RandomPartitioner
java.lang.Object
org.apache.cassandra.dht.RandomPartitioner
- All Implemented Interfaces:
- IPartitioner<BigIntegerToken>
public class RandomPartitioner
- extends java.lang.Object
- implements IPartitioner<BigIntegerToken>
This class generates a BigIntegerToken using MD5 hash.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ZERO
public static final java.math.BigInteger ZERO
MINIMUM
public static final BigIntegerToken MINIMUM
MAXIMUM
public static final java.math.BigInteger MAXIMUM
RandomPartitioner
public RandomPartitioner()
decorateKey
public DecoratedKey<BigIntegerToken> decorateKey(java.nio.ByteBuffer key)
- Description copied from interface:
IPartitioner
- Transform key to object representation of the on-disk format.
- Specified by:
decorateKey
in interface IPartitioner<BigIntegerToken>
- Parameters:
key
- the raw, client-facing key
- Returns:
- decorated version of key
convertFromDiskFormat
public DecoratedKey<BigIntegerToken> convertFromDiskFormat(java.nio.ByteBuffer fromdisk)
- Specified by:
convertFromDiskFormat
in interface IPartitioner<BigIntegerToken>
- Parameters:
fromdisk
- On disk representation
- Returns:
- DecoratedKey object
midpoint
public Token midpoint(Token ltoken,
Token rtoken)
- Description copied from interface:
IPartitioner
- Calculate a Token representing the approximate "middle" of the given
range.
- Specified by:
midpoint
in interface IPartitioner<BigIntegerToken>
- Returns:
- The approximate midpoint between left and right.
getMinimumToken
public BigIntegerToken getMinimumToken()
- Specified by:
getMinimumToken
in interface IPartitioner<BigIntegerToken>
- Returns:
- The minimum possible Token in the range that is being partitioned.
getRandomToken
public BigIntegerToken getRandomToken()
- Specified by:
getRandomToken
in interface IPartitioner<BigIntegerToken>
- Returns:
- a randomly generated token
getTokenFactory
public Token.TokenFactory<java.math.BigInteger> getTokenFactory()
- Specified by:
getTokenFactory
in interface IPartitioner<BigIntegerToken>
preservesOrder
public boolean preservesOrder()
- Specified by:
preservesOrder
in interface IPartitioner<BigIntegerToken>
- Returns:
- True if the implementing class preserves key order in the Tokens
it generates.
getToken
public BigIntegerToken getToken(java.nio.ByteBuffer key)
- Specified by:
getToken
in interface IPartitioner<BigIntegerToken>
- Returns:
- a Token that can be used to route a given key
(This is NOT a method to create a Token from its string representation;
for that, use TokenFactory.fromString.)
describeOwnership
public java.util.Map<Token,java.lang.Float> describeOwnership(java.util.List<Token> sortedTokens)
- Description copied from interface:
IPartitioner
- Calculate the deltas between tokens in the ring in order to compare
relative sizes.
- Specified by:
describeOwnership
in interface IPartitioner<BigIntegerToken>
- Parameters:
sortedTokens
- a sorted List of Tokens
- Returns:
- the mapping from 'token' to 'percentage of the ring owned by that token'.
Copyright © 2011 The Apache Software Foundation