- The reason was that in HostStatusAnalyzer, analyze_ping_failed_count() was
called from within increase_ping_failed_count(), thus only when the ping
failed the ExceededPingFailedLimit was updated, to false. There were no path
where ExceededPingFailedLimit was updated to true.
Now, the analyze_ping_failed_count() is called everytime we call
update_ping_statistics(), which updates ExceededPingFailedLimit everytime.
returns only after a reply or timeout, thus increasing the interval to the
next schedule ping to the same host and to the other hosts.
+- The sequence number is always 1. As the BoostPinger is created for just one
+ ping.
+
+
+Fixed Bugs
+=======================================
+
- If one ping fails, the subsequent analysis report that the ping is down:
Example:
Request timed out
- Host down: www.ufsc.br
- Speeding up ping interval to: 30s
- Time elapsed since last ping: 31s
-
-- The sequence number is always 1. As the BoostPinger is created for just one
- ping.
increase_ping_failed_count();
}
+ analyze_ping_failed_count();
+
// after we tried all IPs resolved for this host, we can analyze how many
// failed
if ( tried_all_resolved_ip() )
bool HostStatusAnalyzer::tried_all_resolved_ip() const
{
- BOOST_ASSERT( ( 0 <= PingsPerformedCount ) && ( PingsPerformedCount <= ResolvedIpCount ) );
+ BOOST_ASSERT( ( 0 < PingsPerformedCount ) && ( PingsPerformedCount <= ResolvedIpCount ) );
return ( PingsPerformedCount == ResolvedIpCount );
}
{
++PingsFailedCount;
- analyze_ping_failed_count();
-
BOOST_ASSERT( ( 0 <= PingsFailedCount ) && ( PingsFailedCount <= PingsPerformedCount ) );
}