NetworkCompatChecker can tolerate no-response from CATS service. This allows nodes to not implement services at all while being UAVCAN compatible.

This commit is contained in:
Pavel Kirienko
2014-06-14 12:38:50 +04:00
parent ce023d14c8
commit 518e105809
3 changed files with 21 additions and 15 deletions
@@ -40,6 +40,7 @@ class UAVCAN_EXPORT NetworkCompatibilityChecker : Noncopyable
NodeIDMask nid_mask_checked_;
NetworkCompatibilityCheckResult result_;
DataTypeKind checking_dtkind_;
uint8_t num_failed_nodes_;
bool last_cats_request_ok_;
INode& getNode() { return ns_sub_.getNode(); }
@@ -63,11 +64,14 @@ public:
: ns_sub_(node)
, cats_cln_(node)
, checking_dtkind_(DataTypeKindService)
, num_failed_nodes_(0)
, last_cats_request_ok_(false)
{ }
int execute();
uint8_t getNumFailedNodes() const { return num_failed_nodes_; }
const NetworkCompatibilityCheckResult& getResult() const { return result_; }
static int publishGlobalDiscoveryRequest(INode& node);