Fast DDS Documentation, Release 2.3.4
• Best effort and reliable communication. eProsima Fast DDS supports an optional reliable communication
paradigm over Best Effort communications protocols such as UDP. Furthermore, another way of setting a reliable
communication is to use our TCP transport.
• Transport layers. eProsima Fast DDS implements an architecture of pluggable transports. The current version
implements five transports: UDPv4, UDPv6, TCPv4, TCPv6 and SHM (shared memory).
• Security. eProsima Fast DDS can be configured to provide secure communications. For this purpose, it im-
plements pluggable security at three levels: authentication of remote participants, access control of entities and
encryption of data.
• Statistics Module. eProsima Fast DDS can be configured to gather and provide information about the data being
exchanged by the user application.
• Throughput controllers. We support user-configurable throughput controllers, that can be used to limit the
amount of data to be sent under certain conditions.
• Plug-and-play Connectivity. New applications and services are automatically discovered, and can join and
leave the network at any time without the need for reconfiguration.
• Scalability and Flexibility. DDS builds on the concept of a global data space. The middleware is in charge of
propagating the information between publishers and subscribers. This guarantees that the distributed network is
adaptable to reconfigurations and scalable to a large number of entities.
• Application Portability. The DDS specification includes a platform specific mapping to IDL, allowing an ap-
plication using DDS to switch among DDS implementations with only a re-compile.
• Extensibility. eProsima Fast DDS allows the protocol to be extended and enhanced with new services without
breaking backwards compatibility and interoperability.
• Configurability and Modularity. eProsima Fast DDS provides an intuitive way to be configured, either through
code or XML profiles. Modularity allows simple devices to implement a subset of the protocol and still participate
in the network.
• High performance. eProsima Fast DDS uses a static low-level serialization library, Fast CDR, a C++ library
that serializes according to the standard CDR serialization mechanism defined in the RTPS Specification (see
the Data Encapsulation chapter as a reference).
• Easy to use. The project comes with an out-of-the-box example, the DDSHelloWorld (see Getting Started)
that puts into communication a publisher and a subscriber, showcasing how eProsima Fast DDS is deployed.
Additionally, the interactive demo ShapesDemo is available for the user to dive into the DDS world. The DDS
and the RTPS layers are thoroughly explained in the DDS Layer and RTPS Layer sections.
• Low resources consumption. eProsima Fast DDS:
– Allows to preallocate resources, to minimize dynamic resource allocation.
– Avoids the use of unbounded resources.
– Minimizes the need to copy data.
• Multi-platform. The OS dependencies are treated as pluggable modules. Users may easily implement platform
modules using the eProsima Fast DDS library on their target platforms. By default, the project can run over
Linux, Windows and MacOS.
• Free and Open Source. The Fast DDS library, the underneath RTPS library, the generator tool, the internal
dependencies (such as eProsima Fast CDR) and the external ones (such as the foonathan library) are free and
open source.
6.4. Main Features 15