DDS-PSM-C++ 1.0 ISO C++ API for OpenSplice DDS |
#include <TCoherentSet.hpp>
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-> () |
Value & | operator= (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_ |
Definition at line 33 of file TCoherentSet.hpp.
| 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.
dds::pub::TCoherentSet< DELEGATE >::~TCoherentSet | ( | ) |
This operation terminates the coherent set initiated by the constructor.
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.