RTI Connext Modern C++ API  Version 6.1.0
dds::core::policy::LatencyBudget Class Reference

Provides a hint as to the maximum acceptable delay from the time the data is written to the time it is received by the subscribing applications. More...

#include <dds/core/policy/CorePolicy.hpp>

Public Member Functions

 LatencyBudget ()
 Creates a latency budget with zero duration. More...
 
 LatencyBudget (const dds::core::Duration &the_duration)
 Creates an instance with the specified duration. More...
 
LatencyBudgetduration (const dds::core::Duration &the_duration)
 Sets the duration of the maximum acceptable delay. More...
 
const dds::core::Duration duration () const
 Getter (see setter with the same name) More...
 

Detailed Description

Provides a hint as to the maximum acceptable delay from the time the data is written to the time it is received by the subscribing applications.

This policy is a hint to a DDS implementation; it can be used to change how it processes and sends data that has low latency requirements. The DDS specification does not mandate whether or how this policy is used.

Entity:
dds::topic::Topic, dds::sub::DataReader, dds::pub::DataWriter
Status:
dds::core::status::StatusMask::offered_incompatible_qos(), dds::core::status::StatusMask::requested_incompatible_qos()
Properties:
RxO = YES
Changeable = YES
See also
rti::core::policy::PublishMode
rti::pub::FlowController

Usage

This policy provides a means for the application to indicate to the middleware the urgency of the data communication. By having a non-zero duration, RTI Connext can optimize its internal operation.

RTI Connext uses it in conjunction with rti::core::policy::PublishModeKind_def::ASYNCHRONOUS dds::pub::DataWriter instances associated with a FlowControllerSchedulingPolicy_def::EARLIEST_DEADLINE_FIRST rti::pub::FlowController only. Together with the time of write, dds::core::policy::LatencyBudget::duration determines the deadline of each individual sample. RTI Connext uses this information to prioritize the sending of asynchronously published data; see rti::core::policy::AsynchronousPublisher.

Compatibility

The value offered is considered compatible with the value requested if and only if the inequality offered duration <= requested duration evaluates to 'TRUE'.

Constructor & Destructor Documentation

◆ LatencyBudget() [1/2]

dds::core::policy::LatencyBudget::LatencyBudget ( )
inline

Creates a latency budget with zero duration.

◆ LatencyBudget() [2/2]

dds::core::policy::LatencyBudget::LatencyBudget ( const dds::core::Duration the_duration)
inlineexplicit

Creates an instance with the specified duration.

Member Function Documentation

◆ duration() [1/2]

LatencyBudget& dds::core::policy::LatencyBudget::duration ( const dds::core::Duration the_duration)
inline

Sets the duration of the maximum acceptable delay.

[default] 0 (meaning minimize the delay)

◆ duration() [2/2]

const dds::core::Duration dds::core::policy::LatencyBudget::duration ( ) const
inline

Getter (see setter with the same name)