Class RMW_Connext_SubscriberStatusCondition

Inheritance Relationships

Base Type

Class Documentation

class RMW_Connext_SubscriberStatusCondition : public RMW_Connext_StatusCondition

Public Functions

RMW_Connext_SubscriberStatusCondition(DDS_DataReader *const reader, const bool ignore_local, const bool internal)
virtual ~RMW_Connext_SubscriberStatusCondition()
virtual bool has_status(const rmw_event_type_t event_type)
virtual rmw_ret_t get_status(const rmw_event_type_t event_type, void *const event_info)
rmw_ret_t install(RMW_Connext_Subscriber *const sub)
void on_requested_deadline_missed(const DDS_RequestedDeadlineMissedStatus *const status)
void on_requested_incompatible_qos(const DDS_RequestedIncompatibleQosStatus *const status)
void on_liveliness_changed(const DDS_LivelinessChangedStatus *const status)
void on_sample_lost(const DDS_SampleLostStatus *const status)
void on_matched(const DDS_SubscriptionMatchedStatus *const status)
inline rmw_ret_t set_data_available(const bool available)
inline virtual bool owns(DDS_Condition *const cond)
inline virtual rmw_ret_t _attach(DDS_WaitSet *const waitset)
inline virtual rmw_ret_t _detach(DDS_WaitSet *const waitset)
inline rmw_ret_t get_liveliness_changed_status(rmw_liveliness_changed_status_t *const status)
inline rmw_ret_t get_requested_deadline_missed_status(rmw_requested_deadline_missed_status_t *const status)
inline rmw_ret_t get_requested_qos_incompatible_status(rmw_requested_qos_incompatible_event_status_t *const status)
inline rmw_ret_t get_message_lost_status(rmw_message_lost_status_t *const status)
inline void set_on_new_data_callback(const rmw_event_callback_t callback, const void *const user_data)
void notify_new_data()
inline rmw_ret_t get_matched_status(rmw_matched_status_t *const status)

Public Members

const bool ignore_local
const DDS_InstanceHandle_t participant_handle

Protected Functions

void update_status_deadline(const DDS_RequestedDeadlineMissedStatus *const status)
void update_status_liveliness(const DDS_LivelinessChangedStatus *const status)
void update_status_qos(const DDS_RequestedIncompatibleQosStatus *const status)
void update_status_sample_lost(const DDS_SampleLostStatus *const status)
void update_status_matched(const DDS_SubscriptionMatchedStatus *const status)

Protected Attributes

DDS_GuardCondition *const loan_guard_condition
bool triggered_deadline = {false}
bool triggered_liveliness = {false}
bool triggered_qos = {false}
bool triggered_sample_lost = {false}
bool triggered_matched = {false}
bool triggered_data = {false}
DDS_RequestedDeadlineMissedStatus status_deadline
DDS_RequestedIncompatibleQosStatus status_qos
DDS_LivelinessChangedStatus status_liveliness
DDS_SampleLostStatus status_sample_lost
DDS_SubscriptionMatchedStatus status_matched
DDS_RequestedDeadlineMissedStatus status_deadline_last
DDS_RequestedIncompatibleQosStatus status_qos_last
DDS_LivelinessChangedStatus status_liveliness_last
DDS_SampleLostStatus status_sample_lost_last
DDS_SubscriptionMatchedStatus status_matched_last
RMW_Connext_Subscriber *sub
std::mutex new_data_event_mutex_
rmw_event_callback_t new_data_event_cb_ = {nullptr}
const void *data_event_user_data_ = {nullptr}
uint64_t unread_data_events_count_ = 0

Friends

friend class RMW_Connext_WaitSet
friend void RMW_Connext_DataReaderListener_requested_deadline_missed(void *listener_data, DDS_DataReader *reader, const struct DDS_RequestedDeadlineMissedStatus *status)
friend void RMW_Connext_DataReaderListener_requested_incompatible_qos(void *listener_data, DDS_DataReader *reader, const struct DDS_RequestedIncompatibleQosStatus *status)
friend void RMW_Connext_DataReaderListener_liveliness_changed(void *listener_data, DDS_DataReader *reader, const struct DDS_LivelinessChangedStatus *status)
friend void RMW_Connext_DataReaderListener_sample_lost(void *listener_data, DDS_DataReader *reader, const struct DDS_SampleLostStatus *status)
friend void RMW_Connext_DataReaderListener_on_data_available(void *listener_data, DDS_DataReader *reader)