#[non_exhaustive]pub enum ConnectivityError {
ExchangeOffline(ExchangeId),
Timeout,
Socket(String),
}Expand description
Represents all connectivity-centric errors.
Connectivity errors are generally intermittent / non-deterministic (eg/ Timeout). All variants are transient — retry with exponential backoff (typically 1-30s).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ExchangeOffline(ExchangeId)
Exchange is offline, likely due to scheduled maintenance.
Transient — retry with backoff. Maintenance windows typically last minutes to hours; consider longer backoff intervals (30s-5min) to avoid log spam.
Timeout
Request timed out before a response was received.
Transient — retry with backoff. May indicate network congestion, server overload, or an overly aggressive timeout. Consider increasing timeout on subsequent attempts.
Socket(String)
Network-level socket error (connection refused, reset, DNS failure, etc.).
Transient — retry with backoff. If persistent, may indicate firewall issues, incorrect endpoint configuration, or prolonged server outage.
Implementations§
Source§impl ConnectivityError
impl ConnectivityError
Sourcepub fn is_transient(&self) -> bool
pub fn is_transient(&self) -> bool
Returns true if this connectivity error is transient.
All connectivity errors are considered transient — they represent temporary network or server conditions that may resolve with retry.
Trait Implementations§
Source§impl Clone for ConnectivityError
impl Clone for ConnectivityError
Source§fn clone(&self) -> ConnectivityError
fn clone(&self) -> ConnectivityError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ConnectivityError
impl Debug for ConnectivityError
Source§impl<'de> Deserialize<'de> for ConnectivityError
impl<'de> Deserialize<'de> for ConnectivityError
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for ConnectivityError
impl Display for ConnectivityError
Source§impl Error for ConnectivityError
impl Error for ConnectivityError
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()
Source§impl<AssetKey, InstrumentKey> From<ConnectivityError> for ClientError<AssetKey, InstrumentKey>
impl<AssetKey, InstrumentKey> From<ConnectivityError> for ClientError<AssetKey, InstrumentKey>
Source§fn from(source: ConnectivityError) -> Self
fn from(source: ConnectivityError) -> Self
Source§impl<AssetKey, InstrumentKey> From<ConnectivityError> for OrderError<AssetKey, InstrumentKey>
impl<AssetKey, InstrumentKey> From<ConnectivityError> for OrderError<AssetKey, InstrumentKey>
Source§fn from(source: ConnectivityError) -> Self
fn from(source: ConnectivityError) -> Self
Source§impl From<SocketError> for ConnectivityError
impl From<SocketError> for ConnectivityError
Source§fn from(value: SocketError) -> Self
fn from(value: SocketError) -> Self
Source§impl Hash for ConnectivityError
impl Hash for ConnectivityError
Source§impl Ord for ConnectivityError
impl Ord for ConnectivityError
Source§fn cmp(&self, other: &ConnectivityError) -> Ordering
fn cmp(&self, other: &ConnectivityError) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ConnectivityError
impl PartialEq for ConnectivityError
Source§impl PartialOrd for ConnectivityError
impl PartialOrd for ConnectivityError
Source§impl Serialize for ConnectivityError
impl Serialize for ConnectivityError
impl Eq for ConnectivityError
impl StructuralPartialEq for ConnectivityError
Auto Trait Implementations§
impl Freeze for ConnectivityError
impl RefUnwindSafe for ConnectivityError
impl Send for ConnectivityError
impl Sync for ConnectivityError
impl Unpin for ConnectivityError
impl UnsafeUnpin for ConnectivityError
impl UnwindSafe for ConnectivityError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
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 moreSource§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.