-
Key: DDS15-244
-
Status: open
-
Source: Object Computing, Inc. - OCI ( Mr. Adam Mitz)
-
Summary:
Plain Communication Status structures may undergo multiple changes between the time the first event occurs and when the application reads/resets the Plain Communication Status. This results in loss of important data that DDS should make available to the application. It is more likely to occur when using the WaitSet/StatusCondition mechanism instead of Listeners, but may occur with Listeners depending on how the implementation determines when to invoke the Listener.
For example, an application creates a DataReader that uses Deadline QoS. In order to monitor for Deadline violations, the application gets the reader's StatusCondition and adds it to a WaitSet. If that Condition becomes active, the application invokes get_requested_deadline_missed_status to determine which instance experienced the deadline violation (using last_instance_handle). However, in the case that multiple instances have deadline violations since the last time status was checked (total_count_change > 1), the identity of all but the last of those instances is not available to the application.
This same concept applies to any of the uses of "last_*" in the Plain Communication Status structures.
-
Reported: DDS 1.4 — Tue, 2 Oct 2018 17:44 GMT
-
Updated: Tue, 2 Oct 2018 17:44 GMT
DDS15 — Communication Status changes for multiple events
- Key: DDS15-244
- OMG Task Force: Data Distribution Service 1.5 RTF