Class KeyValueLocator

java.lang.Object
com.couchbase.client.core.node.KeyValueLocator
All Implemented Interfaces:
Locator

public class KeyValueLocator extends Object implements Locator
A Locator responsible for locating the right node based on the partition of the key.

Coming from 1.0, this locator has not really changed - only minor details have been modified in the refactoring process.

Since:
1.0.0
  • Constructor Details

    • KeyValueLocator

      public KeyValueLocator()
  • Method Details

    • dispatch

      public void dispatch(Request<? extends Response> request, List<Node> nodes, ClusterConfig config, CoreContext ctx)
      Description copied from interface: Locator
      Given the environment and node information, the implementation locates the right set of nodes and dispatches the request into them.
      Specified by:
      dispatch in interface Locator
      Parameters:
      request - the request to dispatch.
      nodes - the current list of active nodes.
      config - the current cluster configuration.
      ctx - the core context.
    • partitionForKey

      public static int partitionForKey(byte[] id, int numPartitions)
      Calculate the partition offset for the given key.
      Parameters:
      id - the document id to calculate from.
      numPartitions - the number of partitions in the bucket.
      Returns:
      the calculated partition.