pub enum ProtocolError {
Consensus(ConsensusError),
Validation(Cow<'static, str>),
UnsupportedFeature(String),
VersionMismatch {
expected: ProtocolVersion,
actual: ProtocolVersion,
},
NetworkParameter(Cow<'static, str>),
Configuration(Cow<'static, str>),
MessageTooLarge {
size: usize,
max: usize,
},
InvalidMessage(Cow<'static, str>),
ServiceFlag(Cow<'static, str>),
Serialization(String),
}Expand description
Protocol-specific error types
This enum wraps consensus errors and adds protocol-specific error types for better error context through the protocol layer.
Variants§
Consensus(ConsensusError)
Consensus validation error (wrapped from consensus layer)
Validation(Cow<'static, str>)
Protocol validation failed (size limits, feature flags, etc.)
UnsupportedFeature(String)
Feature not supported by this protocol version
VersionMismatch
Protocol version mismatch
NetworkParameter(Cow<'static, str>)
Network parameter error
Configuration(Cow<'static, str>)
Configuration error
MessageTooLarge
Message size exceeds protocol limits
InvalidMessage(Cow<'static, str>)
Invalid protocol message
ServiceFlag(Cow<'static, str>)
Service flag error
Serialization(String)
Serialization error
Trait Implementations§
Source§impl Clone for ProtocolError
impl Clone for ProtocolError
Source§fn clone(&self) -> ProtocolError
fn clone(&self) -> ProtocolError
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 moreSource§impl Debug for ProtocolError
impl Debug for ProtocolError
Source§impl Display for ProtocolError
impl Display for ProtocolError
Source§impl Error for ProtocolError
impl Error for ProtocolError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<ConsensusError> for ProtocolError
impl From<ConsensusError> for ProtocolError
Source§fn from(source: ConsensusError) -> Self
fn from(source: ConsensusError) -> Self
Converts to this type from the input type.
Source§impl PartialEq for ProtocolError
impl PartialEq for ProtocolError
Source§fn eq(&self, other: &ProtocolError) -> bool
fn eq(&self, other: &ProtocolError) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ProtocolError
Auto Trait Implementations§
impl Freeze for ProtocolError
impl RefUnwindSafe for ProtocolError
impl Send for ProtocolError
impl Sync for ProtocolError
impl Unpin for ProtocolError
impl UnsafeUnpin for ProtocolError
impl UnwindSafe for ProtocolError
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