pingcheck
13 years agoChanges introduced in the ip-version-drop branch. v1.5
Guilherme Maciel Ferreira [Thu, 22 Mar 2012 02:27:50 +0000]
Changes introduced in the ip-version-drop branch.

13 years agoMerge branch 'ip-version-drop'
Guilherme Maciel Ferreira [Wed, 21 Mar 2012 00:42:14 +0000]
Merge branch 'ip-version-drop'

Conflicts:
src/config/host.cpp
src/config/host.h
src/host/pingscheduler.h
src/main.cpp
test/test_configurationcommandline.cpp
test/test_configurationoptions.cpp

13 years agoFix: ip::address::is_unspecified() is available only in boost versions above 1.47.0.
Guilherme Maciel Ferreira [Sun, 18 Mar 2012 21:27:18 +0000]
Fix: ip::address::is_unspecified() is available only in boost versions above 1.47.0.

13 years agoFix: do not assert when the address has more than one CNAME.
Guilherme Maciel Ferreira [Sun, 18 Mar 2012 21:11:37 +0000]
Fix: do not assert when the address has more than one CNAME.

13 years agoChanges introduced in the nic-per-host branch. v1.4
Guilherme Maciel Ferreira [Wed, 14 Mar 2012 23:49:08 +0000]
Changes introduced in the nic-per-host branch.

13 years agoHandling more kinds of errors during file parsing.
Guilherme Maciel Ferreira [Wed, 14 Mar 2012 23:31:41 +0000]
Handling more kinds of errors during file parsing.

13 years agoFix: consider the network interface from each host.
Guilherme Maciel Ferreira [Wed, 14 Mar 2012 23:08:29 +0000]
Fix: consider the network interface from each host.
- It was keeping the same network interface (from the first host) for all hosts;
- Reduced the variable scope so it is assigned on every loop iteraction.

13 years agoRemoving LocalNetworkInterfaceName attribute, it is no longer used in this class.
Guilherme Maciel Ferreira [Wed, 14 Mar 2012 00:28:28 +0000]
Removing LocalNetworkInterfaceName attribute, it is no longer used in this class.

13 years agoUse the "host.source-network-interface" only if the global "default-source-network...
Guilherme Maciel Ferreira [Wed, 14 Mar 2012 00:22:02 +0000]
Use the "host.source-network-interface" only if the global "default-source-network-interface" is empty.

13 years agoTest: updating the test cases with the new network interface options.
Guilherme Maciel Ferreira [Wed, 14 Mar 2012 00:03:03 +0000]
Test: updating the test cases with the new network interface options.

13 years agoDocumentation: updating the Readme with the new network interface options.
Guilherme Maciel Ferreira [Tue, 13 Mar 2012 23:57:21 +0000]
Documentation: updating the Readme with the new network interface options.

13 years agoRenamed the global "source-network-interface" to "default-source-network-interface".
Guilherme Maciel Ferreira [Tue, 13 Mar 2012 23:54:49 +0000]
Renamed the global "source-network-interface" to "default-source-network-interface".

13 years agoAdded the host.source-network-interface configuration option.
Guilherme Maciel Ferreira [Tue, 13 Mar 2012 23:36:55 +0000]
Added the host.source-network-interface configuration option.

13 years agoPassing the protocol list by const reference.
Guilherme Maciel Ferreira [Sun, 11 Mar 2012 21:22:42 +0000]
Passing the protocol list by const reference.

13 years agoAdded a method specially to initialize the pinger object for the first time.
Guilherme Maciel Ferreira [Sun, 11 Mar 2012 21:21:01 +0000]
Added a method specially to initialize the pinger object for the first time.

13 years agoFixed misspelled include guard.
Guilherme Maciel Ferreira [Sun, 11 Mar 2012 21:18:58 +0000]
Fixed misspelled include guard.

13 years agoRevert "Configuration: added the ping protocol fallback count."
Guilherme Maciel Ferreira [Sun, 11 Mar 2012 20:26:41 +0000]
Revert "Configuration: added the ping protocol fallback count."

