Enum arti_client::ErrorDetail
source · [−]#[non_exhaustive]
pub enum ErrorDetail {
Show 15 variants
ChanMgrSetup(Error),
CircMgrSetup(Error),
ObtainExitCircuit {
exit_ports: TargetPorts,
cause: Error,
},
DirMgr(Error),
Proto(Error),
Persist(Error),
ExitTimeout,
OnionAddressNotSupported,
Address(TorAddrError),
InvalidHostname,
LocalAddress,
Configuration(ConfigBuildError),
Reconfigure(ReconfigureError),
Spawn {
spawning: &'static str,
cause: Arc<SpawnError>,
},
BootstrapRequired {
action: &'static str,
},
}
Expand description
Represents errors that can occur while doing Tor operations.
This enumeration is the inner view of a
arti_client::Error
: we don’t expose it unless the
error_detail
feature is enabled.
The details of this enumeration are not stable: using the error_detail
feature will void your semver guarantee.
Instead of looking at the type, you try to should use the
kind
trait method to distinguish among
different kinds of Error
. If that doesn’t provide enough information
for your use case, please let us know.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
ChanMgrSetup(Error)
Error setting up the channel manager
CircMgrSetup(Error)
Error setting up the circuit manager
ObtainExitCircuit
Failed to obtain exit circuit
DirMgr(Error)
Error while getting a circuit
Proto(Error)
A protocol error while launching a stream
Persist(Error)
An error while interfacing with the persistent data layer.
ExitTimeout
We asked an exit to do something, and waited too long for an answer..
OnionAddressNotSupported
Onion services not supported.
Address(TorAddrError)
Unusable target address.
InvalidHostname
Hostname not valid.
LocalAddress
Address was local, and that’s not allowed.
Configuration(ConfigBuildError)
Building configuration for the client failed.
Reconfigure(ReconfigureError)
Unable to change configuration.
Spawn
Fields
spawning: &'static str
What we were trying to spawn.
cause: Arc<SpawnError>
What happened when we tried to spawn it.
Unable to spawn task
BootstrapRequired
Fields
action: &'static str
What we were trying to do that required bootstrapping.
Attempted to use an unbootstrapped TorClient
for something that requires bootstrapping
to have completed.
Trait Implementations
sourceimpl Clone for ErrorDetail
impl Clone for ErrorDetail
sourcefn clone(&self) -> ErrorDetail
fn clone(&self) -> ErrorDetail
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ErrorDetail
impl Debug for ErrorDetail
sourceimpl Display for ErrorDetail
impl Display for ErrorDetail
sourceimpl Error for ErrorDetail
impl Error for ErrorDetail
sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
sourceimpl From<ConfigBuildError> for ErrorDetail
impl From<ConfigBuildError> for ErrorDetail
sourcefn from(source: ConfigBuildError) -> Self
fn from(source: ConfigBuildError) -> Self
Converts to this type from the input type.
sourceimpl From<Error> for ErrorDetail
impl From<Error> for ErrorDetail
sourceimpl From<Error> for ErrorDetail
impl From<Error> for ErrorDetail
sourceimpl From<Error> for ErrorDetail
impl From<Error> for ErrorDetail
sourceimpl From<ErrorDetail> for Error
impl From<ErrorDetail> for Error
sourcefn from(detail: ErrorDetail) -> Error
fn from(detail: ErrorDetail) -> Error
Converts to this type from the input type.
sourceimpl From<ReconfigureError> for ErrorDetail
impl From<ReconfigureError> for ErrorDetail
sourcefn from(source: ReconfigureError) -> Self
fn from(source: ReconfigureError) -> Self
Converts to this type from the input type.
sourceimpl From<TorAddrError> for ErrorDetail
impl From<TorAddrError> for ErrorDetail
sourcefn from(source: TorAddrError) -> Self
fn from(source: TorAddrError) -> Self
Converts to this type from the input type.
Auto Trait Implementations
impl !RefUnwindSafe for ErrorDetail
impl Send for ErrorDetail
impl Sync for ErrorDetail
impl Unpin for ErrorDetail
impl !UnwindSafe for ErrorDetail
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<T> DowncastSync for T where
T: Any + Send + Sync,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more