Trait netlink_proto::sys::AsyncSocket
source · [−]pub trait AsyncSocket: Unpin {
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
fn socket_ref(&self) -> &Socket
Access underyling Socket
fn socket_mut(&mut self) -> &mut Socket
fn socket_mut(&mut self) -> &mut Socket
Mutable access to underyling Socket
Polling wrapper for Socket::send
fn poll_send_to(
&mut self,
cx: &mut Context<'_>,
buf: &[u8],
addr: &SocketAddr
) -> Poll<Result<usize, Error>>
fn poll_send_to(
&mut self,
cx: &mut Context<'_>,
buf: &[u8],
addr: &SocketAddr
) -> Poll<Result<usize, Error>>
Polling wrapper for Socket::send_to
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,
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>>
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).