Expand description
Block-F: DDS status mapping (spec idl4-cpp-1.0 §7.4 + dds-1.4 §2.2.4.1).
Emits the 13 OMG DCPS status structures as a C++17 header in the
dds::core::status namespace. The classes follow the reference pattern
from C5.1-a (private storage field_, mutable + const getter, setter).
Spec sources:
- DDS-PSM-CXX 1.0 §7.5.5 (Listener / Status / Condition).
- DDS 1.4 §2.2.4.1 (communication status).
§List of the 13 status classes
| Status | Counter fields |
|---|---|
| InconsistentTopicStatus | total_count, total_count_change |
| SampleLostStatus | total_count, total_count_change |
| SampleRejectedStatus | total_count, total_count_change, last_reason, last_instance_handle |
| LivelinessChangedStatus | alive_count, not_alive_count, alive_count_change, not_alive_count_change, last_publication_handle |
| RequestedDeadlineMissedStatus | total_count, total_count_change, last_instance_handle |
| RequestedIncompatibleQosStatus | total_count, total_count_change, last_policy_id, policies |
| OfferedDeadlineMissedStatus | total_count, total_count_change, last_instance_handle |
| OfferedIncompatibleQosStatus | total_count, total_count_change, last_policy_id, policies |
| LivelinessLostStatus | total_count, total_count_change |
| PublicationMatchedStatus | total_count, total_count_change, current_count, current_count_change, last_subscription_handle |
| SubscriptionMatchedStatus | total_count, total_count_change, current_count, current_count_change, last_publication_handle |
| DataAvailableStatus | (marker only) |
| DataOnReadersStatus | (marker only) |
The statuses marked (marker only) are pure notification markers without
counter (spec DDS 1.4 §2.2.4.1.1.1). They are emitted as empty
classes anyway so that listener signatures are uniform.
Functions§
- emit_
status_ header - Writes the complete status header into
out. - status_
class_ names - Returns the list of all emitted status class names.