pub fn destroy(&self) {
        self.reactor
            .upgrade()
            .unwrap()
            .remove_timer(self.inner.borrow().id);
        self.handle.cancel();
    }
/// Cancel an existing [`TimerActionOnce`], without waiting for it to return
///
/// This is a non-async version of [`cancel`]. It will remove the timer if
/// it hasn't fired already and destroy the [`TimerActionOnce`] releasing
/// the resources associated with it, but without blocking the current
/// task. It is still possible to [`join`] the task if needed.
///
/// # Examples
///
/// ```
/// use glommio::{timer::TimerActionOnce, LocalExecutorBuilder};
/// use std::time::Duration;
///
/// let handle = LocalExecutorBuilder::new()
///     .spawn(|| async move {
///         let action = TimerActionOnce::do_in(Duration::from_millis(100), async move {
///             println!("Will not execute this");
///         });
///         action.destroy();
///         action.join().await;
///     })
///     .unwrap();
/// handle.join().unwrap();
/// ```
/// [`TimerActionOnce`]: struct.TimerActionOnce.html
/// [`cancel`]: struct.TimerActionOnce.html#method.cancel
/// [`join`]: struct.TimerActionOnce.html#method.join
Cancel an existing [`TimerActionOnce`], without waiting for it to return
This is a non-async version of [`cancel`]. It will remove the timer if
it hasn't fired already and destroy the [`TimerActionOnce`] releasing
the resources associated with it, but without blocking the current
task. It is still possible to [`join`] the task if needed.
Cancel an existing [ ` TimerActionOnce ` ] without waiting for it to return This is a non - async version of [ ` cancel ` ] . It will remove the timer if it hasn ' t fired already and destroy the [ ` TimerActionOnce ` ] releasing the resources associated with it but without blocking the current task . It is still possible to [ ` join ` ] the task if needed .
pub fn destroy(&self) {
        self.reactor
            .upgrade()
            .unwrap()
            .remove_timer(self.inner.borrow().id);
        self.handle.cancel();
    }
pub fn destroy ( & self ) { self . reactor . upgrade ( ) . unwrap ( ) . remove_timer ( self . inner . borrow ( ) . id ) ; self . handle . cancel ( ) ; }
Cancel an existing [`TimerActionOnce`], without waiting for it to return
This is a non-async version of [`cancel`].
Cancel an existing [ ` TimerActionOnce ` ] without waiting for it to return This is a non - async version of [ ` cancel ` ] .
&self
&self
examples
```
use glommio::{timer::TimerActionOnce, LocalExecutorBuilder};
use std::time::Duration.

let handle = LocalExecutorBuilder::new()
.spawn(|| async move {
let action = TimerActionOnce::do_in(Duration::from_millis(100), async move {
println!("Will not execute this");
});
action.destroy();
action.join().await;
})
.unwrap();
handle.join().unwrap();
```
[`TimerActionOnce`]: struct.TimerActionOnce.html
[`cancel`]: struct.TimerActionOnce.html#method.cancel
[`join`]: struct.TimerActionOnce.html#method.join
` ` ` use glommio :: { timer :: TimerActionOnce LocalExecutorBuilder } ; use std :: time :: Duration . let handle = LocalExecutorBuilder :: new () . spawn ( || async move { let action = TimerActionOnce :: do_in ( Duration :: from_millis ( 100 ) async move { println! ( " Will not execute this " ) ; } ) ; action . destroy () ; action . join () . await ; } ) . unwrap () ; handle . join () . unwrap () ; ` ` ` [ ` TimerActionOnce ` ] : struct . TimerActionOnce . html [ ` cancel ` ] : struct . TimerActionOnce . html#method . cancel [ ` join ` ] : struct . TimerActionOnce . html#method . join