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}