pub enum ProtocolViolation {
UnexpectedMessage {
protocol: String,
expected: String,
received: String,
state: String,
},
EarlyTermination {
protocol: String,
state: String,
},
WrongSender {
protocol: String,
expected_role: String,
actual_role: String,
},
NoSession {
session_id: SessionId,
},
ReplyOutsideHandler,
}Expand description
Protocol violation error details.
Variants§
UnexpectedMessage
Received an unexpected message for the current protocol state.
Fields
EarlyTermination
Protocol terminated early (session ended before completion).
Fields
WrongSender
Message received from wrong sender role.
Fields
NoSession
No session found for the given session ID.
ReplyOutsideHandler
Attempt to reply outside of a message handler.
Trait Implementations§
Source§impl Clone for ProtocolViolation
impl Clone for ProtocolViolation
Source§fn clone(&self) -> ProtocolViolation
fn clone(&self) -> ProtocolViolation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProtocolViolation
impl Debug for ProtocolViolation
Source§impl Display for ProtocolViolation
impl Display for ProtocolViolation
Source§impl From<ProtocolViolation> for SageError
impl From<ProtocolViolation> for SageError
Source§fn from(v: ProtocolViolation) -> Self
fn from(v: ProtocolViolation) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ProtocolViolation
impl RefUnwindSafe for ProtocolViolation
impl Send for ProtocolViolation
impl Sync for ProtocolViolation
impl Unpin for ProtocolViolation
impl UnsafeUnpin for ProtocolViolation
impl UnwindSafe for ProtocolViolation
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.