Struct tetsy_runtime::TaskExecutor [−][src]
Executes futures on the runtime
All futures spawned using this executor will be submitted to the associated Runtime’s executor. This executor is usually a thread pool.
For more details, see the module level documentation.
Implementations
impl TaskExecutor
[src]
pub fn spawn<F>(&self, future: F) where
F: Future<Item = (), Error = ()> + Send + 'static,
[src]
F: Future<Item = (), Error = ()> + Send + 'static,
Spawn a futures
0.1 future onto the Tokio runtime.
This spawns the given future onto the runtime’s executor, usually a thread pool. The thread pool is then responsible for polling the future until it completes.
See module level documentation for more details.
Examples
use tokio_compat::runtime::Runtime; // Create the runtime let rt = Runtime::new().unwrap(); let executor = rt.executor(); // Spawn a `futures` 0.1 future onto the runtime executor.spawn(futures_01::future::lazy(|| { println!("now running on a worker thread"); Ok(()) }));
pub fn spawn_std<F>(&self, future: F) where
F: Future<Output = ()> + Send + 'static,
[src]
F: Future<Output = ()> + Send + 'static,
Spawn a std::future
future onto the Tokio runtime.
This spawns the given future onto the runtime’s executor, usually a thread pool. The thread pool is then responsible for polling the future until it completes.
See module level documentation for more details.
Examples
use tokio_compat::runtime::Runtime; // Create the runtime let rt = Runtime::new().unwrap(); let executor = rt.executor(); // Spawn a `std::future` future onto the runtime executor.spawn_std(async { println!("now running on a worker thread"); });
pub fn spawn_handle<F>(
&self,
future: F
) -> JoinHandle<Result<<F as Future>::Item, <F as Future>::Error>> where
F: Future + Send + 'static,
<F as Future>::Item: Send,
<F as Future>::Item: 'static,
<F as Future>::Error: Send,
<F as Future>::Error: 'static,
[src]
&self,
future: F
) -> JoinHandle<Result<<F as Future>::Item, <F as Future>::Error>> where
F: Future + Send + 'static,
<F as Future>::Item: Send,
<F as Future>::Item: 'static,
<F as Future>::Error: Send,
<F as Future>::Error: 'static,
Spawn a futures
0.1 future onto the Tokio runtime, returning a
JoinHandle
that can be used to await its result.
This spawns the given future onto the runtime’s executor, usually a thread pool. The thread pool is then responsible for polling the future until it completes.
Note that futures spawned in this manner do not “count” towards
keeping the runtime active for shutdown_on_idle
, since they are paired
with a JoinHandle
for awaiting their completion. See here for
details on shutting down the compatibility runtime.
Examples
use tokio_compat::runtime::Runtime; // Create the runtime let rt = Runtime::new().unwrap(); let executor = rt.executor(); // Spawn a `futures` 0.1 future onto the runtime executor.spawn(futures_01::future::lazy(|| { println!("now running on a worker thread"); Ok(()) }));
pub fn spawn_handle_std<F>(
&self,
future: F
) -> JoinHandle<<F as Future>::Output> where
F: Future + Send + 'static,
<F as Future>::Output: Send,
<F as Future>::Output: 'static,
[src]
&self,
future: F
) -> JoinHandle<<F as Future>::Output> where
F: Future + Send + 'static,
<F as Future>::Output: Send,
<F as Future>::Output: 'static,
Spawn a std::future
future onto the Tokio runtime, returning a
JoinHandle
that can be used to await its result.
This spawns the given future onto the runtime’s executor, usually a thread pool. The thread pool is then responsible for polling the future until it completes.
See module level documentation for more details.
Note that futures spawned in this manner do not “count” towards
keeping the runtime active for shutdown_on_idle
, since they are paired
with a JoinHandle
for awaiting their completion. See here for
details on shutting down the compatibility runtime.
Examples
use tokio_compat::runtime::Runtime; // Create the runtime let rt = Runtime::new().unwrap(); let executor = rt.executor(); // Spawn a `std::future` future onto the runtime executor.spawn_std(async { println!("now running on a worker thread"); });
Panics
This function panics if the spawn fails. Failure occurs if the executor is currently at capacity and is unable to spawn a new future.
Trait Implementations
impl Clone for TaskExecutor
[src]
pub fn clone(&self) -> TaskExecutor
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for TaskExecutor
[src]
impl Executor for TaskExecutor
[src]
pub fn spawn(
&mut self,
future: Box<dyn Future<Item = (), Error = ()> + 'static + Send, Global>
) -> Result<(), SpawnError>
[src]
&mut self,
future: Box<dyn Future<Item = (), Error = ()> + 'static + Send, Global>
) -> Result<(), SpawnError>
pub fn status(&self) -> Result<(), SpawnError>
[src]
impl<T> Executor<T> for TaskExecutor where
T: Future<Item = (), Error = ()> + Send + 'static,
[src]
T: Future<Item = (), Error = ()> + Send + 'static,
pub fn execute(&self, future: T) -> Result<(), ExecuteError<T>>
[src]
impl<T> TypedExecutor<T> for TaskExecutor where
T: Future<Item = (), Error = ()> + Send + 'static,
[src]
T: Future<Item = (), Error = ()> + Send + 'static,
pub fn spawn(&mut self, future: T) -> Result<(), SpawnError>
[src]
pub fn status(&self) -> Result<(), SpawnError>
[src]
Auto Trait Implementations
impl !RefUnwindSafe for TaskExecutor
impl Send for TaskExecutor
impl Sync for TaskExecutor
impl Unpin for TaskExecutor
impl !UnwindSafe for TaskExecutor
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<Ex> Executor01CompatExt for Ex where
Ex: Executor<Compat<UnitError<FutureObj<'static, ()>>>> + Clone + Send + 'static,
Ex: Executor<Compat<UnitError<FutureObj<'static, ()>>>> + Clone + Send + 'static,
pub fn compat(self) -> Executor01As03<Ex>
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,