RTI Connext Java API Version 7.3.0
|
com.rti.dds.infrastructure.StatusKind.StatusKind.SUBSCRIPTION_MATCHED_STATUS More...
Inherits Status.
Public Attributes | |
int | total_count = 0 |
The total cumulative number of times that this com.rti.dds.subscription.DataReader discovered a "match" with a com.rti.dds.publication.DataWriter. More... | |
int | total_count_change = 0 |
The changes in total_count since the last time the listener was called or the status was read. More... | |
int | current_count = 0 |
The current number of DataWriters with which the com.rti.dds.subscription.DataReader is matched. More... | |
int | current_count_peak = 0 |
<<extension>> Greatest number of DataWriters that matched this DataReader simultaneously. More... | |
int | current_count_change = 0 |
The change in current_count since the last time the listener was called or the status was read. More... | |
final InstanceHandle_t | last_publication_handle = new InstanceHandle_t() |
This InstanceHandle can be used to look up which remote com.rti.dds.publication.DataWriter was the last to cause this DataReader's status to change, using com.rti.dds.subscription.DataReader.get_matched_publication_data. More... | |
com.rti.dds.infrastructure.StatusKind.StatusKind.SUBSCRIPTION_MATCHED_STATUS
A "match" happens when the com.rti.dds.subscription.DataReader finds a com.rti.dds.publication.DataWriter with the same com.rti.dds.topic.Topic, same or compatible data type, and an offered QoS that is compatible with that requested by the com.rti.dds.subscription.DataReader. (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 com.rti.dds.subscription.DataReader will become "unmatched" from a remote com.rti.dds.publication.DataWriter when that com.rti.dds.publication.DataWriter goes away for any of the following reasons:
The com.rti.dds.domain.DomainParticipant containing the matched com.rti.dds.publication.DataWriter has lost liveliness.
This DataReader or the matched DataWriter has changed QoS such that the entities are now incompatible.
This status may reflect changes from multiple match or unmatch events, and the com.rti.dds.subscription.SubscriptionMatchedStatus.current_count_change can be used to determine the number of changes since the listener was called back or the status was checked.
Note: A DataWriter's loss of liveliness (which is determined by com.rti.dds.infrastructure.LivelinessQosPolicyKind) does not trigger an unmatch event. So a DataWriter may still match even though its liveliness is lost.
int total_count = 0 |
The total cumulative number of times that this com.rti.dds.subscription.DataReader discovered a "match" with a com.rti.dds.publication.DataWriter.
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 com.rti.dds.subscription.SubscriptionMatchedStatus.
int total_count_change = 0 |
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 the DataReader ever matched with a DataWriter).
int current_count = 0 |
The current number of DataWriters with which the com.rti.dds.subscription.DataReader 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 com.rti.dds.subscription.SubscriptionMatchedStatus.
int current_count_peak = 0 |
<<extension>> Greatest number of DataWriters that matched this DataReader simultaneously.
That is, there was no moment in time when more than this many DataWriters matched this DataReader. (As a result, total_count can be higher than current_count_peak.)
int current_count_change = 0 |
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 DataWriters have become unmatched for one or more of the reasons described in com.rti.dds.subscription.SubscriptionMatchedStatus.
final InstanceHandle_t last_publication_handle = new InstanceHandle_t() |
This InstanceHandle can be used to look up which remote com.rti.dds.publication.DataWriter was the last to cause this DataReader's status to change, using com.rti.dds.subscription.DataReader.get_matched_publication_data.
If the DataWriter no longer matches this DataReader due to any of the reasons in com.rti.dds.subscription.SubscriptionMatchedStatus except incompatible QoS, then the DataWriter has been purged from this DataReader's DomainParticipant discovery database. (See the "Discovery Overview" section of the User's Manual.) In that case, the com.rti.dds.subscription.DataReader.get_matched_publication_data method will not be able to return information about the DataWriter. The only way to get information about the lost DataWriter is if you cached the information previously.