isQuorum method
Check whether nodes form a quorum: each node must have at least one slice fully contained in nodes.
Implementation
bool isQuorum(Set<String> nodes) {
if (!validateStructure()) throw StateError('invalid slice structure');
for (var n in nodes) {
final s = slices[n];
if (s == null) return false;
var satisfied = false;
for (var slice in s) {
if (slice.difference(nodes).isEmpty) {
satisfied = true;
break;
}
}
if (!satisfied) return false;
}
return true;
}