Struct tokio::runtime::Handle[][src]

pub struct Handle { /* fields omitted */ }
Expand description

Handle to the runtime

Implementations

impl Handle[src]

pub fn enter<F, R>(&self, f: F) -> R where
    F: FnOnce() -> R, 
[src]

Enter the runtime context

pub fn current() -> Self[src]

Returns a Handle view over the currently running Runtime

Panic

A Runtime must have been started or this will panic

Examples

This allows for the current handle to be gotten when running in a #


use tokio::runtime::Handle;

let handle = Handle::current();
handle.spawn(async {
    println!("now running in the existing Runtime");
})

pub fn try_current() -> Result<Self, TryCurrentError>[src]

Returns a Handle view over the currently running Runtime

Returns an error if no Runtime has been started

Contrary to current, this never panics

impl Handle[src]

pub fn spawn<F>(&self, future: F) -> JoinHandle<F::Output>

Notable traits for JoinHandle<T>

impl<T> Future for JoinHandle<T> type Output = Result<T, JoinError>;
where
    F: Future + Send + 'static,
    F::Output: Send + 'static, 
[src]

Spawns a 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::runtime::Runtime;

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

// Spawn a future onto the runtime
handle.spawn(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 Handle[src]

fn clone(&self) -> Handle[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Handle[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl !RefUnwindSafe for Handle

impl Send for Handle

impl Sync for Handle

impl Unpin for Handle

impl !UnwindSafe for Handle

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

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]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.