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.