This reverts commit f1284dcbaa750c1ffb517ed8e2e6a0a051a36057.

13 years agoRevert "Test: updating test cases to use the ping protocol fallback feature."
Guilherme Maciel Ferreira [Sun, 11 Mar 2012 20:26:25 +0000]
Revert "Test: updating test cases to use the ping protocol fallback feature."

This reverts commit 8e693035e02c8f6cb780cf594e41862fcd71ce2b.

13 years agoRevert "Perform N pings using one protocol, then after those N pings, switch to"
Guilherme Maciel Ferreira [Sun, 11 Mar 2012 20:26:03 +0000]
Revert "Perform N pings using one protocol, then after those N pings, switch to"

This reverts commit 46531881f06af5666d62a74836b1101cdcb779d9.

13 years agoRevert "Documentation: updating Readme and TODO files."
Guilherme Maciel Ferreira [Sun, 11 Mar 2012 20:25:46 +0000]
Revert "Documentation: updating Readme and TODO files."

This reverts commit d3c172383ff9ccaff5dc510fea439284f9f28650.

13 years agoFix: cast to integer because some compilers do not provide automatic conversion.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 02:45:00 +0000]
Fix: cast to integer because some compilers do not provide automatic conversion.

13 years agoRemoving the const qualifier to link with Boost.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 02:27:32 +0000]
Removing the const qualifier to link with Boost.
- Older versions of GCC does not link with different constness.

13 years agoNot implemented according to the message:
Guilherme Maciel Ferreira [Sat, 10 Mar 2012 22:03:18 +0000]
Not implemented according to the message:

From: Thomas Jarosch <thomas.jarosch@intra2net.com>
To: guilherme.maciel.ferreira@gmail.com
Subject: Re: TODO list
Date: Wed, 7 Mar 2012 11:26:19 +0100

Guten Morgen Guilherme,

On Wednesday, 7. March 2012 11:14:28 Guilherme Maciel Ferreira wrote:
Dude, this seriously sucks. I have some good news for you:
Just completly skip the QoS stuff, we don't need it right now.
Hope your laptop wasn't in the car...

Cheers,
Thomas

13 years agoDocumentation: updating Readme and TODO files.
Guilherme Maciel Ferreira [Wed, 7 Mar 2012 10:28:13 +0000]
Documentation: updating Readme and TODO files.

13 years agoPerform N pings using one protocol, then after those N pings, switch to
Guilherme Maciel Ferreira [Wed, 7 Mar 2012 10:24:51 +0000]
Perform N pings using one protocol, then after those N pings, switch to
the second protocol, if it available.

13 years agoTest: updating test cases to use the ping protocol fallback feature.
Guilherme Maciel Ferreira [Wed, 7 Mar 2012 10:19:15 +0000]
Test: updating test cases to use the ping protocol fallback feature.

13 years agoConfiguration: added the ping protocol fallback count.
Guilherme Maciel Ferreira [Wed, 7 Mar 2012 10:14:19 +0000]
Configuration: added the ping protocol fallback count.
- This item tells how many times it must ping using one protocol before use the other.

13 years agoUsing boost::asio::ip::address class instead of std::string in the HostAddress.
Guilherme Maciel Ferreira [Tue, 6 Mar 2012 10:45:38 +0000]
Using boost::asio::ip::address class instead of std::string in the HostAddress.
- That class provides more functionality, so keep it until someone requires a string.

13 years agoAdded the protocols supported in the Readme file.
Guilherme Maciel Ferreira [Mon, 5 Mar 2012 11:47:28 +0000]
Added the protocols supported in the Readme file.

