virtual_net

Trait VirtualRawSocket

Source
pub trait VirtualRawSocket:
    VirtualSocket
    + Debug
    + Send
    + Sync
    + 'static {
    // Required methods
    fn try_send(&mut self, data: &[u8]) -> Result<usize>;
    fn try_flush(&mut self) -> Result<()>;
    fn try_recv(&mut self, buf: &mut [MaybeUninit<u8>]) -> Result<usize>;
    fn set_promiscuous(&mut self, promiscuous: bool) -> Result<()>;
    fn promiscuous(&self) -> Result<bool>;
}

Required Methods§

Source

fn try_send(&mut self, data: &[u8]) -> Result<usize>

Sends out a datagram or stream of bytes on this socket

Source

fn try_flush(&mut self) -> Result<()>

Attempts to flush the object, ensuring that any buffered data reach their destination.

Source

fn try_recv(&mut self, buf: &mut [MaybeUninit<u8>]) -> Result<usize>

Recv a packet from the socket

Source

fn set_promiscuous(&mut self, promiscuous: bool) -> Result<()>

Tells the raw socket and its backing switch that all packets should be received by this socket even if they are not destined for this device

Source

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

Returns if the socket is running in promiscuous mode whereby it will receive all packets even if they are not destined for the local interface

Implementors§