[−][src]Struct tokio_compat::runtime::current_thread::Runtime
feature="rt-current-thread"
or feature="rt-full"
) and feature="rt-current-thread"
only.Single-threaded runtime provides a way to start reactor and executor on the current thread.
See module level documentation for more details.
Methods
impl Runtime
[src]
pub fn new() -> Result<Runtime>
[src]
feature="rt-current-thread"
or feature="rt-full"
only.Returns a new runtime initialized with default configuration values.
pub fn handle(&self) -> Handle
[src]
feature="rt-current-thread"
or feature="rt-full"
only.Get a new handle to spawn futures on the single-threaded Tokio runtime
Different to the runtime itself, the handle can be sent to different threads.
Unlike the tokio
0.1 current_thread::Handle
, this handle can spawn
both futures
0.1 and std::future
tasks.
pub fn spawn<F>(&mut self, future: F) -> &mut Self where
F: Future01<Item = (), Error = ()> + 'static,
[src]
F: Future01<Item = (), Error = ()> + 'static,
feature="rt-current-thread"
or feature="rt-full"
only.Spawn a futures
0.1 future onto the single-threaded Tokio runtime.
See module level documentation for more details.
Examples
use tokio_compat::runtime::current_thread::Runtime; // Create the runtime let mut rt = Runtime::new().unwrap(); // Spawn a future onto the runtime rt.spawn(futures_01::future::lazy(|| { println!("now running on a worker thread"); Ok(()) }));
pub fn spawn_std<F>(&mut self, future: F) -> &mut Self where
F: Future<Output = ()> + 'static,
[src]
F: Future<Output = ()> + 'static,
feature="rt-current-thread"
or feature="rt-full"
only.Spawn a std::future
future onto the single-threaded Tokio runtime.
See module level documentation for more details.
Examples
use tokio_compat::runtime::current_thread::Runtime; // Create the runtime let mut rt = Runtime::new().unwrap(); // Spawn a future onto the runtime rt.spawn_std(async { println!("now running on a worker thread"); });
pub fn block_on<F>(&mut self, f: F) -> Result<F::Item, F::Error> where
F: Future01,
[src]
F: Future01,
feature="rt-current-thread"
or feature="rt-full"
only.Runs the provided futures
0.1 future, blocking the current thread
until the future completes.
This function can be used to synchronously block the current thread
until the provided future
has resolved either successfully or with an
error. The result of the future is then returned from this function
call.
Note that this function will also execute any spawned futures on the
current thread, but will not block until these other spawned futures
have completed. Once the function returns, any uncompleted futures
remain pending in the Runtime
instance. These futures will not run
until block_on
or run
is called again.
The caller is responsible for ensuring that other spawned futures
complete execution by calling block_on
or run
.
pub fn block_on_std<F>(&mut self, f: F) -> F::Output where
F: Future,
[src]
F: Future,
feature="rt-current-thread"
or feature="rt-full"
only.Runs the provided std::future
future, blocking the current thread
until the future completes.
This function can be used to synchronously block the current thread
until the provided future
has resolved either successfully or with an
error. The result of the future is then returned from this function
call.
Note that this function will also execute any spawned futures on the
current thread, but will not block until these other spawned futures
have completed. Once the function returns, any uncompleted futures
remain pending in the Runtime
instance. These futures will not run
until block_on
or run
is called again.
The caller is responsible for ensuring that other spawned futures
complete execution by calling block_on
or run
.
pub fn run(&mut self) -> Result<(), RunError>
[src]
feature="rt-current-thread"
or feature="rt-full"
only.Run the executor to completion, blocking the thread until all spawned futures have completed.
pub fn enter<F, R>(&self, f: F) -> R where
F: FnOnce() -> R,
[src]
F: FnOnce() -> R,
feature="rt-current-thread"
or feature="rt-full"
only.Enter the runtime context
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Runtime
impl !Send for Runtime
impl !Sync for Runtime
impl Unpin for Runtime
impl !UnwindSafe for Runtime
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,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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.
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>,