Class HashFunctionPartitioner
java.lang.Object
org.infinispan.distribution.ch.impl.HashFunctionPartitioner
- All Implemented Interfaces:
ToIntFunction<Object>, Matchable<KeyPartitioner>, KeyPartitioner
- Direct Known Subclasses:
AffinityPartitioner, RESPHashFunctionPartitioner
Key partitioner that computes a key's segment based on a hash function.
- Since:
- 8.2
- Author:
- Dan Berindei
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected intbooleangetHash()intgetHashForKey(Object key) intgetSegment(Object key) Obtains the segment for a key.intgetSegmentForHash(int hash) inthashCode()protected voidinit(int numSegments) voidinit(HashConfiguration configuration) Initialization.voidinit(KeyPartitioner other) static HashFunctionPartitionerinstance(int numSegments) toString()Methods inherited from interface KeyPartitioner
applyAsInt, matches
-
Field Details
-
hashFunction
-
numSegments
protected int numSegments
-
-
Constructor Details
-
HashFunctionPartitioner
public HashFunctionPartitioner() -
HashFunctionPartitioner
public HashFunctionPartitioner(int numSegments)
-
-
Method Details
-
instance
-
init
Description copied from interface:KeyPartitionerInitialization.The partitioner can also use injection to access other cache-level or global components. This method will be called before any other injection methods.
Does not need to be thread-safe (Infinispan safely publishes the instance after initialization).
- Specified by:
initin interfaceKeyPartitioner- Parameters:
configuration-
-
init
- Specified by:
initin interfaceKeyPartitioner
-
init
protected void init(int numSegments) -
bitsToUse
protected int bitsToUse() -
getSegment
Description copied from interface:KeyPartitionerObtains the segment for a key. Must be thread-safe.- Specified by:
getSegmentin interfaceKeyPartitioner
-
getHashForKey
-
getSegmentForHash
public int getSegmentForHash(int hash) -
getHash
-
equals
-
hashCode
-
toString
-