pub struct DirectCommunicator<I: Invocation> { /* private fields */ }Trait Implementations§
Source§impl<I: Invocation> Clone for DirectCommunicator<I>
impl<I: Invocation> Clone for DirectCommunicator<I>
Source§impl<I: Invocation + 'static> Communicator for DirectCommunicator<I>
impl<I: Invocation + 'static> Communicator for DirectCommunicator<I>
Source§type RoundNum = <I as Invocation>::RoundNum
type RoundNum = <I as Invocation>::RoundNum
The round number type.
Source§type CoordNum = <I as Invocation>::CoordNum
type CoordNum = <I as Invocation>::CoordNum
The coordination number type.
Source§type Error = DirectCommunicatorError
type Error = DirectCommunicatorError
The communication error type.
Source§type SendPrepare = Pin<Box<dyn Future<Output = Result<Vote<<DirectCommunicator<I> as Communicator>::RoundNum, <DirectCommunicator<I> as Communicator>::CoordNum, <DirectCommunicator<I> as Communicator>::LogEntry, <DirectCommunicator<I> as Communicator>::Abstain>, <DirectCommunicator<I> as Communicator>::Error>> + Send>>
type SendPrepare = Pin<Box<dyn Future<Output = Result<Vote<<DirectCommunicator<I> as Communicator>::RoundNum, <DirectCommunicator<I> as Communicator>::CoordNum, <DirectCommunicator<I> as Communicator>::LogEntry, <DirectCommunicator<I> as Communicator>::Abstain>, <DirectCommunicator<I> as Communicator>::Error>> + Send>>
Type of future returned from
send_prepare.Source§type Abstain = <I as Invocation>::Abstain
type Abstain = <I as Invocation>::Abstain
Information sent along with abstentions.
Source§type SendProposal = Pin<Box<dyn Future<Output = Result<Acceptance<<DirectCommunicator<I> as Communicator>::CoordNum, <DirectCommunicator<I> as Communicator>::LogEntry, <DirectCommunicator<I> as Communicator>::Yea, <DirectCommunicator<I> as Communicator>::Nay>, <DirectCommunicator<I> as Communicator>::Error>> + Send>>
type SendProposal = Pin<Box<dyn Future<Output = Result<Acceptance<<DirectCommunicator<I> as Communicator>::CoordNum, <DirectCommunicator<I> as Communicator>::LogEntry, <DirectCommunicator<I> as Communicator>::Yea, <DirectCommunicator<I> as Communicator>::Nay>, <DirectCommunicator<I> as Communicator>::Error>> + Send>>
Type of future returned from
send_proposal.Source§type Yea = <I as Invocation>::Yea
type Yea = <I as Invocation>::Yea
Information sent along with yea votes.
Source§type Nay = <I as Invocation>::Nay
type Nay = <I as Invocation>::Nay
Information sent along with nay votes.
Source§type SendCommit = Pin<Box<dyn Future<Output = Result<Committed, <DirectCommunicator<I> as Communicator>::Error>> + Send>>
type SendCommit = Pin<Box<dyn Future<Output = Result<Committed, <DirectCommunicator<I> as Communicator>::Error>> + Send>>
Type of future returned from
send_commit.Source§type SendCommitById = Pin<Box<dyn Future<Output = Result<Committed, <DirectCommunicator<I> as Communicator>::Error>> + Send>>
type SendCommitById = Pin<Box<dyn Future<Output = Result<Committed, <DirectCommunicator<I> as Communicator>::Error>> + Send>>
Type of future returned from
send_commit_by_id.Source§fn send_prepare<'a>(
&mut self,
receivers: &'a [Self::Node],
round_num: Self::RoundNum,
coord_num: Self::CoordNum,
) -> Vec<(&'a Self::Node, Self::SendPrepare)>
fn send_prepare<'a>( &mut self, receivers: &'a [Self::Node], round_num: Self::RoundNum, coord_num: Self::CoordNum, ) -> Vec<(&'a Self::Node, Self::SendPrepare)>
Send a prepare message to all
receivers. Read moreSource§fn send_proposal<'a>(
&mut self,
receivers: &'a [Self::Node],
round_num: Self::RoundNum,
coord_num: Self::CoordNum,
log_entry: Arc<Self::LogEntry>,
) -> Vec<(&'a Self::Node, Self::SendProposal)>
fn send_proposal<'a>( &mut self, receivers: &'a [Self::Node], round_num: Self::RoundNum, coord_num: Self::CoordNum, log_entry: Arc<Self::LogEntry>, ) -> Vec<(&'a Self::Node, Self::SendProposal)>
Send a proposal message to all
receivers. Read moreAuto Trait Implementations§
impl<I> Freeze for DirectCommunicator<I>
impl<I> !RefUnwindSafe for DirectCommunicator<I>
impl<I> Send for DirectCommunicator<I>
impl<I> Sync for DirectCommunicator<I>
impl<I> Unpin for DirectCommunicator<I>
impl<I> UnsafeUnpin for DirectCommunicator<I>
impl<I> !UnwindSafe for DirectCommunicator<I>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more