rmw_fastrtps_shared_cpp
master
Code shared on static and dynamic type support of rmw_fastrtps_cpp.
|
Go to the documentation of this file.
15 #ifndef RMW_FASTRTPS_SHARED_CPP__CUSTOM_PUBLISHER_INFO_HPP_
16 #define RMW_FASTRTPS_SHARED_CPP__CUSTOM_PUBLISHER_INFO_HPP_
20 #include <condition_variable>
23 #include "fastrtps/publisher/Publisher.h"
24 #include "fastrtps/publisher/PublisherListener.h"
55 : deadline_changes_(false),
56 liveliness_changes_(false),
57 conditionMutex_(nullptr),
58 conditionVariable_(nullptr)
67 eprosima::fastrtps::Publisher * pub, eprosima::fastrtps::rtps::MatchingInfo & info)
final
71 if (eprosima::fastrtps::rtps::MATCHED_MATCHING == info.status) {
72 subscriptions_.insert(info.remoteEndpointGuid);
73 }
else if (eprosima::fastrtps::rtps::REMOVED_MATCHING == info.status) {
74 subscriptions_.erase(info.remoteEndpointGuid);
80 on_offered_deadline_missed(
81 eprosima::fastrtps::Publisher * publisher,
82 const eprosima::fastrtps::OfferedDeadlineMissedStatus & status)
final;
87 eprosima::fastrtps::Publisher * publisher,
88 const eprosima::fastrtps::LivelinessLostStatus & status)
final;
104 return subscriptions_.size();
111 conditionMutex_ = conditionMutex;
112 conditionVariable_ = conditionVariable;
119 conditionMutex_ =
nullptr;
120 conditionVariable_ =
nullptr;
129 std::atomic_bool deadline_changes_;
130 eprosima::fastrtps::OfferedDeadlineMissedStatus offered_deadline_missed_status_
133 std::atomic_bool liveliness_changes_;
134 eprosima::fastrtps::LivelinessLostStatus liveliness_lost_status_
141 #endif // RMW_FASTRTPS_SHARED_CPP__CUSTOM_PUBLISHER_INFO_HPP_
const void * type_support_impl_
Definition: custom_publisher_info.hpp:42
rmw_fastrtps_shared_cpp::TypeSupport * type_support_
Definition: custom_publisher_info.hpp:41
#define RCPPUTILS_TSA_GUARDED_BY(x)
Definition: TypeSupport.hpp:41
#define RMW_FASTRTPS_SHARED_CPP_PUBLIC
Definition: visibility_control.h:50
virtual ~CustomPublisherInfo()=default
Definition: custom_publisher_info.hpp:35
EventListenerInterface * getListener() const final
PubListener * listener_
Definition: custom_publisher_info.hpp:40
Definition: custom_publisher_info.hpp:51
void detachCondition()
Unset the information from attachCondition.
Definition: custom_publisher_info.hpp:116
const char * typesupport_identifier_
Definition: custom_publisher_info.hpp:44
eprosima::fastrtps::Publisher * publisher_
Definition: custom_publisher_info.hpp:39
size_t subscriptionCount()
Definition: custom_publisher_info.hpp:101
void attachCondition(std::mutex *conditionMutex, std::condition_variable *conditionVariable)
Connect a condition variable so a waiter can be notified of new data.
Definition: custom_publisher_info.hpp:108
rmw_gid_t publisher_gid
Definition: custom_publisher_info.hpp:43
PubListener(CustomPublisherInfo *info)
Definition: custom_publisher_info.hpp:54
void onPublicationMatched(eprosima::fastrtps::Publisher *pub, eprosima::fastrtps::rtps::MatchingInfo &info) final
Definition: custom_publisher_info.hpp:66
Definition: custom_event_info.hpp:98
Definition: custom_event_info.hpp:39