Class SubscriberListener
Defined in File SubscriberListener.hpp
Inheritance Relationships
Base Type
public eprosima::fastdds::dds::SubscriberListener
(Class SubscriberListener)
Derived Type
public dds::sub::NoOpSubscriberListener
(Class NoOpSubscriberListener)
Class Documentation
-
class SubscriberListener : public eprosima::fastdds::dds::SubscriberListener
Subscriber events Listener.
Since a Subscriber is an Entity, it has the ability to have a Listener associated with it. In this case, the associated Listener should be of type SubscriberListener. This interface must be implemented by the application. A user-defined class must be provided by the application which must extend from the SubscriberListener class.
The SubscriberListener provides a generic mechanism (actually a callback function) for the Data Distribution Service to notify the application of relevant asynchronous status change events, such as a missed deadline, violation of a QosPolicy setting, etc. The SubscriberListener is related to changes in communication status StatusConditions.
// Application example listener class ExampleListener : public virtual dds::sub::SubscriberListener { public: virtual void on_new_data_message ( dds::pub::AnyDataReader& reader, const dds::core::status::NewDataMessageStatus& status) { std::cout << "on_new_data_message" << std::endl; } virtual void on_subscription_matched ( dds::pub::AnyDataReader& reader, const dds::core::status::SubscriptionMatchedStatus& status) { std::cout << "on_subscription_matched" << std::endl; } virtual void on_requested_deadline_missed ( dds::pub::AnyDataReader& reader, const dds::core::status::RequestedDeadlineMissedStatus& status) { std::cout << "on_requested_deadline_missed" << std::endl; } virtual void on_liveliness_changed ( dds::pub::AnyDataReader& reader, const dds::core::status::LivelinessChangedStatus& status) { std::cout << "on_liveliness_changed" << std::endl; } }; // Create Publisher with the listener dds::domain::DomainParticipant participant(org::opensplice::domain::default_id()); dds::sub::Subscriber subscriber(participant, participant.default_Subscriber_qos(), new ExampleListener(), dds::core::status::StatusMask::all());
See also
Subscriber
See also
Listener information
Subclassed by dds::sub::NoOpSubscriberListener