pub trait Spawn {
// Required method
fn spawn_obj(
&self,
future: FutureObj<'static, ()>,
) -> Result<(), SpawnError>;
// Provided method
fn status(&self) -> Result<(), SpawnError> { ... }
}Expand description
The Spawn trait allows for pushing futures onto an executor that will
run them to completion.
Required Methods§
Sourcefn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>
fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>
Spawns a future that will be run to completion.
§Errors
The executor may be unable to spawn tasks. Spawn errors should represent relatively rare scenarios, such as the executor having been shut down so that it is no longer able to accept tasks.
Provided Methods§
Sourcefn status(&self) -> Result<(), SpawnError>
fn status(&self) -> Result<(), SpawnError>
Determines whether the executor is able to spawn new tasks.
This method will return Ok when the executor is likely
(but not guaranteed) to accept a subsequent spawn attempt.
Likewise, an Err return means that spawn is likely, but
not guaranteed, to yield an error.
Implementations on Foreign Types§
Source§impl<Sp> Spawn for &Spwhere
Sp: Spawn + ?Sized,
impl<Sp> Spawn for &Spwhere
Sp: Spawn + ?Sized,
fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>
fn status(&self) -> Result<(), SpawnError>
Source§impl<Sp> Spawn for &mut Spwhere
Sp: Spawn + ?Sized,
impl<Sp> Spawn for &mut Spwhere
Sp: Spawn + ?Sized,
fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>
fn status(&self) -> Result<(), SpawnError>
Source§impl<Sp> Spawn for Arc<Sp>where
Sp: Spawn + ?Sized,
Available on target_has_atomic=ptr only.
impl<Sp> Spawn for Arc<Sp>where
Sp: Spawn + ?Sized,
Available on
target_has_atomic=ptr only.