Skip to content

Commit 2f13163

Browse files
alvarillo89Alvaro Fernandez
and
Alvaro Fernandez
authored
CORE-14969: Remove asynchronous publishing from examples in which it is no longer needed (#700)
* Remove asynchronous publishing from examples in which it is no longer needed * Address documentation changes --------- Co-authored-by: Alvaro Fernandez <alvaro@rti.com>
1 parent 7c2d007 commit 2f13163

File tree

8 files changed

+11
-63
lines changed

8 files changed

+11
-63
lines changed

examples/connext_dds/flat_data_latency/c++11/README.md

+8-7
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,14 @@ feature:
4949

5050
The FlatData profile used in this example inherits from the builtin
5151
`StrictReliable.LargeData` profile. This builtin profile sets up the middleware
52-
for sending large data by using Asynchronous Pubisher, a default Flow Controller
53-
and other optimizations. In the FlatData profile, the *Durability QoS* of the
54-
DataWriter is set to volatile to enable managed samples to be reused when they
55-
are acknowledged. The *DataRepresentation QoS* is set to *Extended CDR version
56-
2* at both the DataWriter and the DataReader as FlatData language binding is
57-
only supported with this data representation. The tranport settings of the
58-
participant are also tuned to ensure reduced latency while sending large data.
52+
for sending large data by enabling some optimizations in the reliability
53+
protocol, the history, and the handling of dynamic memory allocations. In the
54+
FlatData profile, the *Durability QoS* of the DataWriter is set to volatile to
55+
enable managed samples to be reused when they are acknowledged. The
56+
*DataRepresentation QoS* is set to *Extended CDR version 2* on both the
57+
DataWriter and the DataReader since FlatData language binding is only supported
58+
with this data representation. The transport settings of the participant are
59+
also tuned to ensure reduced latency while sending large data.
5960

6061
## Building the Example :wrench:
6162

examples/connext_dds/flat_data_latency/c++11/USER_QOS_PROFILES.xml

-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
-->
2020
<qos_library name="CameraImage_Library">
2121

22-
<!-- Base for profiles that need asynchronous publisher (flat_types
23-
and plain_types) -->
2422
<qos_profile name="FlatData"
2523
base_name="BuiltinQosLibExp::Generic.StrictReliable.LargeData" is_default_qos="true">
2624
<datawriter_qos>

examples/connext_dds/fragmented_data_statistics/c++11/USER_QOS_PROFILES.xml

-9
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,6 @@
2424
A QoS profile groups a set of related QoS.
2525
-->
2626
<qos_profile name="fragment_Profile" base_name="BuiltinQosLib::Generic.StrictReliable" is_default_qos="true">
27-
<!-- QoS used to configure the data writer created in the example code -->
28-
<datawriter_qos>
29-
30-
<!-- QoS for asynchronous publishing -->
31-
<publish_mode>
32-
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
33-
<flow_controller_name>DDS_FIXED_RATE_FLOW_CONTROLLER_NAME</flow_controller_name>
34-
</publish_mode>
35-
</datawriter_qos>
3627
<domain_participant_qos>
3728
<transport_builtin>
3829
<shmem>

examples/connext_dds/fragmented_data_statistics/c++98/USER_QOS_PROFILES.xml

-9
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,6 @@
2424
A QoS profile groups a set of related QoS.
2525
-->
2626
<qos_profile name="fragment_Profile" base_name="BuiltinQosLib::Generic.StrictReliable" is_default_qos="true">
27-
<!-- QoS used to configure the data writer created in the example code -->
28-
<datawriter_qos>
29-
30-
<!-- QoS for asynchronous publishing -->
31-
<publish_mode>
32-
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
33-
<flow_controller_name>DDS_FIXED_RATE_FLOW_CONTROLLER_NAME</flow_controller_name>
34-
</publish_mode>
35-
</datawriter_qos>
3627
<domain_participant_qos>
3728
<transport_builtin>
3829
<shmem>

examples/connext_dds/fragmented_data_statistics/c/USER_QOS_PROFILES.xml

-9
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,6 @@
2424
A QoS profile groups a set of related QoS.
2525
-->
2626
<qos_profile name="fragment_Profile" base_name="BuiltinQosLib::Generic.StrictReliable" is_default_qos="true">
27-
<!-- QoS used to configure the data writer created in the example code -->
28-
<datawriter_qos>
29-
30-
<!-- QoS for asynchronous publishing -->
31-
<publish_mode>
32-
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
33-
<flow_controller_name>DDS_FIXED_RATE_FLOW_CONTROLLER_NAME</flow_controller_name>
34-
</publish_mode>
35-
</datawriter_qos>
3627
<domain_participant_qos>
3728
<transport_builtin>
3829
<shmem>

examples/connext_dds/fragmented_data_statistics/java/USER_QOS_PROFILES.xml

-9
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,6 @@
2424
A QoS profile groups a set of related QoS.
2525
-->
2626
<qos_profile name="fragment_Profile" base_name="BuiltinQosLib::Generic.StrictReliable" is_default_qos="true">
27-
<!-- QoS used to configure the data writer created in the example code -->
28-
<datawriter_qos>
29-
30-
<!-- QoS for asynchronous publishing -->
31-
<publish_mode>
32-
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
33-
<flow_controller_name>DDS_FIXED_RATE_FLOW_CONTROLLER_NAME</flow_controller_name>
34-
</publish_mode>
35-
</datawriter_qos>
3627
<domain_participant_qos>
3728
<transport_builtin>
3829
<shmem>

examples/connext_dds/high_priority_first_flow_controller/README.md

+3-5
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ actual samples based on the scheduling policy specified by the flow controller.
1515

1616
Large data is defined as samples larger than the message_size_max of the
1717
installed transports. Sending large data requires a sample to be fragmented into
18-
smaller messages, and reassembled at the other end. Sending large data RELIABLY
19-
requires the use of an asynchronous publisher.
18+
smaller messages, and reassembled at the other end.
2019

21-
The default QoS configuration must be modified to use a high priority flow
20+
The default QoS configuration can be modified to use a high priority flow
2221
controller and asynchronous publishing. Further optimizations can be made for
2322
large data.
2423

@@ -70,8 +69,7 @@ Flow Controller. The stock examples is modified as follows:
7069
HPF_MAX_PAYLOAD_SIZE = 8192*16; // 131MB
7170
```
7271

73-
so that we can easily test the the flow controller with asynchronous large
74-
data.
72+
so that we can easily test the the flow controller with large data.
7573

7674
2. A HelloWorld example is generated in C++
7775

examples/connext_dds/real_time_wan_transport/c++98/USER_QOS_PROFILES.xml

-13
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,6 @@
2929
<sec>5</sec>
3030
<nanosec>0</nanosec>
3131
</participant_liveliness_assert_period>
32-
<!-- Required when IP fragmentation is disabled -->
33-
<publication_writer_publish_mode>
34-
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
35-
</publication_writer_publish_mode>
36-
<subscription_writer_publish_mode>
37-
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
38-
</subscription_writer_publish_mode>
39-
<secure_volatile_writer_publish_mode>
40-
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
41-
</secure_volatile_writer_publish_mode>
42-
<service_request_writer_publish_mode>
43-
<kind>ASYNCHRONOUS_PUBLISH_MODE_QOS</kind>
44-
</service_request_writer_publish_mode>
4532
</discovery_config>
4633
<property>
4734
<value>

0 commit comments

Comments
 (0)