Skip to main content

Reactor

Struct Reactor 

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

Thread-owned reactor that wraps the platform-specific backend.

Stored in a RefCell inside the thread-local so that mutable access can be checked at runtime (panics on re-entrant borrow, which must not happen in correct code).

Implementations§

Source§

impl Reactor

Source

pub fn new() -> Result<Self>

Create a new Reactor, opening the underlying OS polling resource.

Source

pub fn register( &self, source: RawSource, token: usize, interest: Interest, ) -> Result<()>

Register a raw source. Delegates to the platform backend.

Source

pub fn reregister( &self, source: RawSource, token: usize, interest: Interest, ) -> Result<()>

Re-register (update interest) a raw source.

Source

pub fn deregister(&self, source: RawSource) -> Result<()>

Deregister a raw source and remove its wakers from the registry.

Source

pub fn poll( &mut self, events: &mut Events, timeout_ms: Option<u64>, ) -> Result<usize>

Poll for ready events and wake registered task wakers.

Fills events from the platform backend, then fires any wakers whose tokens appear in the event list. Returns the number of events collected.

Auto Trait Implementations§

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> 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, 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.