Trait compio::driver::PollOpCode

source ·
pub trait PollOpCode {
    // Required methods
    fn pre_submit(self: Pin<&mut Self>) -> Result<Decision, Error>;
    fn on_event(
        self: Pin<&mut Self>,
        event: &Event
    ) -> Poll<Result<usize, Error>>;
}
Expand description

Abstraction of operations.

Required Methods§

source

fn pre_submit(self: Pin<&mut Self>) -> Result<Decision, Error>

Perform the operation before submit, and return Decision to indicate whether submitting the operation to polling is required.

source

fn on_event(self: Pin<&mut Self>, event: &Event) -> Poll<Result<usize, Error>>

Perform the operation after received corresponding event. If this operation is blocking, the return value should be Poll::Ready.

Implementors§

source§

impl OpCode for Accept

source§

impl OpCode for CloseFile

source§

impl OpCode for CloseSocket

source§

impl OpCode for Connect

source§

impl OpCode for FileStat

source§

impl OpCode for OpenFile

source§

impl OpCode for PathStat

source§

impl OpCode for ShutdownSocket

source§

impl OpCode for Sync

source§

impl<D, F> OpCode for Asyncify<F, D>
where D: Send + 'static, F: FnOnce() -> BufResult<usize, D> + Send + Sync + 'static,

source§

impl<T> OpCode for ReadAt<T>
where T: IoBufMut,

source§

impl<T> OpCode for ReadVectoredAt<T>

source§

impl<T> OpCode for Recv<T>
where T: IoBufMut,

source§

impl<T> OpCode for RecvFrom<T>
where T: IoBufMut,

source§

impl<T> OpCode for RecvFromVectored<T>

source§

impl<T> OpCode for RecvVectored<T>

source§

impl<T> OpCode for Send<T>
where T: IoBuf,

source§

impl<T> OpCode for SendTo<T>
where T: IoBuf,

source§

impl<T> OpCode for SendToVectored<T>
where T: IoVectoredBuf,

source§

impl<T> OpCode for SendVectored<T>
where T: IoVectoredBuf,

source§

impl<T> OpCode for WriteAt<T>
where T: IoBuf,

source§

impl<T> OpCode for WriteVectoredAt<T>
where T: IoVectoredBuf,