From f3f4f0e8e7b234b3b999564b7c9f900ca44b796b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20Dom=C3=ADnguez=20L=C3=B3pez?= <116071334+Mario-DL@users.noreply.github.com> Date: Thu, 6 Jun 2024 12:49:12 +0200 Subject: [PATCH] Add XML configuration for FlowControllerDescriptor to 2.x (#793) * Refs #21136: Add XML Flow Controller Descriptors documentation Signed-off-by: Mario Dominguez * Refs #21136: Apply rev Signed-off-by: Mario Dominguez * Refs #21136: Fix XML repr. Signed-off-by: Mario Dominguez --------- Signed-off-by: Mario Dominguez --- code/DDSCodeTester.cpp | 2 ++ code/XMLTester.xml | 27 ++++++++++++++++++- .../core/policy/eprosimaExtensions.rst | 3 +++ .../use_cases/large_data/large_data.rst | 8 ++++-- 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/code/DDSCodeTester.cpp b/code/DDSCodeTester.cpp index 0eae142eb..fe7f31273 100644 --- a/code/DDSCodeTester.cpp +++ b/code/DDSCodeTester.cpp @@ -4094,6 +4094,8 @@ void dds_qos_examples() //The PublishModeQosPolicy is default constructed with kind = SYNCHRONOUS //Change the kind to ASYNCHRONOUS publish_mode.kind = ASYNCHRONOUS_PUBLISH_MODE; + // Optionally, select the flow controller name + publish_mode.flow_controller_name = "example_flow_controller"; //!-- } diff --git a/code/XMLTester.xml b/code/XMLTester.xml index 681b44371..3e3ddc898 100644 --- a/code/XMLTester.xml +++ b/code/XMLTester.xml @@ -820,8 +820,32 @@ --> + + + + + example_flow_controller + FIFO + 4096 + 500 + + -1 + 0 + 0 + -1 + + + + + + - + + + ASYNCHRONOUS + example_flow_controller + + <--> @@ -830,6 +854,7 @@ ASYNCHRONOUS + example_flow_controller diff --git a/docs/fastdds/dds_layer/core/policy/eprosimaExtensions.rst b/docs/fastdds/dds_layer/core/policy/eprosimaExtensions.rst index e25e3b672..2d3b2da4f 100644 --- a/docs/fastdds/dds_layer/core/policy/eprosimaExtensions.rst +++ b/docs/fastdds/dds_layer/core/policy/eprosimaExtensions.rst @@ -548,6 +548,9 @@ There are two possible values (see |PublishModeQosPolicyKind-api|): * |ASYNCHRONOUS_PUBLISH_MODE-api|: An internal thread takes the responsibility of sending the data asynchronously. The write operation returns before the data is actually sent. +Also, the |PublishModeQosPolicy::flow_ctrl_name-api| has to be set to the name of a valid :ref:`flow-controllers` +descriptor name. + Example """"""" diff --git a/docs/fastdds/use_cases/large_data/large_data.rst b/docs/fastdds/use_cases/large_data/large_data.rst index b2e48bf86..fc41b5150 100644 --- a/docs/fastdds/use_cases/large_data/large_data.rst +++ b/docs/fastdds/use_cases/large_data/large_data.rst @@ -258,8 +258,12 @@ Example configuration .. tab:: XML - There is currently no way of configuring flow controllers with XML. - This will be added in future releases of the product. + .. literalinclude:: /../code/XMLTester.xml + :language: xml + :start-after: CONF-QOS-FLOWCONTROLLER + :end-before: <--> + :lines: 2-3, 5- + :append: .. Warning::