13 years agoUndoing commit e58d750735048b76721ade950d3b9e0c75d201f7.
Guilherme Maciel Ferreira [Mon, 5 Mar 2012 11:40:19 +0000]
Undoing commit e58d750735048b76721ade950d3b9e0c75d201f7.
- Using the io_service reference instead of the shared_ptr, because it caused a
double freed error, because it was a stack object in the PingScheduler
(boost::asio::io_service IoService) and a smart pointer elsewhere,
thus, the smart pointers were releasing the stack memory. And once the
PingScheduler didn't had a counter by itself, the program was dumping
in the PingScheduler destructor.
  Once the Boost.Asio library uses the reference itself (e.g.
basic_raw_socket(boost::asio::io_service& io_service, )), I decided to
keep like it was before.

13 years agoThe DNS address resolution is synchronized with the protocol change.
Guilherme Maciel Ferreira [Mon, 5 Mar 2012 11:18:46 +0000]
The DNS address resolution is synchronized with the protocol change.
- In this way, when the new protocol requires a different IP version, the DNS
resolver is called again to get the according Address Resource Record.
- Still needs some intelligence.

13 years agoRepositioning of the ping_done_handler() method according to the order in the header.
Guilherme Maciel Ferreira [Mon, 5 Mar 2012 00:11:27 +0000]
Repositioning of the ping_done_handler() method according to the order in the header.

13 years agoLog message reformatting.
Guilherme Maciel Ferreira [Mon, 5 Mar 2012 00:09:35 +0000]
Log message reformatting.

13 years agoBring aboard a factory to create DNS resolvers.
Guilherme Maciel Ferreira [Mon, 5 Mar 2012 00:03:45 +0000]
Bring aboard a factory to create DNS resolvers.

13 years agoAdded AAAA resource records in the DNS query.
Guilherme Maciel Ferreira [Sun, 4 Mar 2012 23:55:34 +0000]
Added AAAA resource records in the DNS query.
- DNS resolve to IPv6 addresses.

13 years agoMoved DnsResolver from PingScheduler to PingRotate.
Guilherme Maciel Ferreira [Wed, 29 Feb 2012 23:46:07 +0000]
Moved DnsResolver from PingScheduler to PingRotate.
- Simplify the PingScheduler class;
- Makes easier for the PingRotate to match the correct Pinger to the IP version.

13 years agoCode improvement:
Guilherme Maciel Ferreira [Wed, 29 Feb 2012 00:12:01 +0000]
Code improvement:
- Replaced io_service references by shared pointers, because
  this ensures that this object is shared.

13 years agoCode improvement:
Guilherme Maciel Ferreira [Tue, 28 Feb 2012 00:02:31 +0000]
Code improvement:
- using STL rotate algorithm;
- moved part of ping_done_handler() method to another method to improve readability.

13 years agoCode improvement:
Guilherme Maciel Ferreira [Sun, 26 Feb 2012 22:36:29 +0000]
Code improvement:
- using STL rotate algorithm;
- and parameterized the fill_answers_list() method.

13 years agoHardening the match methods through asserts.
Guilherme Maciel Ferreira [Sun, 26 Feb 2012 20:58:50 +0000]
Hardening the match methods through asserts.

13 years agoUsing the list of protocols in the scheduler.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 17:20:16 +0000]
Using the list of protocols in the scheduler.

13 years agoFactory method to create the Pinger object that handles a list of protocols.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 17:15:02 +0000]
Factory method to create the Pinger object that handles a list of protocols.

13 years agoThe configuration supports more than one protocol per host.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 16:30:51 +0000]
The configuration supports more than one protocol per host.
- The protocols must be separated by comma, like ping-protocol=ICMP,ICMPv6.

13 years agoAdded a new class to exchange protocols.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 16:15:26 +0000]
Added a new class to exchange protocols.
- It simply hides the Pingers objects from the scheduler, changing the protocols at
  will. This process is transparent to the PingScheduler.

13 years agoDocumentation: documenting the parsing function.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 16:07:06 +0000]
Documentation: documenting the parsing function.

13 years agoAdded PingProtocolList type.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 16:06:21 +0000]
Added PingProtocolList type.

