pub enum BitmexError {
Retryable {
source: BitmexRetryableError,
retry_after: Option<Duration>,
},
NonRetryable {
source: BitmexNonRetryableError,
},
Fatal {
source: BitmexFatalError,
},
Network(HttpClientError),
WebSocket(Error),
Json {
message: String,
raw: Option<String>,
},
Config(String),
}
Expand description
The main error type for all BitMEX adapter operations.
Variants§
Retryable
Errors that should be retried with backoff.
Fields
§
source: BitmexRetryableError
NonRetryable
Errors that should not be retried.
Fields
§
source: BitmexNonRetryableError
Fatal
Fatal errors that require intervention.
Fields
§
source: BitmexFatalError
Network(HttpClientError)
Network transport errors.
WebSocket(Error)
WebSocket specific errors.
Json
JSON serialization/deserialization errors.
Config(String)
Configuration errors.
Implementations§
Source§impl BitmexError
impl BitmexError
Sourcepub fn from_rate_limit_headers(
remaining: Option<&str>,
reset: Option<&str>,
retry_after: Option<&str>,
) -> Self
pub fn from_rate_limit_headers( remaining: Option<&str>, reset: Option<&str>, retry_after: Option<&str>, ) -> Self
Creates a new rate limit error from HTTP headers.
§Parameters
remaining
: X-RateLimit-Remaining header valuereset
: X-RateLimit-Reset header value (UNIX timestamp in seconds)retry_after
: Retry-After header value (seconds to wait)
Sourcepub fn from_http_status(status: StatusCode, message: Option<String>) -> Self
pub fn from_http_status(status: StatusCode, message: Option<String>) -> Self
Creates an error from an HTTP status code and optional message.
Sourcepub fn is_retryable(&self) -> bool
pub fn is_retryable(&self) -> bool
Checks if this error is retryable.
Sourcepub fn retry_after(&self) -> Option<Duration>
pub fn retry_after(&self) -> Option<Duration>
Gets the suggested retry duration if available.
Trait Implementations§
Source§impl Debug for BitmexError
impl Debug for BitmexError
Source§impl Display for BitmexError
impl Display for BitmexError
Source§impl Error for BitmexError
impl Error for BitmexError
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<BitmexBuildError> for BitmexError
impl From<BitmexBuildError> for BitmexError
Source§fn from(error: BitmexBuildError) -> Self
fn from(error: BitmexBuildError) -> Self
Converts to this type from the input type.
Source§impl From<Error> for BitmexError
impl From<Error> for BitmexError
Source§impl From<Error> for BitmexError
impl From<Error> for BitmexError
Source§impl From<HttpClientError> for BitmexError
impl From<HttpClientError> for BitmexError
Source§fn from(source: HttpClientError) -> Self
fn from(source: HttpClientError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !Freeze for BitmexError
impl !RefUnwindSafe for BitmexError
impl Send for BitmexError
impl Sync for BitmexError
impl Unpin for BitmexError
impl !UnwindSafe for BitmexError
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Separable for Twhere
T: Display,
impl<T> Separable for Twhere
T: Display,
Source§fn separate_by_policy(&self, policy: SeparatorPolicy<'_>) -> String
fn separate_by_policy(&self, policy: SeparatorPolicy<'_>) -> String
Adds separators according to the given
SeparatorPolicy
. Read moreSource§fn separate_with_commas(&self) -> String
fn separate_with_commas(&self) -> String
Inserts a comma every three digits from the right. Read more
Source§fn separate_with_spaces(&self) -> String
fn separate_with_spaces(&self) -> String
Inserts a space every three digits from the right. Read more
Source§fn separate_with_dots(&self) -> String
fn separate_with_dots(&self) -> String
Inserts a period every three digits from the right. Read more
Source§fn separate_with_underscores(&self) -> String
fn separate_with_underscores(&self) -> String
Inserts an underscore every three digits from the right. Read more
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.