From c424bc118feb5128778f4ae7d18654a071c22b0f Mon Sep 17 00:00:00 2001 From: eboasson Date: Mon, 1 Jun 2020 21:27:25 +0200 Subject: [PATCH] Restore dashing/eloquent behaviour of "service_is_available" (#190) * Delete superfluous/erroneous/misleading comment Signed-off-by: Erik Boasson * Check for matched endpoints in server_is_available Signed-off-by: Erik Boasson --- rmw_cyclonedds_cpp/src/rmw_node.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/rmw_cyclonedds_cpp/src/rmw_node.cpp b/rmw_cyclonedds_cpp/src/rmw_node.cpp index 71af8f4..fe64263 100644 --- a/rmw_cyclonedds_cpp/src/rmw_node.cpp +++ b/rmw_cyclonedds_cpp/src/rmw_node.cpp @@ -3628,7 +3628,6 @@ extern "C" rmw_ret_t rmw_service_server_is_available( ret = common_context->graph_cache.get_writer_count(sub_topic_name, &number_of_response_publishers); if (ret != RMW_RET_OK || 0 == number_of_response_publishers) { - // error return ret; } dds_publication_matched_status_t ps; @@ -3637,9 +3636,9 @@ extern "C" rmw_ret_t rmw_service_server_is_available( dds_get_subscription_matched_status(info->client.sub->enth, &cs) < 0) { RMW_SET_ERROR_MSG("rmw_service_server_is_available: get_..._matched_status failed"); + return RMW_RET_ERROR; } - // all conditions met, there is a service server available - *is_available = true; + *is_available = ps.current_count > 0 && cs.current_count > 0; return RMW_RET_OK; }