#include <managed_infrastructure.h>
Static Public Member Functions | |
static System::String^ | get_deadline_qos_policy_name () |
Stringified human-readable name for DDS::DeadlineQosPolicy. | |
Public Attributes | |
Duration_t | period |
Duration of the deadline period. |
A DDS::DataReader expects a new sample updating the value of each instance at least once every period
. That is, period
specifies the maximum expected elapsed time between arriving data samples.
A DDS::DataWriter indicates that the application commits to write a new value (using the DDS::DataWriter) for each instance managed by the DDS::DataWriter at least once every period
.
This QoS can be used during system integration to ensure that applications have been coded to meet design specifications.
It can also be used during run time to detect when systems are performing outside of design specifications. Receiving applications can take appropriate actions to prevent total system failure when data is not received in time. For topics on which data is not expected to be periodic, period
should be set to an infinite value.
When RTI Data Distribution Service 'matches' a DDS::DataWriter and a DDS::DataReader it checks whether the settings are compatible (i.e., offered deadline <= requested deadline); if they are not, the two entities are informed (via the DDS::Listener or DDS::Condition mechanism) of the incompatibility of the QoS settings and communication will not occur.
Assuming that the reader and writer ends have compatible settings, the fulfilment of this contract is monitored by RTI Data Distribution Service and the application is informed of any violations by means of the proper DDS::Listener or DDS::Condition.
For these two policies to be consistent the settings must be such that deadline period >= minimum_separation.
An attempt to set these policies in an inconsistent manner will result in DDS::Retcode_InconsistentPolicy in set_qos (abstract), or the DDS::Entity will not be created.
For a DDS::DataReader, the DEADLINE policy and DDS::TimeBasedFilterQosPolicy may interact such that even though the DDS::DataWriter is writing samples fast enough to fulfill its commitment to its own deadline, the DDS::DataReader may see violations of its deadline. This happens because RTI Data Distribution Service will drop any samples received within the DDS::TimeBasedFilterQosPolicy::minimum_separation. To avoid triggering the DDS::DataReader's deadline, even though the matched DDS::DataWriter is meeting its own deadline, set the two QoS parameters so that:
reader deadline >= reader minimum_separation + writer deadline
See DDS::TimeBasedFilterQosPolicy for more information about the interactions between deadlines and time-based filters.
Duration of the deadline period.
[default] DDS::Duration_t::DURATION_INFINITE
[range] [1 nanosec, 1 year] or DDS::Duration_t::DURATION_INFINITE, >= DDS::TimeBasedFilterQosPolicy::minimum_separation