pub enum ControlFlow {
Poll,
Wait,
WaitUntil(Instant),
Exit,
}Expand description
Set by the user callback given to the EventLoop::run method.
Indicates the desired behavior of the event loop after Event::RedrawEventsCleared
is emitted. Defaults to Poll.
§Persistency
Almost every change is persistent between multiple calls to the event loop closure within a
given run loop. The only exception to this is Exit which, once set, cannot be unset. Changes
are not persistent between multiple calls to run_return - issuing a new call will reset
the control flow to Poll.
Variants§
Poll
When the current loop iteration finishes, immediately begin a new iteration regardless of whether or not new events are available to process.
§Platform-specific
- Web: Events are queued and usually sent when
requestAnimationFramefires but sometimes the events in the queue may be sent before the nextrequestAnimationFramecallback, for example when the scaling of the page has changed. This should be treated as an implementation detail which should not be relied on.
Wait
When the current loop iteration finishes, suspend the thread until another event arrives.
WaitUntil(Instant)
When the current loop iteration finishes, suspend the thread until either another event arrives or the given time is reached.
Exit
Send a LoopDestroyed event and stop the event loop. This variant is sticky - once set,
control_flow cannot be changed from Exit, and any future attempts to do so will result
in the control_flow parameter being reset to Exit.
Trait Implementations§
Source§impl Clone for ControlFlow
impl Clone for ControlFlow
Source§fn clone(&self) -> ControlFlow
fn clone(&self) -> ControlFlow
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ControlFlow
impl Debug for ControlFlow
Source§impl Default for ControlFlow
impl Default for ControlFlow
Source§fn default() -> ControlFlow
fn default() -> ControlFlow
Source§impl PartialEq for ControlFlow
impl PartialEq for ControlFlow
impl Copy for ControlFlow
impl Eq for ControlFlow
impl StructuralPartialEq for ControlFlow
Auto Trait Implementations§
impl Freeze for ControlFlow
impl RefUnwindSafe for ControlFlow
impl Send for ControlFlow
impl Sync for ControlFlow
impl Unpin for ControlFlow
impl UnwindSafe for ControlFlow
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Content for Twhere
T: Copy,
impl<T> Content for Twhere
T: Copy,
Source§unsafe fn read<F, E>(size: usize, f: F) -> Result<T, E>
unsafe fn read<F, E>(size: usize, f: F) -> Result<T, E>
Owned.
User-provided closure F must only write to and not read from &mut Self.