13 years agoReplaced boost::shared_ptr<Pinger> by PingerItem.
Guilherme Maciel Ferreira [Sat, 25 Feb 2012 16:01:41 +0000]
Replaced boost::shared_ptr<Pinger> by PingerItem.

13 years agoSmall formatting.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 09:54:32 +0000]
Small formatting.

13 years agoCreated a HostAddressList type as an alias to the STL list of HostAddresses.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 02:50:02 +0000]
Created a HostAddressList type as an alias to the STL list of HostAddresses.

13 years agoFix: cast to integer because some compilers do not provide automatic conversion.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 02:45:00 +0000]
Fix: cast to integer because some compilers do not provide automatic conversion.

13 years agoRefactor: moved the 'A' resource record filling to a dedicated method.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 02:37:21 +0000]
Refactor: moved the 'A' resource record filling to a dedicated method.

13 years agoRemoving the const qualifier to link with Boost.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 02:27:32 +0000]
Removing the const qualifier to link with Boost.
- Older versions of GCC does not link with different constness.

13 years agoCreated a PingItem type as an alias to the smart pointer.
Guilherme Maciel Ferreira [Thu, 23 Feb 2012 01:56:05 +0000]
Created a PingItem type as an alias to the smart pointer.

13 years agoChanges introduced in the test branch.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 18:15:05 +0000]
Changes introduced in the test branch.

13 years agoImplemented in commit aafde4f869c9a119bfb44e54961d7ac93804d995. v1.3
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 03:24:38 +0000]
Implemented in commit aafde4f869c9a119bfb44e54961d7ac93804d995.

13 years agoFix: suppress the warning about dereferencing type-punned pointer that break strict...
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 03:21:40 +0000]
Fix: suppress the warning about dereferencing type-punned pointer that break strict-aliasing rules.

13 years agoNot implemented. The classes config/Host and dns/HostAddress serve to
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:48:44 +0000]
Not implemented. The classes config/Host and dns/HostAddress serve to
different purposes, it is better to keep them separated.

13 years agoNot implemented. The checksum calculations are different in ICMP and TCP.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:35:56 +0000]
Not implemented. The checksum calculations are different in ICMP and TCP.

13 years agoNot done and not important, as no bottleneck is noticeable.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:34:03 +0000]
Not done and not important, as no bottleneck is noticeable.

13 years agoNot implemented according to the message:
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:24:17 +0000]
Not implemented according to the message:

From: Thomas Jarosch <thomas.jarosch@intra2net.com>
To: guilherme.maciel.ferreira@gmail.com
Subject: Re: DNS library
Date: Mon, 12 Dec 2011 11:12:55 +0100

Hi Guilherme,

On Friday, 9. December 2011 19:24:49 you wrote:
> What do you think is the best approach to include the DNS library in
> the pingcheck? Once it is just headers, do you think I must make the
> DNS library install its header somewhere and search them in the
> pingcheck build process, or do you know a better approach?

I'd say we keep the current approach with the in-tree files: pingcheck is
currently the only project at Intra2net that relies on boost::net::dns.
So building is easier with less external dependencies.

The situation will change as soon as another project uses it, too.

Cheers,
Thomas

13 years agoImplemented in commit 3625c0e544982518392b842162318db9a9840a1a.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:23:03 +0000]
Implemented in commit 3625c0e544982518392b842162318db9a9840a1a.

13 years agoImplemented in 'config' branch.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:21:54 +0000]
Implemented in 'config' branch.

13 years agoImplemented in 'test' branch.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:20:55 +0000]
Implemented in 'test' branch.

13 years agoImplemented in ipv6 branch.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:19:10 +0000]
Implemented in ipv6 branch.

13 years agoImplemented in commit ad545958f408012956bcac4cf466c94bec014bcc.
Guilherme Maciel Ferreira [Tue, 21 Feb 2012 01:15:42 +0000]
Implemented in commit ad545958f408012956bcac4cf466c94bec014bcc.

