All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.hotrod.impl.consistenthash.ConsistentHash Maven / Gradle / Ivy

There is a newer version: 14.0.33.Final
Show newest version
package org.infinispan.hotrod.impl.consistenthash;

import java.net.SocketAddress;
import java.util.Map;
import java.util.Set;

/**
 * Abstraction for the used consistent hash.
 *
 * @since 14.0
 */
public interface ConsistentHash {
   Class[] DEFAULT = new Class[] {null, ConsistentHashV2.class, SegmentConsistentHash.class};

   @Deprecated(forRemoval = true)
   void init(Map> servers2Hash, int numKeyOwners, int hashSpace);

   SocketAddress getServer(Object key);

   /**
    * Computes hash code of a given object, and then normalizes it to ensure a positive
    * value is always returned.
    * @param object to hash
    * @return a non-null, non-negative normalized hash code for a given object
    */
   int getNormalizedHash(Object object);

   Map> getSegmentsByServer();

   default Map> getPrimarySegmentsByServer() {
      return null;
   }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy