use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;
#[derive(Default, Clone)]
#[non_exhaustive]
pub struct Canceller {
cancelled: Arc<AtomicBool>,
}
impl Canceller {
pub fn new(cancelled: Arc<AtomicBool>) -> Canceller {
Canceller {
cancelled,
}
}
pub fn cancel(&self) {
self.cancelled.store(true, Ordering::Relaxed);
}
}