DDS module

DDS discovery datacentric memory execution serialization platform protocol transport portable system toolchain

Safe DDS implements the DDS (Data Distribution Service) Specification specification defined by the Object Management Group (OMG).

In order to provide flexibility and portability, two different DDS APIs are provided:

  • A classic, factory-based API for DDS that employs controlled memory allocations.

  • A modern C++, object-oriented API for DDS that ensures zero memory allocations.

These Safe DDS APIs are documented in the DDS Layer section. The DDS Layer section also provides a detailed description of the DDS concepts and the DDS API.

Both APIs uses the same underlying DDS implementation, which is based in the concepts defined by the OMG’s DDS Specification:


For reference, the current implementation is compliant with OMG DDS specification v1.4 and OMG DDSI-RTPS specification v2.5.

Classic DDS API

The classic DDS API is a factory-based API that provides a controlled memory allocation via PreallocMemoryConfig and related QoS policies, as explained in Memory management section (see DDS Layer). A example of use of this API can be seen in the Getting Started section as well as in:

Static DDS API

The static DDS API is a modern C++, object-oriented API that ensures zero memory allocation by providing a sightly different API from that of the Classic DDS API (see DDS Layer for more information). The usage of this API is documented in: