tokio_core::reactor

Struct Remote

Source
pub struct Remote { /* private fields */ }
Expand description

Handle to an event loop, used to construct I/O objects, send messages, and otherwise interact indirectly with the event loop itself.

Handles can be cloned, and when cloned they will still refer to the same underlying event loop.

Implementations§

Source§

impl Remote

Source

pub fn spawn<F, R>(&self, f: F)
where F: FnOnce(&Handle) -> R + Send + 'static, R: IntoFuture<Item = (), Error = ()>, R::Future: 'static,

Spawns a new future into the event loop this remote is associated with.

This function takes a closure which is executed within the context of the I/O loop itself. The future returned by the closure will be scheduled on the event loop and run to completion.

Note that while the closure, F, requires the Send bound as it might cross threads, the future R does not.

§Panics

This method will not catch panics from polling the future f. If the future panics then it’s the responsibility of the caller to catch that panic and handle it as appropriate.

Source

pub fn id(&self) -> CoreId

Return the ID of the represented Core

Source

pub fn handle(&self) -> Option<Handle>

Attempts to “promote” this remote to a handle, if possible.

This function is intended for structures which typically work through a Remote but want to optimize runtime when the remote doesn’t actually leave the thread of the original reactor. This will attempt to return a handle if the Remote is on the same thread as the event loop and the event loop is running.

If this Remote has moved to a different thread or if the event loop is running, then None may be returned. If you need to guarantee access to a Handle, then you can call this function and fall back to using spawn above if it returns None.

Trait Implementations§

Source§

impl Clone for Remote

Source§

fn clone(&self) -> Remote

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Remote

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<F> Executor<F> for Remote
where F: Future<Item = (), Error = ()> + Send + 'static,

Source§

fn execute(&self, future: F) -> Result<(), ExecuteError<F>>

Spawns a future to run on this Executor, typically in the “background”. Read more

Auto Trait Implementations§

§

impl Freeze for Remote

§

impl !RefUnwindSafe for Remote

§

impl Send for Remote

§

impl Sync for Remote

§

impl Unpin for Remote

§

impl !UnwindSafe for Remote

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.