pub struct RelayConn<T: 'static + RelayConnObserver + Send + Sync> { /* private fields */ }Expand description
RelayConn is the implementation of the Conn interfaces for UDP Relayed network connections.
Trait Implementations§
Source§impl<T: RelayConnObserver + Send + Sync> Conn for RelayConn<T>
impl<T: RelayConnObserver + Send + Sync> Conn for RelayConn<T>
Source§fn recv_from<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 mut [u8],
) -> Pin<Box<dyn Future<Output = Result<(usize, SocketAddr), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn recv_from<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 mut [u8],
) -> Pin<Box<dyn Future<Output = Result<(usize, SocketAddr), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Reads a packet from the connection,
copying the payload into p. It returns the number of
bytes copied into p and the return address that
was on the packet.
It returns the number of bytes read (0 <= n <= len(p))
and any error encountered. Callers should always process
the n > 0 bytes returned before considering the error.
It can be made to time out and return
an Error with Timeout() == true after a fixed time limit;
see SetDeadline and SetReadDeadline.
Source§fn send_to<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 [u8],
addr: SocketAddr,
) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn send_to<'life0, 'life1, 'async_trait>(
&'life0 self,
p: &'life1 [u8],
addr: SocketAddr,
) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Writes a packet with payload p to addr.
It can be made to time out and return
an Error with Timeout() == true after a fixed time limit;
see SetDeadline and SetWriteDeadline.
On packet-oriented connections, write timeouts are rare.
Source§fn local_addr(&self) -> Result<SocketAddr, Error>
fn local_addr(&self) -> Result<SocketAddr, Error>
Returns the local network address.
Source§fn close<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Closes the connection.
Any blocked Self::recv_from() or Self::send_to() operations
will be unblocked and return errors.