pub fn has_quorum_intersection_via_alternative_check(
        &self,
    ) -> (bool, Option<NodeIdSetVecResult>) {
        if let Some(quorums) = find_nonintersecting_quorums(&self.fbas_shrunken.borrow()) {
            assert!(quorums[0].is_disjoint(&quorums[1]));
            (
                false,
                Some(self.make_shrunken_set_vec_result(quorums.to_vec())),
            )
        } else {
            (true, None)
        }
    }
/// Quorum intersection check that works without enumerating all minimal quorums.
Quorum intersection check that works without enumerating all minimal quorums.
Quorum intersection check that works without enumerating all minimal quorums .
pub fn has_quorum_intersection_via_alternative_check(
        &self,
    ) -> (bool, Option<NodeIdSetVecResult>) {
        if let Some(quorums) = find_nonintersecting_quorums(&self.fbas_shrunken.borrow()) {
            assert!(quorums[0].is_disjoint(&quorums[1]));
            (
                false,
                Some(self.make_shrunken_set_vec_result(quorums.to_vec())),
            )
        } else {
            (true, None)
        }
    }
pub fn has_quorum_intersection_via_alternative_check ( & self , ) -> ( bool , Option < NodeIdSetVecResult > ) { if let Some ( quorums ) = find_nonintersecting_quorums ( & self . fbas_shrunken . borrow ( ) ) { assert ! ( quorums [ 0 ] is_disjoint ( quorums [ 1 ] ) ) ; ( false , Some ( self . make_shrunken_set_vec_result ( quorums . to_vec ( ) ) ) , ) } else { ( true , None ) } }
Quorum intersection check that works without enumerating all minimal quorums.
Quorum intersection check that works without enumerating all minimal quorums .
&self
&self