Trait pnet::datalink::EthernetDataLinkSender [] [src]

pub trait EthernetDataLinkSender: Send {
    fn build_and_send(&mut self, num_packets: usize, packet_size: usize, func: &mut FnMut(MutableEthernetPacket)) -> Option<Result<()>>;
    fn send_to(&mut self, packet: &EthernetPacket, dst: Option<NetworkInterface>) -> Option<Result<()>>;
}

Trait to enable sending $packet packets

Required Methods

fn build_and_send(&mut self, num_packets: usize, packet_size: usize, func: &mut FnMut(MutableEthernetPacket)) -> Option<Result<()>>

Create and send a number of packets

This will call func num_packets times. The function will be provided with a mutable packet to manipulate, which will then be sent. This allows packets to be built in-place, avoiding the copy required for send. If there is not sufficient capacity in the buffer, None will be returned.

fn send_to(&mut self, packet: &EthernetPacket, dst: Option<NetworkInterface>) -> Option<Result<()>>

Send a packet

This may require an additional copy compared to build_and_send, depending on the operating system being used. The second parameter is currently ignored, however None should be passed.

Implementors