Trait audit::sys::AsyncSocket

pub trait AsyncSocket: Sized + Unpin {
    // Required methods
    fn socket_ref(&self) -> &Socket;
    fn socket_mut(&mut self) -> &mut Socket;
    fn new(protocol: isize) -> Result<Self, Error>;
    fn poll_send(
        &mut self,
        cx: &mut Context<'_>,
        buf: &[u8]
    ) -> Poll<Result<usize, Error>>;
    fn poll_send_to(
        &mut self,
        cx: &mut Context<'_>,
        buf: &[u8],
        addr: &SocketAddr
    ) -> Poll<Result<usize, Error>>;
    fn poll_recv<B>(
        &mut self,
        cx: &mut Context<'_>,
        buf: &mut B
    ) -> Poll<Result<(), Error>>
       where B: BufMut;
    fn poll_recv_from<B>(
        &mut self,
        cx: &mut Context<'_>,
        buf: &mut B
    ) -> Poll<Result<SocketAddr, Error>>
       where B: BufMut;
    fn poll_recv_from_full(
        &mut self,
        cx: &mut Context<'_>
    ) -> Poll<Result<(Vec<u8, Global>, SocketAddr), Error>>;
}
Expand description

Trait to support different async backends

Required Methods§

fn socket_ref(&self) -> &Socket

Access underyling [Socket]

fn socket_mut(&mut self) -> &mut Socket

Mutable access to underyling [Socket]

fn new(protocol: isize) -> Result<Self, Error>

Wrapper for [Socket::new]

fn poll_send( &mut self, cx: &mut Context<'_>, buf: &[u8] ) -> Poll<Result<usize, Error>>

Polling wrapper for [Socket::send]

fn poll_send_to( &mut self, cx: &mut Context<'_>, buf: &[u8], addr: &SocketAddr ) -> Poll<Result<usize, Error>>

Polling wrapper for [Socket::send_to]

fn poll_recv<B>( &mut self, cx: &mut Context<'_>, buf: &mut B ) -> Poll<Result<(), Error>>where B: BufMut,

Polling wrapper for [Socket::recv]

Passes 0 for flags, and ignores the returned length (the buffer will have advanced by the amount read).

fn poll_recv_from<B>( &mut self, cx: &mut Context<'_>, buf: &mut B ) -> Poll<Result<SocketAddr, Error>>where B: BufMut,

Polling wrapper for [Socket::recv_from]

Passes 0 for flags, and ignores the returned length - just returns the address (the buffer will have advanced by the amount read).

fn poll_recv_from_full( &mut self, cx: &mut Context<'_> ) -> Poll<Result<(Vec<u8, Global>, SocketAddr), Error>>

Polling wrapper for [Socket::recv_from_full]

Passes 0 for flags, and ignores the returned length - just returns the address (the buffer will have advanced by the amount read).

Implementors§