9 #include <satcat5/ip_address.h>
10 #include <satcat5/ip_icmp.h>
27 ~
Ping() SATCAT5_OPTIONAL_DTOR;
30 static constexpr
unsigned UNLIMITED = (unsigned)(-1);
59 unsigned m_icmp_remct;
Callback interface for responding to ARP and ICMP events.
Connection metadata for an IPv4 address.
Protocol handler and dispatch unit for Internet Protocol v4 (IPv4).
Automatic "ping" functionality using an ICMP dispatch object A simplified wrapper for basic "ping" fu...
void arping(const satcat5::ip::Addr &dstaddr, unsigned qty=satcat5::ip::Ping::UNLIMITED)
Begin sending ARPING queries (ARP query).
void timer_event() override
Child class MUST override this method.
void ping_event(const satcat5::ip::Addr &from, u32 elapsed_usec) override
Callback method when a ping response is received.
static constexpr unsigned UNLIMITED
All requests can send N queries or until told to stop.
void arp_event(const satcat5::eth::MacAddr &mac, const satcat5::ip::Addr &ip) override
Callback for any announced MAC/IP address pair.
void stop()
Stop any ongoing activities.
void ping(const satcat5::ip::Addr &dstaddr, unsigned qty=satcat5::ip::Ping::UNLIMITED)
Begin sending PING queries (ICMP echo request).
Ping(satcat5::ip::Dispatch *iface)
Tie this Ping wrapper to an IP-dispatch object.
Callback API for handling "ping" reponses.
Timer objects are polled after a fixed delay or at a regular interval.
Core event-processing loop for SatCat5 software.
An Ethernet MAC address (with serializable interface).
IPv4 address is a 32-bit unsigned integer.
Timestamp for measuring elapsed time.