pub struct ConnectorError { /* private fields */ }
Expand description
Error from the underlying Connector
Connector exists to attach a ConnectorErrorKind
to what would otherwise be an opaque Box<dyn Error>
that comes off a potentially generic or dynamic connector.
The attached kind
is used to determine what retry behavior should occur (if any) based on the
connector error.
Implementations§
Source§impl ConnectorError
impl ConnectorError
Sourcepub fn timeout(source: Box<dyn Error + Send + Sync>) -> Self
pub fn timeout(source: Box<dyn Error + Send + Sync>) -> Self
Construct a ConnectorError
from an error caused by a timeout
Timeout errors are typically retried on a new connection.
Sourcepub fn with_connection(self, info: ConnectionMetadata) -> Self
pub fn with_connection(self, info: ConnectionMetadata) -> Self
Include connection information along with this error
Sourcepub fn never_connected(self) -> Self
pub fn never_connected(self) -> Self
Set the connection status on this error to report that a connection was never established
Sourcepub fn user(source: Box<dyn Error + Send + Sync>) -> Self
pub fn user(source: Box<dyn Error + Send + Sync>) -> Self
Construct a ConnectorError
from an error caused by the user (e.g. invalid HTTP request)
Sourcepub fn io(source: Box<dyn Error + Send + Sync>) -> Self
pub fn io(source: Box<dyn Error + Send + Sync>) -> Self
Construct a ConnectorError
from an IO related error (e.g. socket hangup)
Sourcepub fn other(
source: Box<dyn Error + Send + Sync>,
kind: Option<ErrorKind>,
) -> Self
pub fn other( source: Box<dyn Error + Send + Sync>, kind: Option<ErrorKind>, ) -> Self
Construct a ConnectorError
from an different unclassified error.
Optionally, an explicit Kind
may be passed.
Sourcepub fn is_timeout(&self) -> bool
pub fn is_timeout(&self) -> bool
Returns true if the error is an timeout error
Sourcepub fn is_user(&self) -> bool
pub fn is_user(&self) -> bool
Returns true if the error is a user-caused error (e.g., invalid HTTP request)
Sourcepub fn as_other(&self) -> Option<ErrorKind>
pub fn as_other(&self) -> Option<ErrorKind>
Returns the optional error kind associated with an unclassified error
Sourcepub fn into_source(self) -> Box<dyn Error + Send + Sync>
pub fn into_source(self) -> Box<dyn Error + Send + Sync>
Grants ownership of this error’s source.
Sourcepub fn connection_metadata(&self) -> Option<&ConnectionMetadata>
pub fn connection_metadata(&self) -> Option<&ConnectionMetadata>
Returns metadata about the connection
If a connection was established and provided by the internal connector, a connection will be returned.
Trait Implementations§
Source§impl Debug for ConnectorError
impl Debug for ConnectorError
Source§impl Display for ConnectorError
impl Display for ConnectorError
Source§impl Error for ConnectorError
impl Error for ConnectorError
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
Auto Trait Implementations§
impl Freeze for ConnectorError
impl !RefUnwindSafe for ConnectorError
impl Send for ConnectorError
impl Sync for ConnectorError
impl Unpin for ConnectorError
impl !UnwindSafe for ConnectorError
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> 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 more