Madrid, October 2021

The Flow Controllers, included  since the new version 2.4.0 of Fast DDS, are the right solution for wifi and lossy networks, as it allows users to have greater control over the management and performance of information sent through data writers. 

The mechanism of the flow controllers is key to avoid bursts of data that could collapse your network, creating a situation where the send retries and NACK messages are a snowball effect.  

The flow controllers work by enabling the limitation of the rate at which the data is sent by a DataWriter, this way they avoid network overloads in the connection to the data writer. The flow controllers also allow prioritisation between writers and the sending of information.

There are different kinds of flow controllers available in Fast DDS, depending on the scheduling policy used. All of them will limit the number of bytes sent to the network during a period of time, however, each type differs in the order in which the samples are sent:

  • FIFO: will output samples on a first come, first served order. It’s the flow controller available on default.
  • ROUND_ROBIN: will output one sample from each DataWriter in circular order.
  • HIGH_PRIORITY: will output samples from DataWriters with the highest priority first. The priority of a DataWriter is configured using property fastdds.sfc.priority.
  • PRIORITY_WITH_RESERVATION: works as HIGH_PRIORITY, but allows the DataWriters to reserve part of the output bandwidth.

In order to understand which flow controller type suits you better and how to configure it check our Fast DDS Documentation



For more details check the following documentation:


For any questions please contact This email address is being protected from spambots. You need JavaScript enabled to view it.