#pragma once
#include "probe.h"
namespace probe_internal
{
/// Check a TCP endpoint before the shared monotonic deadline.
mw::E<ProbeStatus> probeSocket(const TcpEndpoint& endpoint,
std::chrono::steady_clock::time_point deadline);
/// Check a UDP endpoint before the shared monotonic deadline.
mw::E<ProbeStatus> probeSocket(const UdpEndpoint& endpoint,
std::chrono::steady_clock::time_point deadline);
/// Check an ICMP endpoint before the shared monotonic deadline.
mw::E<ProbeStatus> probeSocket(const IcmpEndpoint& endpoint,
std::chrono::steady_clock::time_point deadline);
}