Skip to main content

quorum

Macro quorum 

Source
macro_rules! quorum {
    ($required:expr, $($future:expr),+ $(,)?) => { ... };
}
Expand description

Waits for N of M futures to complete successfully.

Useful for consensus patterns where you need a majority to agree.

§Semantics

let (successes, failures) = quorum!(2 of 3;
    replica_1(),
    replica_2(),
    replica_3(),
).await;
  • Returns when required futures have completed successfully
  • Remaining futures are cancelled after quorum is met
  • If quorum cannot be met (too many failures), returns early with error