openraft/quorum/joint_impl.rs
1use crate::quorum::AsJoint;
2use crate::quorum::Joint;
3use crate::quorum::QuorumSet;
4
5/// Use a vec of some impl of `QuorumSet` as a joint quorum set.
6impl<'d, ID, QS> AsJoint<'d, ID, QS, &'d [QS]> for Vec<QS>
7where
8 ID: 'static,
9 QS: QuorumSet<ID>,
10{
11 fn as_joint(&'d self) -> Joint<ID, QS, &'d [QS]>
12 where &'d [QS]: 'd {
13 Joint::new(self)
14 }
15}
16
17impl<ID, QS> From<Vec<QS>> for Joint<ID, QS, Vec<QS>>
18where
19 ID: 'static,
20 QS: QuorumSet<ID>,
21{
22 fn from(v: Vec<QS>) -> Self {
23 Joint::new(v)
24 }
25}