Struct tokio_core::reactor::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
sourceimpl Remote
impl Remote
sourcepub fn spawn<F, R>(&self, f: F) where
F: FnOnce(&Handle) -> R + Send + 'static,
R: IntoFuture<Item = (), Error = ()>,
R::Future: 'static,
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.
sourcepub fn handle(&self) -> Option<Handle>
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
Auto Trait Implementations
impl !RefUnwindSafe for Remote
impl Send for Remote
impl Sync for Remote
impl Unpin for Remote
impl !UnwindSafe for Remote
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more