in cassandra-analytics-common/src/main/java/org/apache/cassandra/spark/data/partitioner/ConsistencyLevel.java [86:123]
public int blockFor(@NotNull ReplicationFactor replicationFactor, @Nullable String dataCenter)
{
switch (this)
{
case ONE:
case LOCAL_ONE:
case ANY:
return 1;
case TWO:
return 2;
case THREE:
return 3;
case QUORUM:
case SERIAL:
return quorumFor(replicationFactor);
case ALL:
return replicationFactor.getTotalReplicationFactor();
case LOCAL_QUORUM:
case LOCAL_SERIAL:
return localQuorumFor(replicationFactor, dataCenter);
case EACH_QUORUM:
if (replicationFactor.getReplicationStrategy() == ReplicationFactor.ReplicationStrategy.NetworkTopologyStrategy)
{
int count = 0;
for (String datacenter : replicationFactor.getOptions().keySet())
{
count += localQuorumFor(replicationFactor, datacenter);
}
return count;
}
else
{
return quorumFor(replicationFactor);
}
default:
throw new UnsupportedOperationException("Invalid consistency level: " + toString());
}
}