#[non_exhaustive]pub enum ProtocolViolation {
Show 13 variants
SendAfterEnd,
EmptyPacket,
NotConfigured,
EpochMismatch,
MissingTimestamp,
ClockMismatch,
BeginTwice,
NoBegin,
NoProgress,
ReceivePendingWithoutOutput,
FinishTwice,
IndexRequired,
EndOfStreamBeforeEndInput,
}Expand description
A caller or a session broke the protocol.
Variants (Non-exhaustive)§
This enum is marked as 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.
SendAfterEnd
send after end_input.
EmptyPacket
A packet without payload.
NotConfigured
send before configure.
EpochMismatch
A packet from another configuration epoch than the configured one.
MissingTimestamp
An input without the timestamp the session needs.
ClockMismatch
A timestamp on another clock than the session’s.
BeginTwice
A second begin.
NoBegin
Output requested before begin.
NoProgress
A session answered NeedInput where it had promised output or an
end (after end_input).
ReceivePendingWithoutOutput
ReceivePending, then no output from receive.
FinishTwice
A second finish.
IndexRequired
The operation needs an index the container did not provide.
EndOfStreamBeforeEndInput
EndOfStream before end_input.
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 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ProtocolViolation
Source§impl Debug for ProtocolViolation
impl Debug for ProtocolViolation
impl Eq for ProtocolViolation
Source§impl PartialEq for ProtocolViolation
impl PartialEq for ProtocolViolation
impl StructuralPartialEq for ProtocolViolation
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