iced_futures::executor

Trait Executor

Source
pub trait Executor: Sized {
    // Required methods
    fn new() -> Result<Self, Error>
       where Self: Sized;
    fn spawn(&self, future: impl Future<Output = ()> + MaybeSend + 'static);

    // Provided method
    fn enter<R>(&self, f: impl FnOnce() -> R) -> R { ... }
}
Expand description

A type that can run futures.

Required Methods§

Source

fn new() -> Result<Self, Error>
where Self: Sized,

Creates a new Executor.

Source

fn spawn(&self, future: impl Future<Output = ()> + MaybeSend + 'static)

Spawns a future in the Executor.

Provided Methods§

Source

fn enter<R>(&self, f: impl FnOnce() -> R) -> R

Runs the given closure inside the Executor.

Some executors, like tokio, require some global state to be in place before creating futures. This method can be leveraged to set up this global state, call a function, restore the state, and obtain the result of the call.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Executor for iced_futures::backend::native::async_std::Executor

Available on crate feature async-std and non-WebAssembly only.
Source§

impl Executor for iced_futures::backend::native::smol::Executor

Available on crate feature smol and non-WebAssembly only.
Source§

impl Executor for iced_futures::backend::null::Executor

Source§

impl Executor for iced_futures::backend::native::thread_pool::Executor

Available on crate feature thread-pool and non-WebAssembly only.
Source§

impl Executor for iced_futures::backend::native::tokio::Executor

Available on crate feature tokio and non-WebAssembly only.