pub struct WaitCanceler { /* private fields */ }Expand description
Return values for wait_async methods.
Calling cancel will cancel any running wait.
Does not implement Clone or Copy so that only a single canceler exists
per wait.
Implementations§
Source§impl WaitCanceler
impl WaitCanceler
pub fn new_noop() -> Self
pub fn new_zxio(zxio: ZxioWeak, inner: PortWaitCanceler) -> Self
pub fn new_port(inner: PortWaitCanceler) -> Self
Sourcepub fn merge(self, other: Self) -> Self
pub fn merge(self, other: Self) -> Self
Equivalent to merge_unbounded, except that it enforces that the resulting vector of
cancellers is small enough to avoid being separately allocated on the heap.
If possible, use this function instead of merge_unbounded, because it gives us better
tools to keep this code path optimized.
Sourcepub fn merge_unbounded(_: Self, _: Self) -> Self
pub fn merge_unbounded(_: Self, _: Self) -> Self
Creates a new WaitCanceler that is equivalent to canceling both its arguments.
Auto Trait Implementations§
impl Freeze for WaitCanceler
impl !RefUnwindSafe for WaitCanceler
impl Send for WaitCanceler
impl Sync for WaitCanceler
impl Unpin for WaitCanceler
impl !UnwindSafe for WaitCanceler
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
Mutably borrows from an owned value. Read more
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
Converts the given service transport handle of type
T to [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>
Converts
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>
Converts
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 moreSource§impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
type Error = <U as TryFromExt<T>>::Error
§fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
Tries to perform the conversion.