#[non_exhaustive]pub enum PtError {
Show 17 variants
Timeout,
ClientTransportsUnsupported(Vec<String>),
TransportGaveError {
transport: String,
message: String,
},
ChildProtocolViolation(String),
ProtocolViolation(String),
UnsupportedVersion,
ProxyError(String),
ChildGone,
ChildReadFailed(Arc<Error>),
ChildSpawnFailed {
path: PathBuf,
error: Arc<Error>,
},
IpcParseFailed {
line: String,
error: String,
},
StatedirCreateFailed {
path: PathBuf,
error: Arc<Error>,
},
PathExpansionFailed {
path: CfgPath,
error: CfgPathError,
},
NotAFile {
path: PathBuf,
},
Spawn {
cause: Arc<SpawnError>,
},
UnconfiguredTransportDueToConcurrentReconfiguration,
Internal(Bug),
}Expand description
An error spawning or managing a pluggable transport.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Timeout
We failed to launch a set of pluggable transports in the provided deadline.
ClientTransportsUnsupported(Vec<String>)
A PT binary does not support a set of pluggable transports.
TransportGaveError
A PT binary failed to launch a pluggable transport, and reported an error message.
ChildProtocolViolation(String)
A pluggable transport binary failed to understand us.
ProtocolViolation(String)
A pluggable transport binary violated the protocol.
UnsupportedVersion
A pluggable transport binary doesn’t support version 1 of the IPC protocol.
ProxyError(String)
A pluggable transport binary couldn’t use the provided proxy URI.
ChildGone
A pluggable transport binary quit or was stopped.
ChildReadFailed(Arc<Error>)
An error was encountered communicating with a pluggable transport binary. The PT is no longer usable.
ChildSpawnFailed
We couldn’t spawn a pluggable transport binary as a child process.
IpcParseFailed
We failed to parse something a pluggable transport sent us.
StatedirCreateFailed
We couldn’t create a state directory.
PathExpansionFailed
We couldn’t expand a path.
NotAFile
A binary path does not have the syntax of a file name.
For example, it ends in a slash, indicating a directory.
Spawn
Unable to spawn reactor task.
Fields
cause: Arc<SpawnError>What happened when we tried to spawn it.
UnconfiguredTransportDueToConcurrentReconfiguration
The requested transport was found to be missing due to racing with reconfiguration
Internal(Bug)
The pluggable transport reactor failed.
Trait Implementations§
Source§impl Error for PtError
impl Error for PtError
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
Source§impl HasRetryTime for PtError
impl HasRetryTime for PtError
Source§fn retry_time(&self) -> RetryTime
fn retry_time(&self) -> RetryTime
Source§fn abs_retry_time<F>(&self, now: Instant, choose_delay: F) -> AbsRetryTime
fn abs_retry_time<F>(&self, now: Instant, choose_delay: F) -> AbsRetryTime
impl AbstractPtError for PtError
Auto Trait Implementations§
impl Freeze for PtError
impl !RefUnwindSafe for PtError
impl Send for PtError
impl Sync for PtError
impl Unpin for PtError
impl !UnwindSafe for PtError
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<E> ErrorReport for Ewhere
E: Error + 'static,
impl<E> ErrorReport for Ewhere
E: Error + 'static,
Source§fn report(&self) -> Report<ReportHelper<'_>>
fn report(&self) -> Report<ReportHelper<'_>>
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