pub enum DuplicateHandleError {
UnsupportedPlatform,
CannotOpenBackend {
backend_pid: u32,
},
PermissionDenied {
backend_pid: u32,
},
DuplicateFailed {
backend_pid: u32,
raw_os_error: Option<i32>,
},
IntegrityMismatch {
backend_pid: u32,
},
BackendAckTimeout {
backend_pid: u32,
},
}Expand description
Failure from a future DuplicateHandle handoff attempt.
Variants§
UnsupportedPlatform
The current target cannot use the Windows handoff transport.
CannotOpenBackend
Opening the backend process for PROCESS_DUP_HANDLE failed.
PermissionDenied
The platform denied handle duplication.
DuplicateFailed
DuplicateHandle failed after the backend process was opened.
Fields
IntegrityMismatch
The broker and backend trust or integrity levels are incompatible.
BackendAckTimeout
The backend did not acknowledge the duplicated handle before the deadline.
Implementations§
Source§impl DuplicateHandleError
impl DuplicateHandleError
Sourcepub fn attempt_failure(&self) -> Option<HandoffAttemptFailure>
pub fn attempt_failure(&self) -> Option<HandoffAttemptFailure>
Return the existing attempt-failure classification, when this was a real attempt.
Sourcepub fn fallback_reason(&self) -> HandoffFallbackReason
pub fn fallback_reason(&self) -> HandoffFallbackReason
Map this transport failure into the existing fallback reason vocabulary.
Sourcepub fn fallback_decision(&self) -> HandoffFallbackDecision
pub fn fallback_decision(&self) -> HandoffFallbackDecision
Return the silent reconnect fallback for this transport failure.
Sourcepub fn fallback_attempt_decision(&self) -> HandoffAttemptDecision
pub fn fallback_attempt_decision(&self) -> HandoffAttemptDecision
Return the full attempt decision for callers that operate on broker decisions.
Sourcepub fn is_fallback_safe(&self) -> bool
pub fn is_fallback_safe(&self) -> bool
Return true when this error is safe to hide behind reconnect fallback.
Trait Implementations§
Source§impl Clone for DuplicateHandleError
impl Clone for DuplicateHandleError
Source§fn clone(&self) -> DuplicateHandleError
fn clone(&self) -> DuplicateHandleError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DuplicateHandleError
impl Debug for DuplicateHandleError
Source§impl Display for DuplicateHandleError
impl Display for DuplicateHandleError
impl Eq for DuplicateHandleError
Source§impl Error for DuplicateHandleError
impl Error for DuplicateHandleError
1.30.0 · 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()
Source§impl PartialEq for DuplicateHandleError
impl PartialEq for DuplicateHandleError
Source§fn eq(&self, other: &DuplicateHandleError) -> bool
fn eq(&self, other: &DuplicateHandleError) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for DuplicateHandleError
Auto Trait Implementations§
impl Freeze for DuplicateHandleError
impl RefUnwindSafe for DuplicateHandleError
impl Send for DuplicateHandleError
impl Sync for DuplicateHandleError
impl Unpin for DuplicateHandleError
impl UnsafeUnpin for DuplicateHandleError
impl UnwindSafe for DuplicateHandleError
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> 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>. 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