Trait Driver

Source
pub trait Driver:
    'static
    + Send
    + Sync {
    // Required methods
    fn new_dyn_timer(&self) -> PollImpl<dyn PollTimer>;
    fn new_dyn_socket_ready(
        &self,
        socket: RawSocket,
    ) -> Result<PollImpl<dyn PollSocketReady>>;
    fn new_dyn_wait(&self, handle: RawHandle) -> Result<PollImpl<dyn PollWait>>;
    unsafe fn new_dyn_overlapped_file(
        &self,
        handle: RawHandle,
    ) -> Result<PollImpl<dyn IoOverlapped>>;
}
Expand description

A driver that supports polled IO.

Required Methods§

Source

fn new_dyn_timer(&self) -> PollImpl<dyn PollTimer>

Returns a new timer.

Source

fn new_dyn_socket_ready( &self, socket: RawSocket, ) -> Result<PollImpl<dyn PollSocketReady>>

Creates a new object for polling socket readiness.

Source

fn new_dyn_wait(&self, handle: RawHandle) -> Result<PollImpl<dyn PollWait>>

Creates a new wait.

Source

unsafe fn new_dyn_overlapped_file( &self, handle: RawHandle, ) -> Result<PollImpl<dyn IoOverlapped>>

Creates a new overlapped file handler.

§Safety

The caller must ensure that they exclusively own handle, and that handle stays alive until the new handler is dropped.

Trait Implementations§

Source§

impl Driver for Box<dyn Driver>

Source§

fn new_dyn_timer(&self) -> PollImpl<dyn PollTimer>

Returns a new timer.
Source§

fn new_dyn_socket_ready( &self, socket: RawSocket, ) -> Result<PollImpl<dyn PollSocketReady>>

Creates a new object for polling socket readiness.
Source§

fn new_dyn_wait(&self, handle: RawHandle) -> Result<PollImpl<dyn PollWait>>

Creates a new wait.
Source§

unsafe fn new_dyn_overlapped_file( &self, handle: RawHandle, ) -> Result<PollImpl<dyn IoOverlapped>>

Creates a new overlapped file handler. Read more

Implementations on Foreign Types§

Source§

impl Driver for Box<dyn Driver>

Source§

impl Driver for Arc<dyn Driver>

Implementors§