[][src]Enum round_based::async_runtime::Error

#[non_exhaustive]pub enum Error<E, RE, SE> {
    Recv(RE),
    RecvEof,
    Send(SE),
    HandleIncoming(E),
    HandleIncomingTimeout(E),
    ProceedPanicked(JoinError),
    Proceed(E),
    Finish(E),
    Exhausted,
    BadStateMachine(BadStateMachineReason),
    InternalError(InternalError),
}

Represents error that can occur while executing protocol

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Recv(RE)

Receiving next incoming message returned error

RecvEof

Incoming channel closed (got EOF)

Send(SE)

Sending outcoming message resulted in error

HandleIncoming(E)

Handling incoming message produced critical error

HandleIncomingTimeout(E)

Round timeout exceed when executor was waiting for new messages from other parties

ProceedPanicked(JoinError)

Proceed method panicked

Proceed(E)

State machine proceeding produced critical error

Finish(E)

StateMachine's pick_output method return error

Exhausted

AsyncProtocol already executed protocol (or at least, tried to) and tired. You need to construct new executor!

BadStateMachine(BadStateMachineReason)

Buggy StateMachine implementation

InternalError(InternalError)

Buggy AsyncProtocol implementation!

If you've got this error, please, report bug.

Trait Implementations

impl<E: Debug, RE: Debug, SE: Debug> Debug for Error<E, RE, SE>[src]

impl<E, RE, SE> Display for Error<E, RE, SE> where
    E: Display,
    RE: Display,
    SE: Display
[src]

impl<E, RE, SE> Error for Error<E, RE, SE> where
    E: Error + 'static,
    RE: Error + 'static,
    SE: Error + 'static, 
[src]

impl<E, RE, SE> From<BadStateMachineReason> for Error<E, RE, SE>[src]

impl<E, RE, SE> From<InternalError> for Error<E, RE, SE>[src]

Auto Trait Implementations

impl<E, RE, SE> RefUnwindSafe for Error<E, RE, SE> where
    E: RefUnwindSafe,
    RE: RefUnwindSafe,
    SE: RefUnwindSafe
[src]

impl<E, RE, SE> Send for Error<E, RE, SE> where
    E: Send,
    RE: Send,
    SE: Send
[src]

impl<E, RE, SE> Sync for Error<E, RE, SE> where
    E: Sync,
    RE: Sync,
    SE: Sync
[src]

impl<E, RE, SE> Unpin for Error<E, RE, SE> where
    E: Unpin,
    RE: Unpin,
    SE: Unpin
[src]

impl<E, RE, SE> UnwindSafe for Error<E, RE, SE> where
    E: UnwindSafe,
    RE: UnwindSafe,
    SE: UnwindSafe
[src]

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> ToString for T where
    T: Display + ?Sized
[src]

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.