OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
dds::core::policy::Deadline Class Reference

More...

#include "CorePolicy.hpp"

Inheritance diagram for dds::core::policy::Deadline:
Inheritance graph

Public Member Functions

 Deadline (const dds::core::Duration &period=dds::core::Duration::infinite())
 
 Deadline (const Deadline &other)
 
bool operator!= (const Value &other) const
 
D * operator-> ()
 
const D * operator-> () const
 
bool operator== (const Value &other) const
 
Deadlineperiod (const dds::core::Duration &period)
 
const dds::core::Duration period () const
 

Detailed Description

This QosPolicy defines the period within which a new sample is expected by the DataReader or to be written by the DataWriter.

Attributes

Value Meaning Concerns RxO Changeable
A duration:
period
DataReader expects a new sample updating the value of each instance at least once every deadline period. DataWriter indicates that the application commits to write a new value (using the DataWriter) for each instance managed by the DataWriter at least once every deadline period. It is inconsistent for a DataReader to have a DEADLINE period less than its TIME_BASED_FILTER's minimum_separation. The default value of the deadline period is infinite. Topic, DataReader, DataWriter Yes Yes

This policy is useful for cases where a 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 the Service ‘matches’ a DataWriter and a DataReader it checks whether the settings are compatible (i.e., offered deadline period<= requested deadline period) if they are not, the two entities are informed (via the listener or 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 the Service and the application is informed of any violations by means of the proper listener or condition.

The value offered is considered compatible with the value requested if and only if the inequality “offered deadline period <= requested deadline period” evaluates to ‘TRUE.’

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.”

Definition at line 410 of file CorePolicy.hpp.

Constructor & Destructor Documentation

◆ Deadline() [1/2]

dds::core::policy::Deadline::Deadline ( const dds::core::Duration period = dds::core::Duration::infinite())
explicit

Creates a Deadline QoS instance

Parameters
perioddeadline period

Definition at line 358 of file CorePolicyImpl.hpp.

◆ Deadline() [2/2]

dds::core::policy::Deadline::Deadline ( const Deadline other)

Copies a Deadline QoS instance

Parameters
otherthe Deadline QoS instance to copy

Definition at line 361 of file CorePolicyImpl.hpp.

Member Function Documentation

◆ operator!=()

template<typename D >
bool dds::core::Value< D >::operator!= ( const Value< D > &  other) const
inherited

Compare this Value with another Value

Parameters
otherValue
Returns
true if not equal

Definition at line 99 of file Value.hpp.

◆ operator->() [1/2]

template<typename D >
D * dds::core::Value< D >::operator-> ( )
inherited

The operator->() is provided to be able to directly invoke functions on the delegate.

The decision to provide direct access to the delegate was motivated by the need for providing a way that was not invasive with respect to the CXXDDS API and yet would allow for vendor-specific extension. Thus vendor-specific extensions can be invoked on the Value and on all its subclasses as follows:

my_dds_value.standard_function();
my_dds_value->vendor_specific_extension();
Returns
a reference to delegate.

Definition at line 111 of file Value.hpp.

◆ operator->() [2/2]

template<typename D >
const D * dds::core::Value< D >::operator-> ( ) const
inherited

The operator->() is provided to be able to directly invoke functions on the delegate.

The decision to provide direct access to the delegate was motivated by the need for providing a way that was not invasive with respect to the CXXDDS API and yet would allow for vendor-specific extension. Thus vendor-specific extensions can be invoked on the Value and on all its subclasses as follows:

my_dds_value.standard_function();
my_dds_value->vendor_specific_extension();
Returns
a reference to delegate.

Definition at line 105 of file Value.hpp.

◆ operator==()

template<typename D >
bool dds::core::Value< D >::operator== ( const Value< D > &  other) const
inherited

Compare this Value with another Value

Parameters
otherValue
Returns
true if equal

Definition at line 93 of file Value.hpp.

◆ period() [1/2]

Deadline & dds::core::policy::Deadline::period ( const dds::core::Duration period)

Sets the deadline period

Parameters
perioddeadline period

Definition at line 364 of file CorePolicyImpl.hpp.

◆ period() [2/2]

const dds::core::Duration dds::core::policy::Deadline::period ( ) const

Gets the deadline period

Returns
deadline period

Definition at line 371 of file CorePolicyImpl.hpp.


The documentation for this class was generated from the following files: