Expand description
Ping utilities.
This module allows for an easy ICMP Echo message interface used to ping devices with an ICMP Socket.
§Usage
use core::net::Ipv4Addr;
use core::str::FromStr;
use embassy_net::icmp::ping::{PingManager, PingParams};
use embassy_net::icmp::PacketMetadata;
let mut rx_buffer = [0; 256];
let mut tx_buffer = [0; 256];
let mut rx_meta = [PacketMetadata::EMPTY];
let mut tx_meta = [PacketMetadata::EMPTY];
let mut ping_manager = PingManager::new(stack, &mut rx_meta, &mut rx_buffer, &mut tx_meta, &mut tx_buffer);
let addr = "192.168.8.1";
let mut ping_params = PingParams::new(Ipv4Addr::from_str(addr).unwrap());
ping_params.set_payload(b"Hello, router!");
match ping_manager.ping(&ping_params).await {
Ok(time) => info!("Ping time of {}: {}ms", addr, time.as_millis()),
Err(ping_error) => warn!("{:?}", ping_error),
};
Structs§
- Ping
Manager - Manages ICMP ping operations.
- Ping
Params - Parameters for configuring the ping operation.