[][src]Struct tokio::runtime::current_thread::Runtime

pub struct Runtime { /* fields omitted */ }

Single-threaded runtime provides a way to start reactor and executor on the current thread.

See module level documentation for more details.


impl Runtime[src]

pub fn new() -> Result<Runtime>[src]

Returns a new runtime initialized with default configuration values.

pub fn handle(&self) -> Handle[src]

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.

Important traits for &'_ mut R
pub fn spawn<F>(&mut self, future: F) -> &mut Self where
    F: Future<Item = (), Error = ()> + 'static, 

Spawn a future onto the single-threaded Tokio runtime.

See module level documentation for more details.


use tokio::runtime::current_thread::Runtime;

// Create the runtime
let mut rt = Runtime::new().unwrap();

// Spawn a future onto the runtime
rt.spawn(future::lazy(|| {
    println!("running on the runtime");


This function panics if the spawn fails. Failure occurs if the executor is currently at capacity and is unable to spawn a new future.

pub fn block_on<F>(&mut self, f: F) -> Result<F::Item, F::Error> where
    F: Future

Runs the provided 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]

Run the executor to completion, blocking the thread until all spawned futures have completed.

Trait Implementations

impl Debug for Runtime[src]

Auto Trait Implementations

impl !Send for Runtime

impl !Unpin for Runtime

impl !Sync for Runtime

impl !UnwindSafe for Runtime

impl !RefUnwindSafe for Runtime

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Erased for T