RTI Connext Traditional C++ API Version 7.1.0
|
DDS_PUBLICATION_MATCHED_STATUS More...
Public Attributes | |
DDS_Long | total_count |
The total cumulative number of times that this DDSDataWriter discovered a "match" with a DDSDataReader. More... | |
DDS_Long | total_count_change |
The changes in total_count since the last time the listener was called or the status was read. More... | |
DDS_Long | current_count |
The current number of DataReaders with which this DDSDataWriter is matched. More... | |
DDS_Long | current_count_peak |
<<extension>> Greatest number of DataReaders that matched this DDSDataWriter simultaneously. More... | |
DDS_Long | current_count_change |
The change in current_count since the last time the listener was called or the status was read. More... | |
DDS_InstanceHandle_t | last_subscription_handle |
This InstanceHandle can be used to look up which remote DDSDataReader was the last to cause this DataWriter's status to change, using DDSDataWriter::get_matched_subscription_data. More... | |
DDS_PUBLICATION_MATCHED_STATUS
A "match" happens when the DDSDataWriter finds a DDSDataReader with the same DDSTopic, same or compatible data type, and requested QoS that is compatible with that offered by the DDSDataWriter. (For information on compatible data types, see the Extensible Types Guide.)
This status is also changed (and the listener, if any, called) when a match is ended. A local DDSDataWriter will become "unmatched" from a remote DDSDataReader when that DDSDataReader goes away for any of the following reasons:
The matched DDSDataReader's DDSDomainParticipant has lost liveliness.
This DataWriter or the matched DataReader has changed QoS such that the entities are now incompatible.
This status may reflect changes from multiple match or unmatch events, and the DDS_PublicationMatchedStatus::current_count_change can be used to determine the number of changes since the listener was called back or the status was checked.
DDS_Long DDS_PublicationMatchedStatus::total_count |
The total cumulative number of times that this DDSDataWriter discovered a "match" with a DDSDataReader.
This number increases whenever a new match is discovered. It does not decrease when an existing match goes away for any of the reasons described in DDS_PublicationMatchedStatus.
DDS_Long DDS_PublicationMatchedStatus::total_count_change |
The changes in total_count since the last time the listener was called or the status was read.
Note that this number will never be negative (because it's the total number of times this DataWriter ever matched with a DataReader).
DDS_Long DDS_PublicationMatchedStatus::current_count |
The current number of DataReaders with which this DDSDataWriter is matched.
This number increases when a new match is discovered and decreases when an existing match goes away for any of the reasons described in DDS_PublicationMatchedStatus.
DDS_Long DDS_PublicationMatchedStatus::current_count_peak |
<<extension>> Greatest number of DataReaders that matched this DDSDataWriter simultaneously.
That is, there was no moment in time when more than this many DataReaders matched this DataWriter. (As a result, total_count can be higher than current_count_peak.)
DDS_Long DDS_PublicationMatchedStatus::current_count_change |
The change in current_count since the last time the listener was called or the status was read.
Note that a negative current_count_change means that one or more DataReaders have become unmatched for one or more of the reasons described in DDS_PublicationMatchedStatus.
DDS_InstanceHandle_t DDS_PublicationMatchedStatus::last_subscription_handle |
This InstanceHandle can be used to look up which remote DDSDataReader was the last to cause this DataWriter's status to change, using DDSDataWriter::get_matched_subscription_data.
If the DataReader no longer matches this DataWriter due to any of the reasons in DDS_PublicationMatchedStatus except incompatible QoS, then the DataReader has been purged from this DataWriter's DomainParticipant discovery database. (See the "Discovery Overview" section of the User's Manual.) In that case, the DDSDataWriter::get_matched_subscription_data method will not be able to return information about the DataReader. The only way to get information about the lost DataReader is if you cached the information previously.