Trait virtual_net::VirtualTcpSocket

source ·
pub trait VirtualTcpSocket: VirtualConnectedSocket + Debug + Send + Sync + 'static {
Show 13 methods // Required methods fn set_recv_buf_size(&mut self, size: usize) -> Result<()>; fn recv_buf_size(&self) -> Result<usize>; fn set_send_buf_size(&mut self, size: usize) -> Result<()>; fn send_buf_size(&self) -> Result<usize>; fn set_nodelay(&mut self, reuse: bool) -> Result<()>; fn nodelay(&self) -> Result<bool>; fn set_keepalive(&mut self, keepalive: bool) -> Result<()>; fn keepalive(&self) -> Result<bool>; fn set_dontroute(&mut self, keepalive: bool) -> Result<()>; fn dontroute(&self) -> Result<bool>; fn addr_peer(&self) -> Result<SocketAddr>; fn shutdown(&mut self, how: Shutdown) -> Result<()>; fn is_closed(&self) -> bool;
}

Required Methods§

source

fn set_recv_buf_size(&mut self, size: usize) -> Result<()>

Sets the receive buffer size which acts as a trottle for how much data is buffered on this side of the pipe

source

fn recv_buf_size(&self) -> Result<usize>

Size of the receive buffer that holds all data that has not yet been read

source

fn set_send_buf_size(&mut self, size: usize) -> Result<()>

Sets the size of the send buffer which will hold the bytes of data while they are being sent over to the peer

source

fn send_buf_size(&self) -> Result<usize>

Size of the send buffer that holds all data that is currently being transmitted.

source

fn set_nodelay(&mut self, reuse: bool) -> Result<()>

When NO_DELAY is set the data that needs to be transmitted to the peer is sent immediately rather than waiting for a bigger batch of data, this reduces latency but increases encapsulation overhead.

source

fn nodelay(&self) -> Result<bool>

Indicates if the NO_DELAY flag is set which means that data is immediately sent to the peer without waiting. This reduces latency but increases encapsulation overhead.

source

fn set_keepalive(&mut self, keepalive: bool) -> Result<()>

When KEEP_ALIVE is set the connection will periodically send an empty data packet to the server to make sure the connection stays alive.

source

fn keepalive(&self) -> Result<bool>

Indicates if the KEEP_ALIVE flag is set which means that the socket will periodically send an empty data packet to keep the connection alive.

source

fn set_dontroute(&mut self, keepalive: bool) -> Result<()>

When DONT_ROUTE is set the packet will be sent directly to the interface without passing through the routing logic.

source

fn dontroute(&self) -> Result<bool>

Indicates if the packet will pass straight through to the interface bypassing the routing logic.

source

fn addr_peer(&self) -> Result<SocketAddr>

Returns the address (IP and Port) of the peer socket that this is conencted to

source

fn shutdown(&mut self, how: Shutdown) -> Result<()>

Shuts down either the READER or WRITER sides of the socket connection.

source

fn is_closed(&self) -> bool

Return true if the socket is closed

Implementors§

source§

impl VirtualTcpSocket for LocalTcpStream

Available on crate feature host-net only.
source§

impl VirtualTcpSocket for TcpSocketHalf