Enum tor_chanmgr::Error
source · #[non_exhaustive]
pub enum Error {
Show 14 variants
UnusableTarget(Bug),
PendingFailed {
peer: LoggedChanTarget,
},
ChanTimeout {
peer: LoggedChanTarget,
},
Proto {
source: Error,
peer: LoggedChanTarget,
clock_skew: Option<ClockSkew>,
},
Io {
peer: Option<BoxChanSensitive<BridgeAddr>>,
action: &'static str,
source: Arc<Error>,
},
ChannelBuild {
addresses: Vec<(ChanSensitive<SocketAddr>, Arc<Error>)>,
},
Spawn {
spawning: &'static str,
cause: Arc<SpawnError>,
},
MissingId,
IdentityConflict,
NoSuchTransport(TransportId),
RequestCancelled,
Proxy(ProxyError),
Pt(Arc<dyn AbstractPtError>),
Internal(Bug),
}Expand description
An error returned by a channel manager.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UnusableTarget(Bug)
A ChanTarget was given for which no channel could be built.
PendingFailed
Fields
peer: LoggedChanTargetWho we were talking to
We were waiting on a pending channel, but it didn’t succeed.
ChanTimeout
Fields
peer: LoggedChanTargetWho we were trying to talk to
It took too long for us to establish this connection.
Proto
Fields
peer: LoggedChanTargetWho we were trying to talk to
A protocol error while making a channel
Io
Fields
peer: Option<BoxChanSensitive<BridgeAddr>>Who we were talking to
Network IO error or TLS error
ChannelBuild
Fields
addresses: Vec<(ChanSensitive<SocketAddr>, Arc<Error>)>The list of addresses we tried to connect to, coupled with the error we encountered connecting to each one.
Failed to build a channel, after trying multiple addresses.
Spawn
Fields
Unable to spawn task
MissingId
A relay did not have the set of identity keys that we expected.
(Currently, tor-chanmgr only works on relays that have at least
one recognized identity key.)
IdentityConflict
A successful relay channel had one of the identity keys we wanted, but not the other(s).
This means that (assuming the relay is well behaved), we will not find the ID combination we want.
NoSuchTransport(TransportId)
Tried to connect via a transport that we don’t support.
RequestCancelled
An attempt to open a channel failed because it was cancelled or superseded by another request or configuration change.
Proxy(ProxyError)
We tried to create a channel through a proxy, and encountered an error.
Pt(Arc<dyn AbstractPtError>)
An error occurred in a pluggable transport manager.
We can’t know the type, because any pluggable transport manager implementing
AbstractPtMgr can be used.
However, if you’re using Arti in the standard configuration, this will be
tor-ptmgr’s PtError.
Internal(Bug)
An internal error of some kind that should never occur.