1 unstable release
0.1.1 | Aug 1, 2021 |
---|---|
0.1.0 |
|
#1965 in Asynchronous
7KB
future-bool
A bool one can await
the changes.
Example usage
use future_bool::FutureBool;
#[tokio::main]
async fn main() {
let run = FutureBool::new(false);
let run_clone = run.clone();
let task = tokio::spawn(async move {
loop {
// If run changes to false before `some_async_fn` is terminated,
// it will be interrupted.
tokio::select! {
_ = run_clone.wait_false() => break,
_ = some_async_fn() => {}
};
}
});
// ... some other task sets run to false with
// `run.unset()`
task.await;
}
Dependencies
~2.2–8MB
~63K SLoC