surrealdb_core/ctx/
canceller.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;

#[derive(Default, Clone)]
#[non_exhaustive]
pub struct Canceller {
	/// A reference to the canceled value of a context.
	cancelled: Arc<AtomicBool>,
}

impl Canceller {
	/// Create a new Canceller
	pub fn new(cancelled: Arc<AtomicBool>) -> Canceller {
		Canceller {
			cancelled,
		}
	}
	/// Cancel the context.
	pub fn cancel(&self) {
		self.cancelled.store(true, Ordering::Relaxed);
	}
}