package org.infinispan.client.hotrod.impl.iteration;
import java.util.Set;
import org.infinispan.client.hotrod.impl.consistenthash.ConsistentHash;
import org.infinispan.client.hotrod.impl.consistenthash.SegmentConsistentHash;
import org.infinispan.commons.marshall.Marshaller;
/**
* @author gustavonalle
* @since 8.0
*/
final class KeyTrackerFactory {
private KeyTrackerFactory() {
}
public static KeyTracker create(Marshaller marshaller, ConsistentHash hash, int topologyId, Set<Integer> segments) {
if (topologyId == -1) return new NoOpSegmentKeyTracker();
if (hash == null) return new ReplKeyTracker();
return new SegmentKeyTracker(marshaller, (SegmentConsistentHash) hash, segments);
}
}