Spawn trait allows for pushing futures onto an executor that will
run them to completion.
Spawns a future that will be run to completion.
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.
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.
Err return means that
spawn is likely, but
not guaranteed, to yield an error.