NetDevice

Trait NetDevice 

Source
pub trait NetDevice: Send + Sync {
    // Required methods
    fn send(&self, packet: &[u8]) -> Result<(), NetDeviceError>;
    fn receive(&self, buf: &mut [u8]) -> Result<usize, NetDeviceError>;
    fn device_id(&self) -> usize;
    fn mtu(&self) -> usize;
    fn name(&self) -> &str;
    fn mac_address(&self) -> [u8; 6];
}
Expand description

网络设备接口

Required Methods§

Source

fn send(&self, packet: &[u8]) -> Result<(), NetDeviceError>

发送数据包

Source

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

接收数据包

Source

fn device_id(&self) -> usize

获取设备标识符

Source

fn mtu(&self) -> usize

获取最大传输单元(MTU)

Source

fn name(&self) -> &str

获取设备名称

Source

fn mac_address(&self) -> [u8; 6]

获取MAC地址

Implementors§

Source§

impl<T: Transport + Send + Sync> NetDevice for VirtioNetDevice<T>