package io.fathom.cloud.blobs.replicated; import java.util.List; import java.util.Map; import com.google.common.collect.Maps; public class StorageCluster { final ConsistentHash<StorageNode> ring; final String etag; final int dataReplicaCount; public StorageCluster(String etag, int dataReplicaCount, List<StorageNode> nodes) { this.etag = etag; this.dataReplicaCount = dataReplicaCount; int serverReplicas = 128; Map<String, StorageNode> nodeMap = Maps.newHashMap(); for (StorageNode node : nodes) { nodeMap.put(node.getKey(), node); } ring = new ConsistentHash<>(serverReplicas, nodeMap); } public String getEtag() { return etag; } public int getDataReplicaCount() { return dataReplicaCount; } // public void add(StorageNode node) { // ring.add(node.getKey(), node); // } // // public void remove(StorageNode node) { // ring.remove(node.getKey(), node); // } }