[][src]Struct paxakos::RequestHandler

pub struct RequestHandler<S: State, R: RoundNum, C: CoordNum>(_);

Used by Communicators to prepare replies.

Implementations

impl<S: State, R: RoundNum, C: CoordNum> RequestHandler<S, R, C>[src]

pub fn handle_prepare(
    &self,
    round_num: R,
    coord_num: C
) -> impl Future<Output = Result<Promise<R, C, LogEntryOf<S>>, PrepareError<S, C>>>
[src]

Asks this node to answer a send_prepare sent by another node.

pub fn handle_proposal<I: Into<Arc<LogEntryOf<S>>>>(
    &self,
    round_num: R,
    coord_num: C,
    entry: I
) -> impl Future<Output = Result<(), AcceptError<S, C>>>
[src]

Asks this node to answer a send_proposal sent by another node.

pub fn handle_commit<I: Into<Arc<LogEntryOf<S>>>>(
    &self,
    round_num: R,
    entry: I
) -> impl Future<Output = Result<(), CommitError<S>>>
[src]

Asks this node to commit the given log entry for the given round number.

pub fn handle_commit_by_id(
    &self,
    round_num: R,
    entry_id: LogEntryIdOf<S>
) -> impl Future<Output = Result<(), CommitError<S>>>
[src]

Asks this node to answer a send_commit_by_id sent by another node.

Trait Implementations

impl<S: Debug + State, R: Debug + RoundNum, C: Debug + CoordNum> Debug for RequestHandler<S, R, C>[src]

Auto Trait Implementations

impl<S, R, C> !RefUnwindSafe for RequestHandler<S, R, C>

impl<S, R, C> Send for RequestHandler<S, R, C> where
    <<S as State>::LogEntry as LogEntry>::Id: Send,
    <S as State>::LogEntry: LogEntry + Send + Sync,
    <S as State>::Node: Send,
    <S as State>::Outcome: Send

impl<S, R, C> Sync for RequestHandler<S, R, C> where
    <<S as State>::LogEntry as LogEntry>::Id: Send,
    <S as State>::LogEntry: LogEntry + Send + Sync,
    <S as State>::Node: Send,
    <S as State>::Outcome: Send

impl<S, R, C> Unpin for RequestHandler<S, R, C>

impl<S, R, C> !UnwindSafe for RequestHandler<S, R, C>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,