[−][src]Function direct_executor::run_with_wake
pub fn run_with_wake<F>(future: F, wait: impl FnMut(), wake: fn()) -> F::Output where
F: Future,
Runs the provided future until polling succeeds, calling the provided wait
closure in between
each polling attempt.
When this thread is supposed to wake up again, the provided wake
closure will be called. This
allows the user to provide custom "unpark" functionality, if necessary.
A common pattern is to let wait
simply be some delay function (like sleep()
), or in certain
environments (such as on embedded devices), it might make sense to call wfi
to wait for
peripheral interrupts, if you know that to be the source of future completion.