pub enum EthHandshakeError {
StatusNotInHandshake,
NonStatusMessageInHandshake,
NoResponse,
InvalidFork(ValidationError),
MismatchedGenesis(GotExpectedBoxed<B256>),
MismatchedProtocolVersion(GotExpected<EthVersion>),
MismatchedChain(GotExpected<Chain>),
TotalDifficultyBitLenTooLarge {
got: usize,
maximum: usize,
},
EarliestBlockGreaterThanLatestBlock {
got: u64,
latest: u64,
},
BlockhashZero,
}Expand description
Error that can occur during the eth sub-protocol handshake.
Variants§
StatusNotInHandshake
Status message received or sent outside of the handshake process.
NonStatusMessageInHandshake
Receiving a non-status message during the handshake phase.
NoResponse
No response received during the handshake process.
InvalidFork(ValidationError)
Invalid fork data.
MismatchedGenesis(GotExpectedBoxed<B256>)
Mismatch in the genesis block during status exchange.
MismatchedProtocolVersion(GotExpected<EthVersion>)
Mismatched protocol versions in status messages.
MismatchedChain(GotExpected<Chain>)
Mismatch in chain details in status messages.
TotalDifficultyBitLenTooLarge
Excessively large total difficulty bit lengths.
Fields
EarliestBlockGreaterThanLatestBlock
Earliest block > latest block.
BlockhashZero
Blockhash is zero.
Trait Implementations§
Source§impl Debug for EthHandshakeError
impl Debug for EthHandshakeError
Source§impl Display for EthHandshakeError
impl Display for EthHandshakeError
Source§impl Error for EthHandshakeError
impl Error for EthHandshakeError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<EthHandshakeError> for EthStreamError
impl From<EthHandshakeError> for EthStreamError
Source§fn from(source: EthHandshakeError) -> Self
fn from(source: EthHandshakeError) -> Self
Auto Trait Implementations§
impl Freeze for EthHandshakeError
impl RefUnwindSafe for EthHandshakeError
impl Send for EthHandshakeError
impl Sync for EthHandshakeError
impl Unpin for EthHandshakeError
impl UnsafeUnpin for EthHandshakeError
impl UnwindSafe for EthHandshakeError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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> ⓘ
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§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 40 bytes
Size for each variant:
StatusNotInHandshake: 0 bytesNonStatusMessageInHandshake: 0 bytesNoResponse: 0 bytesInvalidFork: 40 bytesMismatchedGenesis: 16 bytesMismatchedProtocolVersion: 10 bytesMismatchedChain: 40 bytesTotalDifficultyBitLenTooLarge: 24 bytesEarliestBlockGreaterThanLatestBlock: 24 bytesBlockhashZero: 0 bytes