Persistence Service is a Connext DDS application that is configured to persist topic data. Persistence Service is included with the Connext DDS Professional, Evaluation, and Basic package types. For each one of the topics that must be persisted for a specific domain, the service will create a DataWriter (known as PRSTDataWriter) and a DataReader (known as PRSTDataReader). The samples received by the PRSTDataReaders will be published by the corresponding PRSTDataWriters to be available for late-joining DataReaders.
For more information on Persistence Service, please see:
Persistence Service can be configured to operate in PERSISTENT or TRANSIENT mode:
Peer-to-Peer Communication:
By default, a PERSISTENT/TRANSIENT DataReader will receive samples directly from the original DataWriter if it is still alive. In this scenario, the DataReader may also receive the same samples from Persistence Service. Duplicates will be discarded at the middleware level. This Peer-To-Peer communication pattern is illustrated in Figure 6. To use this peer-to-peer communication pattern, set the direct_communication field in the DURABILITY QosPolicy to TRUE. A PERSISTENT/TRANSIENT DataReader will receive information directly from PERSISTENT/TRANSIENT DataWriters.
Figure 6 Peer-to-Peer Communication
Relay Communication
A PERSISTENT/TRANSIENT DataReader may also be configured to not receive samples from the original DataWriter. In this case the traffic is relayed by Persistence Service. This ‘relay communication’ pattern is illustrated in Figure 7. To use relay communication, set the direct_communication field in the DURABILITY QosPolicy to FALSE. A PERSISTENT/TRANSIENT DataReader will receive all the information from Persistence Service.
© 2016 RTI