#[non_exhaustive]pub enum ControlFlow {
Poll,
Wait,
WaitUntil(Instant),
ExitWithCode(i32),
}
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 ExitWithCode
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 (Non-exhaustive)§
This enum is marked as non-exhaustive
Poll
When the current loop iteration finishes, immediately begin a new iteration regardless of whether or not new events are available to process.
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.
ExitWithCode(i32)
Send a LoopDestroyed
event and stop the event loop. This variant is sticky - once set,
control_flow
cannot be changed from ExitWithCode
, and any future attempts to do so will
result in the control_flow
parameter being reset to ExitWithCode
.
The contained number will be used as exit code. The Exit
constant is a shortcut for this
with exit code 0.
§Platform-specific
- Android / iOS / WASM: The supplied exit code is unused.
- Unix: On most Unix-like platforms, only the 8 least significant bits will be used,
which can cause surprises with negative exit values (
-42
would end up as214
). Seestd::process::exit
.
Implementations§
Source§impl ControlFlow
impl ControlFlow
Sourcepub const Exit: Self = _
pub const Exit: Self = _
Alias for ExitWithCode
(0)
.
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)