pub trait NetworkInterface: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn mac_address(&self) -> MacAddress;
fn ip_address(&self) -> Option<Ipv4Address>;
fn set_ip_address(&self, ip: Ipv4Address);
fn send(&self, packet: DevicePacket) -> Result<(), &'static str>;
fn poll(&self) -> Result<Vec<DevicePacket>, &'static str>;
fn stats(&self) -> InterfaceStats;
}Expand description
Network interface trait