package com.jivesoftware.os.amza.client.http;
import com.jivesoftware.os.amza.api.RingPartitionProperties;
import com.jivesoftware.os.amza.api.partition.PartitionName;
import com.jivesoftware.os.amza.api.partition.PartitionProperties;
import com.jivesoftware.os.amza.api.ring.RingMemberAndHost;
import java.util.Optional;
/**
* @author jonathan.colt
*/
public interface PartitionHostsProvider {
RingPartitionProperties getRingPartitionProperties(PartitionName partitionName) throws Exception;
void ensurePartition(PartitionName partitionName, int desiredRingSize, PartitionProperties partitionProperties) throws Exception;
Ring getPartitionHosts(PartitionName partitionName, Optional<RingMemberAndHost> useHost, long waitForLeaderElection) throws Exception;
}