pub struct Completable<T> { /* private fields */ }Implementations§
Source§impl<T> Completable<T>
impl<T> Completable<T>
pub fn new(val: T) -> Self
Sourcepub fn complete_exclusive(&self, f: impl FnOnce() -> T) -> bool
pub fn complete_exclusive(&self, f: impl FnOnce() -> T) -> bool
Completes this instance in exclusive mode, wherein the given closure is atomically invoked if and only if the instance is incomplete. No other thread may succeed in completing this instance in the meantime.
This method is used when f represents an expensive computation, the result of
which should not be discarded. Conversely, if this instance is already
complete, f should not be attempted.
Returns true if and only if f was invoked.
Sourcepub fn complete(&self, val: T) -> bool
pub fn complete(&self, val: T) -> bool
Completes this instance, assigning val if the instance is incomplete. Otherwise,
the existing completed value is preserved.
Returns true if and only if val was assigned.
pub fn is_complete(&self) -> bool
pub fn get(&self) -> Completed<'_, T>
pub fn peek<'a>(&'a self) -> impl Deref<Target = Option<T>> + 'a
pub fn try_get<'a>( &'a self, duration: Duration, ) -> impl Deref<Target = Option<T>> + 'a
pub fn into_inner(self) -> Option<T>
Trait Implementations§
Source§impl<T: Debug> Debug for Completable<T>
impl<T: Debug> Debug for Completable<T>
Source§impl<T: Default> Default for Completable<T>
impl<T: Default> Default for Completable<T>
Source§fn default() -> Completable<T>
fn default() -> Completable<T>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<T> !Freeze for Completable<T>
impl<T> RefUnwindSafe for Completable<T>
impl<T> Send for Completable<T>where
T: Send,
impl<T> Sync for Completable<T>where
T: Send,
impl<T> Unpin for Completable<T>where
T: Unpin,
impl<T> UnsafeUnpin for Completable<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Completable<T>
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