[−][src]Struct tokio_net::driver::Reactor
The core reactor, or event loop.
The event loop is the main source of blocking in an application which drives all other I/O events and notifications happening. Each event loop can have multiple handles pointing to it, each of which can then be used to create various I/O objects to interact with the event loop in interesting ways.
Methods
impl Reactor
[src]
pub fn new() -> Result<Reactor>
[src]
Creates a new event loop, returning any error that happened during the creation.
pub fn handle(&self) -> Handle
[src]
Returns a handle to this event loop which can be sent across threads and can be used as a proxy to the event loop itself.
Handles are cloneable and clones always refer to the same event loop. This handle is typically passed into functions that create I/O objects to bind them to this event loop.
pub fn turn(&mut self, max_wait: Option<Duration>) -> Result<Turn>
[src]
Performs one iteration of the event loop, blocking on waiting for events
for at most max_wait
(forever if None
).
This method is the primary method of running this reactor and processing I/O events that occur. This method executes one iteration of an event loop, blocking at most once waiting for events to happen.
If a max_wait
is specified then the method should block no longer than
the duration specified, but this shouldn't be used as a super-precise
timer but rather a "ballpark approximation"
Return value
This function returns an instance of Turn
Turn
as of today has no extra information with it and can be safely
discarded. In the future Turn
may contain information about what
happened while this reactor blocked.
Errors
This function may also return any I/O error which occurs when polling
for readiness of I/O objects with the OS. This is quite unlikely to
arise and typically mean that things have gone horribly wrong at that
point. Currently this is primarily only known to happen for internal
bugs to tokio
itself.
pub fn is_idle(&self) -> bool
[src]
Returns true if the reactor is currently idle.
Idle is defined as all tasks that have been spawned have completed, either successfully or with an error.
Trait Implementations
Auto Trait Implementations
impl Send for Reactor
impl Unpin for Reactor
impl Sync for Reactor
impl !RefUnwindSafe for Reactor
impl !UnwindSafe for Reactor
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,