pub enum BackendDialError {
EmptyBackendPipe,
Connect(Error),
IntoBackendIo(IntoBackendIoError),
}Expand description
Why dialing the negotiated backend failed.
Mirrors the v1 distinctions rather than collapsing them: “the broker named
no backend” and “the backend would not accept” call for different consumer
behaviour, and v1 already separates them (EmptyBackendPipe vs
BackendConnect).
Variants§
EmptyBackendPipe
The broker negotiated successfully but named no backend.
Not a refusal: the v2 broker replies with an empty backend_pipe when
a service is registered and version-compatible but its daemon has not
published yet. Retrying later can succeed, which is why this is not
folded into the connect error.
Connect(Error)
The backend pipe was named but would not accept a connection.
IntoBackendIo(IntoBackendIoError)
The connection was made but could not be handed back as an owned handle — on Windows, always (#720).
Trait Implementations§
Source§impl Debug for BackendDialError
impl Debug for BackendDialError
Source§impl Display for BackendDialError
impl Display for BackendDialError
Source§impl Error for BackendDialError
impl Error for BackendDialError
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
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for BackendDialError
impl !UnwindSafe for BackendDialError
impl Freeze for BackendDialError
impl Send for BackendDialError
impl Sync for BackendDialError
impl Unpin for BackendDialError
impl UnsafeUnpin for BackendDialError
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> 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>. Box<dyn Any> can
then be further downcast into Box<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>. Rc<Any> 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> DowncastSync for T
impl<T> DowncastSync for T
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