DDS-PSM-C++  1.0
ISO C++ API for OpenSplice DDS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | List of all members
dds::pub::TCoherentSet< DELEGATE > Class Template Reference

#include <TCoherentSet.hpp>

Inheritance diagram for dds::pub::TCoherentSet< DELEGATE >:
Inheritance graph
[legend]

Public Member Functions

 TCoherentSet (const dds::pub::Publisher &pub)
 
 ~TCoherentSet ()
 
void end ()
 
- Public Member Functions inherited from dds::core::Value< DELEGATE >
 Value (const ARG &arg)
 
 Value (const ARG1 &arg1, const ARG2 &arg2)
 
 Value (const ARG1 &arg1, const ARG2 &arg2, const ARG3 &arg3)
 
 Value (const ARG1 &arg1, const ARG2 &arg2, const ARG3 &arg3, const ARG4 &arg4)
 
 Value (const ARG1 &arg1, const ARG2 &arg2, const ARG3 &arg3, const ARG4 &arg4, const ARG5 &arg5)
 
 Value (const ARG1 &arg1, const ARG2 &arg2, const ARG3 &arg3, const ARG4 &arg4, const ARG5 &arg5, const ARG6 &arg6)
 
 ~Value ()
 
const DELEGATE & delegate () const
 
DELEGATE & delegate ()
 
 operator const DELEGATE & () const
 
 operator DELEGATE & ()
 
bool operator!= (const Value &other) const
 
const DELEGATE * operator-> () const
 
DELEGATE * operator-> ()
 
Valueoperator= (const Value &other)
 
bool operator== (const Value &other) const
 

Additional Inherited Members

- Protected Member Functions inherited from dds::core::Value< DELEGATE >
 Value ()
 
 Value (const Value &p)
 
- Protected Attributes inherited from dds::core::Value< DELEGATE >
DELEGATE d_
 

Detailed Description

template<typename DELEGATE>
class dds::pub::TCoherentSet< DELEGATE >

Definition at line 33 of file TCoherentSet.hpp.

Constructor & Destructor Documentation

template<typename DELEGATE >
dds::pub::TCoherentSet< DELEGATE >::TCoherentSet ( const dds::pub::Publisher pub)
explicit

This operation requests that the application will begin a coherent set of modifications using DataWriter objects attached to the Publisher. The coherent set will be completed by a matching call to end. A coherent set is a set of modifications that must be propagated in such a way that they are interpreted at the receivers' side as a consistent set of modifications; that is, the receiver will only be able to access the data after all the modifications in the set are available at the receiver end. A connectivity change may occur in the middle of a set of coherent changes; for example, the set of partitions used by the Publisher or one of its Subscribers may change, a late-joining DataReader may appear on the network, or a communication failure may occur. In the event that such a change prevents an entity from receiving the entire set of coherent changes, that entity must behave as if it had received none of the set. These calls can be nested. In that case, the coherent set terminates only with the last call to end. The support for coherent changes enables a publishing application to change the value of several data-instances that could belong to the same or different topics and have those changes be seen atomically by the readers. This is useful in cases where the values are inter-related. For example, if there are two data instances representing the altitude and velocity vector of the same aircraft and both are changed, it may be useful to communicate those values in a way the reader can see both together; otherwise, it may e.g., erroneously interpret that the aircraft is on a collision course.

template<typename DELEGATE >
dds::pub::TCoherentSet< DELEGATE >::~TCoherentSet ( )

This operation terminates the coherent set initiated by the constructor.

Member Function Documentation

template<typename DELEGATE >
void dds::pub::TCoherentSet< DELEGATE >::end ( )

This operation terminates the coherent set initiated by the constructor. If there is no matching call to the constructor, the operation will raise the PreconditionNotMetError.


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