#include <logfunc.hpp>
#include "dns/dnsresolver.h"
+#include "host/pingerfactory.h"
#include "icmp/icmppinger.h"
#include "link/linkstatus.h"
// PingScheduler
//-----------------------------------------------------------------------------
+/**
+ * @brief Parameterized constructor.
+ *
+ * @param network_interface The name of the network interface originating the pings.
+ * @param destination_address The remote address to ping.
+ * @param destination_port The remote port to ping.
+ * @param ping_protocol_list A list of protocols to use.
+ * @param ping_interval_in_sec Amount of time between each ping.
+ * @param ping_fail_percentage_limit Maximum amount of pings that can fail.
+ * @param nameserver Server to resolve the addresses.
+ * @param link_analyzer The object to monitor the link status.
+ */
PingScheduler::PingScheduler(
const string &network_interface,
const string &destination_address,
const uint16_t destination_port,
- const PingProtocol ping_protocol,
+ const PingProtocolList ping_protocol_list,
const long ping_interval_in_sec,
const int ping_fail_percentage_limit,
const string &nameserver,
BOOST_ASSERT( !network_interface.empty() );
BOOST_ASSERT( !destination_address.empty() );
BOOST_ASSERT( 0 < destination_port );
- BOOST_ASSERT( /*(PingProtocol_First <= ping_protocol) && */(ping_protocol <= PingProtocol_Last) );
BOOST_ASSERT( 0 < ping_interval_in_sec );
BOOST_ASSERT( (0 <= ping_fail_percentage_limit) && (ping_fail_percentage_limit <= 100) );
BOOST_ASSERT( !nameserver.empty() );
- Ping = PingerFactory::createPinger( ping_protocol, IoService, network_interface );
+ Ping = PingerFactory::createPinger( ping_protocol_list, IoService, network_interface );
}
+/**
+ * @brief Destructor.
+ */
PingScheduler::~PingScheduler()
{
}
#include "link/linkstatus.h"
#include "host/hoststatus.h"
#include "host/pinger.h"
-#include "host/pingerfactory.h"
#include "host/pinginterval.h"
#include "host/pingprotocol.h"
-#include "icmp/icmppinger.h"
//-----------------------------------------------------------------------------
// PingScheduler
const std::string &network_interface,
const std::string &destination_address,
const uint16_t destination_port,
- const PingProtocol ping_protocol,
+ const PingProtocolList ping_protocol_list,
const long ping_interval_in_sec,
const int ping_fail_percentage_limit,
const std::string &nameserver,