RTI Connext Java API  Version 5.0.0
DeadlineQosPolicy Class Reference

Expresses the maximum duration (deadline) within which an instance is expected to be updated. More...

Inheritance diagram for DeadlineQosPolicy:
QosPolicy

Public Attributes

final Duration_t period
 Duration of the deadline period.
 
- Public Attributes inherited from QosPolicy
final QosPolicyId_t id
 The ID of this QoS policy.
 
final String policy_name
 The name of this QoS policy.
 

Additional Inherited Members

- Public Member Functions inherited from Struct
abstract boolean equals (Object obj)
 
abstract int hashCode ()
 
String toString ()
 
- Protected Member Functions inherited from Struct
 Struct ()
 
abstract void pull_from_nativeI (long native_status)
 
abstract void push_to_nativeI (long native_status)
 

Detailed Description

Expresses the maximum duration (deadline) within which an instance is expected to be updated.

A com.rti.dds.subscription.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 com.rti.dds.publication.DataWriter indicates that the application commits to write a new value (using the com.rti.dds.publication.DataWriter) for each instance managed by the com.rti.dds.publication.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.

Entity:
com.rti.dds.topic.Topic, com.rti.dds.subscription.DataReader, com.rti.dds.publication.DataWriter
Status:
com.rti.dds.infrastructure.StatusKind.StatusKind.OFFERED_DEADLINE_MISSED_STATUS, com.rti.dds.infrastructure.StatusKind.StatusKind.REQUESTED_DEADLINE_MISSED_STATUS, com.rti.dds.infrastructure.StatusKind.StatusKind.OFFERED_INCOMPATIBLE_QOS_STATUS, com.rti.dds.infrastructure.StatusKind.StatusKind.REQUESTED_INCOMPATIBLE_QOS_STATUS
Properties:
RxO = YES
Changeable = YES

Usage

This policy is useful for cases where a com.rti.dds.topic.Topic is expected to have each instance updated periodically. On the publishing side this setting establishes a contract that the application must meet. On the subscribing side the setting establishes a minimum requirement for the remote publishers that are expected to supply the data values.

When RTI Connext 'matches' a com.rti.dds.publication.DataWriter and a com.rti.dds.subscription.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 com.rti.dds.infrastructure.Listener or com.rti.dds.infrastructure.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 Connext and the application is informed of any violations by means of the proper com.rti.dds.infrastructure.Listener or com.rti.dds.infrastructure.Condition.

Compatibility

The value offered is considered compatible with the value requested if and only if the inequality offered period <= requested period holds.

Consistency

The setting of the DEADLINE policy must be set consistently with that of the TIME_BASED_FILTER.

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 com.rti.dds.infrastructure.RETCODE_INCONSISTENT_POLICY in set_qos (abstract), or the com.rti.dds.infrastructure.Entity will not be created.

For a com.rti.dds.subscription.DataReader, the DEADLINE policy and com.rti.dds.infrastructure.TimeBasedFilterQosPolicy may interact such that even though the com.rti.dds.publication.DataWriter is writing samples fast enough to fulfill its commitment to its own deadline, the com.rti.dds.subscription.DataReader may see violations of its deadline. This happens because RTI Connext will drop any samples received within the com.rti.dds.infrastructure.TimeBasedFilterQosPolicy.minimum_separation. To avoid triggering the com.rti.dds.subscription.DataReader's deadline, even though the matched com.rti.dds.publication.DataWriter is meeting its own deadline, set the two QoS parameters so that:

reader deadline >= reader minimum_separation + writer deadline

See com.rti.dds.infrastructure.TimeBasedFilterQosPolicy for more information about the interactions between deadlines and time-based filters.

See Also
com.rti.dds.infrastructure.TimeBasedFilterQosPolicy

Member Data Documentation

final Duration_t period

Duration of the deadline period.

[default] com.rti.dds.infrastructure.Duration_t.INFINITE

[range] [1 nanosec, 1 year] or com.rti.dds.infrastructure.Duration_t.INFINITE, >= com.rti.dds.infrastructure.TimeBasedFilterQosPolicy.minimum_separation


RTI Connext Java API Version 5.0.0 Copyright © Thu Aug 30 2012 Real-Time Innovations, Inc