Module flag

Source
Expand description

A simple flagging mechanism to coordinate between tasks.


let (flag, guard) = flag::guarded();
assert!(!flag.signalled());
let (flag1, guard1) = flag::guarded();
tokio::spawn(async move {
    let _guard = guard;
    flag1.await;
});
drop(guard1);
flag.await

Structs§

Flag
A flag indicating that an event occured. Flags can be queried and awaited.
Guard
A guard that sets the flag when dropped.

Functions§

guarded
Create a new guarded flag. The flag obtains when the guard is dropped.