pub trait SocketTap {
// Required methods
fn connect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = CDnsResult<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn is_tcp(&self) -> bool;
fn is_conncected<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_remote_addr(&self) -> &SocketAddr;
fn send<'life0, 'life1, 'async_trait>(
&'life0 mut self,
sndbuf: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = CDnsResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn recv<'life0, 'life1, 'async_trait>(
&'life0 mut self,
rcvbuf: &'life1 mut [u8],
) -> Pin<Box<dyn Future<Output = CDnsResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}
Required Methods§
Sourcefn connect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = CDnsResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn connect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = CDnsResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Connects to the remote host.
If timeout is not set, the socket is initialized in non blocking mode
and [PollFd] is created to use with poll(2)
.
If timeout is set, then the socket is initialized in blocking mode with
timeout. Tht [PollFd] is not generated!
Sourcefn is_conncected<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn is_conncected<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Tells if socket/stream is connected to remote host
Sourcefn get_remote_addr(&self) -> &SocketAddr
fn get_remote_addr(&self) -> &SocketAddr
Returns the remote host Ip and port.
Sourcefn send<'life0, 'life1, 'async_trait>(
&'life0 mut self,
sndbuf: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = CDnsResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn send<'life0, 'life1, 'async_trait>(
&'life0 mut self,
sndbuf: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = CDnsResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sends data over wire.
Sourcefn recv<'life0, 'life1, 'async_trait>(
&'life0 mut self,
rcvbuf: &'life1 mut [u8],
) -> Pin<Box<dyn Future<Output = CDnsResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn recv<'life0, 'life1, 'async_trait>(
&'life0 mut self,
rcvbuf: &'life1 mut [u8],
) -> Pin<Box<dyn Future<Output = CDnsResult<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Receives data transmitted from remote host. In nonblocking mode it should be called only after the event was polled In blocking mode it will block until received or timeout.