Struct fbas_analyzer::Analysis [−][src]
pub struct Analysis { /* fields omitted */ }
Expand description
Front end for the most interesting FBAS analyses. Among other things, it does ID space shrinking (which improves memory and performance when using bit sets) and caches the results of long-running computations.
Implementations
Nodes in the analyzed FBAS - not filtered by relevance.
Nodes in the analyzed FBAS that can be satisfied given their quorum sets and the nodes existing in the FBAS.
Nodes in the analyzed FBAS that can never be satisfied given their quorum sets and the nodes existing in the FBAS.
Regular quorum intersection check via finding all minimal quorums. Algorithm inspired by Lachowski 2019).
pub fn has_quorum_intersection_via_alternative_check(
&self
) -> (bool, Option<NodeIdSetVecResult>)
pub fn has_quorum_intersection_via_alternative_check(
&self
) -> (bool, Option<NodeIdSetVecResult>)
Quorum intersection check that works without enumerating all minimal quorums.
Minimal quorums - no proper subset of any of these node sets is a quorum.
Minimal blocking sets - minimal indispensable sets for global liveness.
Minimal splitting sets - minimal indispensable sets for safety.
Top tier - the set of nodes exclusively relevant when determining minimal blocking sets and minimal splitting sets.
If the top tier is symmetric, i.e., each two top-tier nodes have the same quorum set,
return the top tier’s common quorum set. Else return None
.
Symmetric clusters - sets of nodes in which each two nodes have the same quorum set. Here, each found symmetric cluster is represented by its common quorum set.