What it is

Fast RTPS is a high performance publish subscribe framework developed by eProsima to share data in distributed systems using a decoupled model based on Publishers, Subscribers and Data Topics.

eProsima Fast RTPS is striking fast, beating alternatives such as ZeroMQ and other pubsub middleware in both windows and linux.

Fast RTPS has been adopted by many customers, especially in the Robotic market, and powers the next version of ROS (Robot Operating System), de facto standard Robotics Framework.

The framework generates the Publish/Subscribe code from the topic definition using an Interface Definition Language (IDL) allowing the developer focus in his application logic without bothering about the networking details.

eProsima Fast RTPS is free software (Apache License 2.0) with commercial support available, and built onto standards: Fast RTPS is a standalone Cpp implementation of the OMG (Object Management Group) RTPS (Real Time Publish Subscribe) wire protocol.

Why get it

Implement transparent, fast, secure and standard conform communication between applications or services using a friendly and extendable Application Programming interface (API).

Avaliable for:



You can interact with Fast RTPS at two different levels:



In red, the Publisher-Subscriber layer offers a convenient abstraction for most use cases. It allows you to define Publishers and Subscribers associated to a topic, and a simple way to transmit topic data.
In blue, the Writer-Reader layer is closer to the concepts defined in the RTPS standard, and allows for finer control, but requires you to interact directly with history caches for each endpoint.


eProsima Fast RTPS is concurrent and event-based. Each participant spawns a set of threads to take care of background tasks such as logging, message reception and asynchronous communication. This should not impact the way you use the library: the public API is thread safe, so you can fearlessly call any methods on the same participant from different threads. However, it is still useful to know how Fast RTPS schedules work:

  • Main thread: Managed by the application.
  • Event thread: Each participant owns one of these, and it processes periodic and triggered events.
  • Asynchronous writer thread: This thread manages asynchronous writes for all participants. Even for synchronous writers, some forms of communication must be initiated in the background.
  • Reception threads: Participants spawn a thread for each reception channel, where the concept of channel depends on the transport layer (e.g. an UDP port).

There is an event system that enables Fast RTPS to respond to certain conditions, as well as schedule periodic activities. Few of them are visible to the user, since most are related to RTPS metadata. However, you can define your own periodic events by inheriting from the TimedEvent class.


Fast RTPS Fiware Website
Fast RTPS Website


Fast RTPS Documentation


Fast RTPS Download


Fast RTPS Videos