pub enum Error {
Show 15 variants
BindLocalListener {
source: Error,
},
AcceptLocalStream {
source: Error,
},
ConnectRemoteStream {
source: Error,
},
EncodeSubcribeReq {
source: Error,
},
EncodeStatusReq {
source: Error,
},
WriteStatusReq {
source: Error,
},
DecodeStatusResp {
source: Error,
},
StatusRespNotMatch {
resp: String,
},
StatusRemoteError {
code: String,
message: String,
retryable: bool,
},
WriteSubcribeReq {
source: Error,
},
DecodeSubcribeResp {
source: Error,
},
SubcribeRespNotMatch {
resp: String,
},
SubscribeRemoteError {
code: String,
message: String,
retryable: bool,
},
CreateHeaderTool {
action: &'static str,
source: Error,
},
ControlIoTimeout {
action: &'static str,
timeout: Duration,
},
}Variants§
BindLocalListener
AcceptLocalStream
ConnectRemoteStream
EncodeSubcribeReq
EncodeStatusReq
WriteStatusReq
DecodeStatusResp
StatusRespNotMatch
StatusRemoteError
The relay answered a status request with a structured refusal.
retryable is the relay’s own verdict and the reason this is a variant of
its own: a caller that loops on every status failure would spin forever on
a refusal that reconnecting cannot fix, such as a namespace the credential
does not own.
WriteSubcribeReq
DecodeSubcribeResp
SubcribeRespNotMatch
SubscribeRemoteError
CreateHeaderTool
ControlIoTimeout
Implementations§
Source§impl Error
impl Error
Sourcepub fn remote_retryable(&self) -> Option<bool>
pub fn remote_retryable(&self) -> Option<bool>
The relay’s verdict on whether the same request could ever succeed, or
None when this failure did not come from the relay.
Transport and framing failures are None: nothing about a dropped
connection says the relay’s answer is final.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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 ErrorCompat for Error
impl ErrorCompat for Error
Source§fn iter_chain(&self) -> ChainCompat<'_, '_> ⓘwhere
Self: AsErrorSource,
fn iter_chain(&self) -> ChainCompat<'_, '_> ⓘwhere
Self: AsErrorSource,
Returns an iterator for traversing the chain of errors,
starting with the current error
and continuing with recursive calls to
Error::source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for Error
impl !UnwindSafe for Error
impl Freeze for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
Blanket Implementations§
Source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
Source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
For maximum effectiveness, this needs to be called as a method
to benefit from Rust’s automatic dereferencing of method
receivers.
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
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> ⓘ
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