pub trait NetworkDevice {
// Required methods
fn mac_address(&self) -> MacAddress;
fn send(&self, data: &NetworkPacket) -> Result<(), NetworkError>;
fn receive_into(
&self,
packet: &mut NetworkPacket,
) -> Result<bool, NetworkError>;
}