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<()>>
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<()>>
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.