Trait FrameSender

Source
pub trait FrameSender: Send {
    // Required methods
    fn build_and_send(
        &mut self,
        num_packets: usize,
        packet_size: usize,
        func: &mut dyn FnMut(&mut [u8]),
    ) -> Option<Result<()>>;
    fn send(&mut self, packet: &[u8]) -> Option<Result<()>>;
}
Expand description

Trait to enable sending $packet packets.

Required Methods§

Source

fn build_and_send( &mut self, num_packets: usize, packet_size: usize, func: &mut dyn 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.

Source

fn send(&mut self, packet: &[u8]) -> Option<Result<()>>

Send a packet.

This may require an additional copy compared to build_and_send, depending on the operating system being used.

Implementors§