Function futures::unsync::oneshot::spawn[][src]

pub fn spawn<F, E>(future: F, executor: &E) -> SpawnHandle<F::Item, F::Error> where
    F: Future,
    E: Executor<Execute<F>>, 

Spawns a future onto the instance of Executor provided, executor, returning a handle representing the completion of the future.

The SpawnHandle returned is a future that is a proxy for future itself. When future completes on executor then the SpawnHandle will itself be resolved. Internally SpawnHandle contains a oneshot channel and is thus not safe to send across threads.

The future will be canceled if the SpawnHandle is dropped. If this is not desired then the SpawnHandle::forget function can be used to continue running the future to completion.

Panics

This function will panic if the instance of Spawn provided is unable to spawn the future provided.

If the provided instance of Spawn does not actually run future to completion, then the returned handle may panic when polled. Typically this is not a problem, though, as most instances of Spawn will run futures to completion.