eProsima Fast RTPS Documentation¶

eprosima Fast RTPS is a C++ implementation of the RTPS (Real Time Publish-Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium. RTPS is also the wire interoperability protocol defined for the Data Distribution Service (DDS) standard, again by the OMG. eProsima Fast RTPS holds the benefit of being standalone and up-to-date, as most vendor solutions either implement RTPS as a tool to implement DDS or use past versions of the specification.
Some of the main features of this library are:
- Configurable best-effort and reliable publish-subscribe communication policies for real-time applications.
- Plug and play connectivity so that any new applications are automatically discovered by any other members of the network.
- Modularity and scalability to allow continuous growth with complex and simple devices in the network.
- Configurable network behavior and interchangeable transport layer: Choose the best protocol and system input/output channel combination for each deployment.
- Two API Layers: a high-level Publisher-Subscriber one focused on usability and a lower-level Writer-Reader one that provides finer access to the inner workings of the RTPS protocol.
eProsima Fast RTPS has been adopted by multiple organizations in many sectors including these important cases:
- Robotics: ROS (Robotic Operating System) as their default middleware for ROS2.
- EU R&D: FIWARE Incubated GE.
This documentation is organized into the following sections:
Installation manual¶
User Manual¶
- Getting Started
- Library Overview
- Objects and Data Structures
- Publisher-Subscriber Layer
- Writer-Reader Layer
- Advanced Functionalities
- Security
- Authentication plugins
- Access control plugins
- Cryptographic plugins
- Built-in plugins
- Auth:PKI-DH
- Access:Permissions
- Permissions CA Certificate
- Domain Governance Document
- Domain Rules
- Domains element
- Allow Unauthenticated Participants element
- Enable Join Access Control element
- Discovery Protection Kind element
- Liveliness Protection Kind element
- RTPS Protection Kind element
- Topic Rule Section
- Topic expression element
- Enable Discovery protection element
- Enable Liveliness Protection element
- Enable Read Access Control element
- Enable Write Access Control element
- Metadata Protection Kind element
- Data Protection Kind element
- Participant permissions document
- Signing documents using x509 certificate
- Crypto:AES-GCM-GMAC
- Example: configuring the
Participant
- Dynamic Topic Types
- Persistence
- XML profiles
- Code generation using fastrtpsgen
FastRTPSGen Manual¶