RTI Connext C API Version 7.3.0

This QoS policy specifies whether or not RTI Connext will store and deliver previously published data samples to new DDS_DataReader entities that join the network later. More...

Data Structures

struct  DDS_PersistentStorageSettings
 Configures durable writer history and durable reader state. More...
 
struct  DDS_DurabilityQosPolicy
 This QoS policy specifies whether or not RTI Connext will store and deliver previously published data samples to new DDS_DataReader entities that join the network later. More...
 

Enumerations

enum  DDS_PersistentJournalKind {
  DDS_DELETE_PERSISTENT_JOURNAL ,
  DDS_TRUNCATE_PERSISTENT_JOURNAL ,
  DDS_PERSIST_PERSISTENT_JOURNAL ,
  DDS_MEMORY_PERSISTENT_JOURNAL ,
  DDS_WAL_PERSISTENT_JOURNAL ,
  DDS_OFF_PERSISTENT_JOURNAL
}
 Sets the journal mode of the persistent storage. More...
 
enum  DDS_PersistentSynchronizationKind {
  DDS_NORMAL_PERSISTENT_SYNCHRONIZATION ,
  DDS_FULL_PERSISTENT_SYNCHRONIZATION ,
  DDS_OFF_PERSISTENT_SYNCHRONIZATION
}
 Determines the level of synchronization with the physical disk. More...
 
enum  DDS_DurabilityQosPolicyKind {
  DDS_VOLATILE_DURABILITY_QOS ,
  DDS_TRANSIENT_LOCAL_DURABILITY_QOS ,
  DDS_TRANSIENT_DURABILITY_QOS ,
  DDS_PERSISTENT_DURABILITY_QOS
}
 Kinds of durability. More...
 

Variables

const char *const DDS_DURABILITY_QOS_POLICY_NAME
 Stringified human-readable name for DDS_DurabilityQosPolicy. More...
 
const DDS_Long DDS_AUTO_WRITER_DEPTH
 A special value used as the default value for DDS_DurabilityQosPolicy::writer_depth. More...
 

Detailed Description

This QoS policy specifies whether or not RTI Connext will store and deliver previously published data samples to new DDS_DataReader entities that join the network later.

Enumeration Type Documentation

◆ DDS_PersistentJournalKind

Sets the journal mode of the persistent storage.

The rollback journal is used in SQLite to store the state of the persistent storage before a transaction is committed.

QoS:
DDS_DurabilityQosPolicy
Enumerator
DDS_DELETE_PERSISTENT_JOURNAL 

Deletes the rollback journal at the conclusion of each transaction.

DDS_TRUNCATE_PERSISTENT_JOURNAL 

Commits transactions by truncating the rollback journal to zero-length instead of deleting it.

DDS_PERSIST_PERSISTENT_JOURNAL 

Prevents the rollback journal from being deleted at the end of each transaction. Instead, the header of the journal is overwritten with zeros.

DDS_MEMORY_PERSISTENT_JOURNAL 

Stores the rollback journal in volatile RAM. This saves disk I/O.

DDS_WAL_PERSISTENT_JOURNAL 

Uses a write-ahead log instead of a rollback journal to implement transactions.

DDS_OFF_PERSISTENT_JOURNAL 

Completely disables the rollback journal. If the application crashes in the middle of a transaction when the OFF journaling mode is set, the persistent storage will very likely be corrupted.

◆ DDS_PersistentSynchronizationKind

Determines the level of synchronization with the physical disk.

QoS:
DDS_DurabilityQosPolicy
Enumerator
DDS_NORMAL_PERSISTENT_SYNCHRONIZATION 

Data (e.g., new sample) is written to disk at critical moments.

DDS_FULL_PERSISTENT_SYNCHRONIZATION 

Data (e.g., new sample) is written to physical disk immediately.

DDS_OFF_PERSISTENT_SYNCHRONIZATION 

No synchronization is enforced. Data will be written to physical disk when the operating system flushes its buffers.

◆ DDS_DurabilityQosPolicyKind

Kinds of durability.

QoS:
DDS_DurabilityQosPolicy
Enumerator
DDS_VOLATILE_DURABILITY_QOS 

[default] RTI Connext does not need to keep any samples of data instances on behalf of any DDS_DataReader that is unknown by the DDS_DataWriter at the time the instance is written.

In other words, RTI Connext will only attempt to provide the data to existing subscribers.

This option does not require RTI Persistence Service.

DDS_TRANSIENT_LOCAL_DURABILITY_QOS 

RTI Connext will attempt to keep some samples so that they can be delivered to any potential late-joining DDS_DataReader.

Which particular samples are kept depends on other QoS such as DDS_HistoryQosPolicy and DDS_ResourceLimitsQosPolicy. RTI Connext is only required to keep the data in memory of the DDS_DataWriter that wrote the data.

Data is not required to survive the DDS_DataWriter.

For this setting to be effective, you must also set the DDS_ReliabilityQosPolicy::kind to DDS_RELIABLE_RELIABILITY_QOS.

This option does not require RTI Persistence Service.

DDS_TRANSIENT_DURABILITY_QOS 

RTI Connext will attempt to keep some samples so that they can be delivered to any potential late-joining DDS_DataReader.

Which particular samples are kept depends on other QoS such as DDS_HistoryQosPolicy and DDS_ResourceLimitsQosPolicy. RTI Connext is only required to keep the data in memory and not in permanent storage.

Data is not tied to the lifecycle of the DDS_DataWriter.

Data will survive the DDS_DataWriter.

This option requires RTI Persistence Service.

DDS_PERSISTENT_DURABILITY_QOS 

Data is kept on permanent storage, so that they can outlive a system session.

This option requires RTI Persistence Service.

Variable Documentation

◆ DDS_DURABILITY_QOS_POLICY_NAME

const char* const DDS_DURABILITY_QOS_POLICY_NAME
extern

Stringified human-readable name for DDS_DurabilityQosPolicy.

◆ DDS_AUTO_WRITER_DEPTH

const DDS_Long DDS_AUTO_WRITER_DEPTH
extern

A special value used as the default value for DDS_DurabilityQosPolicy::writer_depth.

This values resolves to the following: