Trait pnet_datalink::DataLinkSender
[−]
[src]
pub trait DataLinkSender: Send { fn build_and_send(
&mut self,
num_packets: usize,
packet_size: usize,
func: &mut FnMut(&mut [u8])
) -> Option<Result<()>>; fn send_to(
&mut self,
packet: &[u8],
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(&mut [u8])
) -> Option<Result<()>>
&mut self,
num_packets: usize,
packet_size: usize,
func: &mut FnMut(&mut [u8])
) -> 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: &[u8],
dst: Option<NetworkInterface>
) -> Option<Result<()>>
&mut self,
packet: &[u8],
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.