Skip to main content

QuorumBridge

Trait QuorumBridge 

Source
pub trait QuorumBridge<Other>
where Self: QuorumSet, Other: QuorumSet<Id = Self::Id>,
{ // Required method fn bridge_to(&self, other: Other) -> Self; }
Expand description

Builds an intermediate quorum set that has QuorumIntersection with both the source and the target quorum set.

Required Methods§

Source

fn bridge_to(&self, other: Other) -> Self

Build a quorum set X so that self ~ X ~ other, where ~ is the QuorumIntersection relation.

Then X is the intermediate quorum set when changing membership from self to other.

E.g.(cᵢcⱼ is a joint of cᵢ and cⱼ):

  • c₁.bridge_to(c₁) returns c₁
  • c₁.bridge_to(c₂) returns c₁c₂
  • c₁c₂.bridge_to(c₂) returns c₂
  • c₁c₂.bridge_to(c₁) returns c₁
  • c₁c₂.bridge_to(c₃) returns c₂c₃

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<ID> QuorumBridge<BTreeSet<ID>> for Vec<BTreeSet<ID>>
where ID: Ord + Clone,

Builds an intermediate joint quorum set for a target flat config.

Source§

fn bridge_to(&self, other: BTreeSet<ID>) -> Self

Implementors§