pub trait ICMP6Sender<'a> {
// Required methods
fn set_client(&self, client: &'a dyn ICMP6SendClient);
fn send(
&self,
dest: IPAddr,
icmp_header: ICMP6Header,
buf: &'static mut [u8],
net_cap: &'static NetworkCapability,
) -> Result<(), ErrorCode>;
}
Expand description
A trait that defines an interface for sending ICMPv6 packets.
Required Methods§
Sourcefn set_client(&self, client: &'a dyn ICMP6SendClient)
fn set_client(&self, client: &'a dyn ICMP6SendClient)
Sets the client for the ICMP6Sender
instance.
§Arguments
client
- The ICMP6SendClient
instance to be set as the client
of the ICMP6Sender
instance
Sourcefn send(
&self,
dest: IPAddr,
icmp_header: ICMP6Header,
buf: &'static mut [u8],
net_cap: &'static NetworkCapability,
) -> Result<(), ErrorCode>
fn send( &self, dest: IPAddr, icmp_header: ICMP6Header, buf: &'static mut [u8], net_cap: &'static NetworkCapability, ) -> Result<(), ErrorCode>
Constructs and sends an IP packet from provided ICMPv6 header and payload.
§Arguments
dest
- The destination IP address
icmp_header
- The ICMPv6 header to be sent
buf
- The byte array containing the ICMPv6 payload
§Return Value
This function returns a code reporting either success or any synchronous errors. Note that any asynchronous errors are returned via the callback.