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
requiredfutures have completed successfully - Remaining futures are cancelled after quorum is met
- If quorum cannot be met (too many failures), returns early with error