13 years agoMerge branch 'test'
Guilherme Maciel Ferreira [Mon, 20 Feb 2012 18:54:26 +0000]
Merge branch 'test'

Conflicts:
src/config/configurationreader.cpp
src/config/configurationreader.h
src/host/messagepayload.cpp
src/link/linkstatus.h
src/main.cpp
src/tcp/tcpheader.cpp

13 years agoThe log level can be configured in the command line, through --log-level=<level>...
Guilherme Maciel Ferreira [Mon, 20 Feb 2012 18:11:17 +0000]
The log level can be configured in the command line, through --log-level=<level> option.

13 years agoFix: using libi2ncommon LogLevel.
Guilherme Maciel Ferreira [Mon, 20 Feb 2012 18:03:22 +0000]
Fix: using libi2ncommon LogLevel.

13 years agoBring aboard log level configuration.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 22:35:16 +0000]
Bring aboard log level configuration.

13 years agoBring aboard log level parsing function.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 21:05:23 +0000]
Bring aboard log level parsing function.

13 years agoChanged protocol_string_map's storage class from external to internal.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 20:56:14 +0000]
Changed protocol_string_map's storage class from external to internal.

13 years agoUsing encode1() and decode1() from MessagePayload class.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 18:41:28 +0000]
Using encode1() and decode1() from MessagePayload class.
- This methods also allow to toggle the bit, the previous implementation allowed
  only to turn the bits on, but not turn them off.

13 years agoImplemented encode and decode methods for just 1 bit.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 18:19:55 +0000]
Implemented encode and decode methods for just 1 bit.
- In order to hide statements like "Payload[13] | bit ? 0x08 : 0x0" and "Payload[13] & 0x04".

13 years agoAdded index suffix to the parameters names.
Guilherme Maciel Ferreira [Sun, 19 Feb 2012 18:02:04 +0000]
Added index suffix to the parameters names.

13 years agoDocumentation for TCP header.
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 14:21:18 +0000]
Documentation for TCP header.

13 years agoTest: bring aboard TcpHeader test case.
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 02:46:14 +0000]
Test: bring aboard TcpHeader test case.

13 years agoRemoved unused parameter.
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 01:12:13 +0000]
Removed unused parameter.

13 years agoAdded functions prototypes to suppress some warnings.
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 01:06:25 +0000]
Added functions prototypes to suppress some warnings.

13 years agoFix: const-fied the argv parameter in order to suppress the string to char* conversio...
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 00:38:01 +0000]
Fix: const-fied the argv parameter in order to suppress the string to char* conversion warning.
- This also protects the string from modification.

13 years agoAdded stack protection warning and optimization to avoid stack overflows.
Guilherme Maciel Ferreira [Sat, 18 Feb 2012 00:14:39 +0000]
Added stack protection warning and optimization to avoid stack overflows.

13 years agoTest: bring aboard LinkStatus test case.
Guilherme Maciel Ferreira [Mon, 13 Feb 2012 00:28:47 +0000]
Test: bring aboard LinkStatus test case.

13 years agoFix: fixed previous test case namespace.
Guilherme Maciel Ferreira [Mon, 6 Feb 2012 23:29:48 +0000]
Fix: fixed previous test case namespace.

13 years agoTest: bring aboard PingProtocol test case.
Guilherme Maciel Ferreira [Mon, 6 Feb 2012 23:23:54 +0000]
Test: bring aboard PingProtocol test case.

13 years agoTest: bring aboard ConfigurationOptions test case.
Guilherme Maciel Ferreira [Mon, 6 Feb 2012 02:13:22 +0000]
Test: bring aboard ConfigurationOptions test case.

13 years agoFix: not all letter in the protocol_string_map key were uppercase, which caused
Guilherme Maciel Ferreira [Mon, 6 Feb 2012 02:04:35 +0000]
Fix: not all letter in the protocol_string_map key were uppercase, which caused
the protocol_uppercase_string to do not index properly.

