Struct zng_app::timer::DeadlineHandle
source · pub struct DeadlineHandle(/* private fields */);
Expand description
Represents a on_deadline
handler.
Drop all clones of this handle to cancel the timer, or call perm
to drop the handle
without cancelling the timer.
Implementations§
source§impl DeadlineHandle
impl DeadlineHandle
sourcepub fn dummy() -> DeadlineHandle
pub fn dummy() -> DeadlineHandle
Create a handle to nothing, the handle always in the canceled state.
Note that Option<DeadlineHandle>
takes up the same space as DeadlineHandle
and avoids an allocation.
sourcepub fn perm(self)
pub fn perm(self)
Drops the handle but does not drop the handler closure.
The handler closure will be dropped after it is executed or when the app exits.
sourcepub fn is_permanent(&self) -> bool
pub fn is_permanent(&self) -> bool
sourcepub fn cancel(self)
pub fn cancel(self)
Drops the handle and forces the handler to drop.
If the deadline has not been reached the handler will not be called, and will drop in the next app update.
sourcepub fn deadline(&self) -> Deadline
pub fn deadline(&self) -> Deadline
The timeout deadline.
The handler is called once when this deadline is reached.
sourcepub fn has_executed(&self) -> bool
pub fn has_executed(&self) -> bool
If the handler has executed. The handler executes once when the deadline is reached.
sourcepub fn is_canceled(&self) -> bool
pub fn is_canceled(&self) -> bool
If the timeout handler will never execute. Returns true
if cancel
was called
before the handler could execute.
sourcepub fn downgrade(&self) -> WeakDeadlineHandle
pub fn downgrade(&self) -> WeakDeadlineHandle
Create a weak handle to the deadline.
Trait Implementations§
source§impl Clone for DeadlineHandle
impl Clone for DeadlineHandle
source§fn clone(&self) -> DeadlineHandle
fn clone(&self) -> DeadlineHandle
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for DeadlineHandle
impl Debug for DeadlineHandle
source§impl Hash for DeadlineHandle
impl Hash for DeadlineHandle
source§impl PartialEq for DeadlineHandle
impl PartialEq for DeadlineHandle
impl Eq for DeadlineHandle
impl StructuralPartialEq for DeadlineHandle
Auto Trait Implementations§
impl Freeze for DeadlineHandle
impl RefUnwindSafe for DeadlineHandle
impl Send for DeadlineHandle
impl Sync for DeadlineHandle
impl Unpin for DeadlineHandle
impl UnwindSafe for DeadlineHandle
Blanket Implementations§
source§impl<T> AnyVarValue for Twhere
T: VarValue,
impl<T> AnyVarValue for Twhere
T: VarValue,
source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
dyn Any
methods.source§fn clone_boxed(&self) -> Box<dyn AnyVarValue>
fn clone_boxed(&self) -> Box<dyn AnyVarValue>
source§fn clone_boxed_var(&self) -> Box<dyn AnyVar>
fn clone_boxed_var(&self) -> Box<dyn AnyVar>
LocalVar<Self>
.source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self
equals other
.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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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