pub struct Canceller { /* private fields */ }
Expand description
An object that allows cancelling the associated Timer.
Implementations§
Source§impl Canceller
impl Canceller
Sourcepub fn cancel(&self) -> Result<()>
pub fn cancel(&self) -> Result<()>
Cancel the associated Timer.
Examples found in repository?
examples/example2.rs (line 23)
5fn main() {
6 let callback = |status: io::Result<()>| match status {
7 Ok(_) => println!("Called"),
8 Err(ref e) if e.kind() == io::ErrorKind::Interrupted => println!("Cancelled"),
9 Err(e) => eprintln!("Error: {:?}", e),
10 };
11
12 println!("Run callback after 2s");
13 Timer::after(Duration::from_secs(2), callback).unwrap();
14
15 println!("Wait 4s");
16 std::thread::sleep(Duration::from_secs(4));
17
18 println!("Run callback after 4s");
19 let canceller = Timer::after(Duration::from_secs(4), callback).unwrap();
20
21 std::thread::sleep(Duration::from_secs(2));
22 println!("Cancel timer.");
23 canceller.cancel().unwrap();
24
25 std::thread::sleep(Duration::from_secs(3));
26}
More examples
examples/example1.rs (line 13)
5fn main() {
6 let (mut timer, canceller) = Timer::new2().unwrap();
7
8 println!("Wait 2s, uninterrupted.");
9 let r = timer.sleep(Duration::from_secs(2));
10 println!("Done: {:?}", r);
11
12 println!("Wait 2s, cancelled at once.");
13 canceller.cancel().unwrap();
14 let r = timer.sleep(Duration::from_secs(2));
15 println!("Done {:?}", r);
16
17 println!("Wait 2s, not cancelled.");
18 let r = timer.sleep(Duration::from_secs(2));
19 println!("Done {:?}", r);
20
21 println!("Wait 10s, cancel after 2s");
22 let canceller2 = canceller.clone();
23 std::thread::spawn(move || {
24 std::thread::sleep(Duration::from_secs(2));
25 canceller2.cancel().unwrap();
26 });
27 match timer.sleep(Duration::from_secs(10)) {
28 Err(ref e) if e.kind() == io::ErrorKind::Interrupted => println!("Cancelled"),
29 x => panic!("{:?}", x),
30 };
31}
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Canceller
impl !RefUnwindSafe for Canceller
impl Send for Canceller
impl Sync for Canceller
impl Unpin for Canceller
impl !UnwindSafe for Canceller
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