pub enum BroadcastError {
TimeoutAfterSend,
Rejected {
code: i32,
},
Failed(String),
}Expand description
Classifies eth_sendRawTransaction broadcast failures to determine retry behavior.
Variants§
TimeoutAfterSend
The request timed out after the transaction was sent; the node may have accepted it.
Rejected
The node definitively rejected the broadcast with an RPC error (sanitized: numeric code only).
Failed(String)
The broadcast failed in a way that leaves acceptance ambiguous (transport failure or an unreadable response), conservatively treated as possibly accepted. Non-timeout transport failures are deliberately bucketed here even though some (for example connection refused) may never have reached the node: the HTTP client does not expose the connect-phase distinction, and the conservative outcome reconciles through the persisted record instead of rebroadcasting.
Trait Implementations§
Source§impl Debug for BroadcastError
impl Debug for BroadcastError
Source§impl Display for BroadcastError
impl Display for BroadcastError
Source§impl Error for BroadcastError
impl Error for BroadcastError
1.30.0 · 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()
Auto Trait Implementations§
impl Freeze for BroadcastError
impl RefUnwindSafe for BroadcastError
impl Send for BroadcastError
impl Sync for BroadcastError
impl Unpin for BroadcastError
impl UnsafeUnpin for BroadcastError
impl UnwindSafe for BroadcastError
Blanket Implementations§
impl<T> Allocation for T
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