From eaa72a3236e463ce8b9bb0875b8f18ce20789f9c Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Tue, 1 Mar 2022 11:31:05 +0100 Subject: [PATCH] Only keep subscription count on custom_publisher_info. Signed-off-by: Miguel Company --- .../rmw_fastrtps_shared_cpp/custom_publisher_info.hpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/rmw_fastrtps_shared_cpp/include/rmw_fastrtps_shared_cpp/custom_publisher_info.hpp b/rmw_fastrtps_shared_cpp/include/rmw_fastrtps_shared_cpp/custom_publisher_info.hpp index 37db4ca2c..8efdf5853 100644 --- a/rmw_fastrtps_shared_cpp/include/rmw_fastrtps_shared_cpp/custom_publisher_info.hpp +++ b/rmw_fastrtps_shared_cpp/include/rmw_fastrtps_shared_cpp/custom_publisher_info.hpp @@ -76,11 +76,7 @@ class PubListener : public EventListenerInterface, public eprosima::fastdds::dds const eprosima::fastdds::dds::PublicationMatchedStatus & info) final { std::lock_guard lock(internalMutex_); - if (info.current_count_change == 1) { - subscriptions_.insert(eprosima::fastrtps::rtps::iHandle2GUID(info.last_subscription_handle)); - } else if (info.current_count_change == -1) { - subscriptions_.erase(eprosima::fastrtps::rtps::iHandle2GUID(info.last_subscription_handle)); - } + subscription_count_ = info.current_count; } RMW_FASTRTPS_SHARED_CPP_PUBLIC @@ -119,7 +115,7 @@ class PubListener : public EventListenerInterface, public eprosima::fastdds::dds size_t subscriptionCount() { std::lock_guard lock(internalMutex_); - return subscriptions_.size(); + return subscription_count_; } void @@ -141,7 +137,7 @@ class PubListener : public EventListenerInterface, public eprosima::fastdds::dds private: mutable std::mutex internalMutex_; - std::set subscriptions_ + std::size_t subscription_count_ = 0 RCPPUTILS_TSA_GUARDED_BY(internalMutex_); std::atomic_bool deadline_changes_;