13 years agoFix: misspelled class name.
Guilherme Maciel Ferreira [Thu, 2 Feb 2012 23:14:54 +0000]
Fix: misspelled class name.
- The correct is HostsDownLimitOption instead of HostDownLimitOption.

13 years agoDocumentation: added --daemon option.
Guilherme Maciel Ferreira [Thu, 2 Feb 2012 00:33:32 +0000]
Documentation: added --daemon option.

13 years agoTest: added --daemon option to ConfigurationCommandLine test case.
Guilherme Maciel Ferreira [Thu, 2 Feb 2012 00:32:15 +0000]
Test: added --daemon option to ConfigurationCommandLine test case.

13 years agoTest: bring aboard ConfigurationFile test case.
Guilherme Maciel Ferreira [Thu, 2 Feb 2012 00:31:01 +0000]
Test: bring aboard ConfigurationFile test case.

13 years agoSmall documentation fixes.
Guilherme Maciel Ferreira [Wed, 1 Feb 2012 01:42:14 +0000]
Small documentation fixes.

13 years agoTest: bring aboard ConfigurationCommandLine test case.
Guilherme Maciel Ferreira [Wed, 1 Feb 2012 01:15:44 +0000]
Test: bring aboard ConfigurationCommandLine test case.

13 years agoFix: solved stack smashing when creating StatusNotifierCommand.
Guilherme Maciel Ferreira [Sun, 29 Jan 2012 16:45:40 +0000]
Fix: solved stack smashing when creating StatusNotifierCommand.
- The StatusNotifierCommand member is a smart pointer instead of an object.
- Stack smashing is a protection from GCC to avoid segmentation faults from
  buffer overruns. Use -fno-stack-protector to disable it.
- This workaround protects some std::string strings from optimizations, which
  cause destructors to be called onto invalid std::string objects. Not sure
  whether is it a bug from gcc or in the pingcheck.

13 years agoRemoved parameter to shut the warning up.
Guilherme Maciel Ferreira [Sat, 28 Jan 2012 19:07:52 +0000]
Removed parameter to shut the warning up.

13 years agoAdded function prototypes to shut the warnings up.
Guilherme Maciel Ferreira [Sat, 28 Jan 2012 19:04:28 +0000]
Added function prototypes to shut the warnings up.

13 years agoCreated an intermediate variable to shut the warning up.
Guilherme Maciel Ferreira [Sat, 28 Jan 2012 18:51:49 +0000]
Created an intermediate variable to shut the warning up.

13 years agoSmall documentation fix.
Guilherme Maciel Ferreira [Sat, 28 Jan 2012 18:35:47 +0000]
Small documentation fix.

13 years agoIncreased warning level.
Guilherme Maciel Ferreira [Sat, 28 Jan 2012 18:34:49 +0000]
Increased warning level.

13 years agoUsing LinkStatusItem type as an alias to the boost::shared_ptr<LinkStatus>.
Guilherme Maciel Ferreira [Thu, 26 Jan 2012 09:43:04 +0000]
Using LinkStatusItem type as an alias to the boost::shared_ptr<LinkStatus>.

13 years agoRenamed LinkStatusAnalyzer to LinkStatus.
Guilherme Maciel Ferreira [Thu, 26 Jan 2012 00:39:46 +0000]
Renamed LinkStatusAnalyzer to LinkStatus.
    - This is a stronger noun name;
    - See "The Gravitational Pull of Functional Decomposition" at
      http://www.eetimes.com/design/embedded/4006522/Using-object-oriented-methods-to-achieve-C--s-promise-Part-3

13 years agoRenamed HostStatusAnalyzer to HostStatus.
Guilherme Maciel Ferreira [Wed, 25 Jan 2012 23:11:58 +0000]
Renamed HostStatusAnalyzer to HostStatus.
- This is a stronger noun name;
- See "The Gravitational Pull of Functional Decomposition" at
  http://www.eetimes.com/design/embedded/4006522/Using-object-oriented-methods-to-achieve-C--s-promise-Part-3