public static List<ConfigState.ShardServer> GetShardServersByTable(ConfigState.Table table, ConfigState configState)
{
var shardServers = new List<ConfigState.ShardServer>();
foreach (var quorum in configState.quorums)
{
if (quorum.shards.Intersect(table.shards).Sum() > 0)
{
var quorumServers = GetQuorumActiveShardServers(configState, quorum);
foreach (var quorumServer in quorumServers)
{
if (!shardServers.Contains(quorumServer))
shardServers.Add(quorumServer);
}
}
}
return shardServers;
}