Skip to content

Commit

Permalink
Refs #20020: Aplly revision's changes
Browse files Browse the repository at this point in the history
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
  • Loading branch information
cferreiragonz committed Dec 19, 2023
1 parent b6c8cf4 commit 0c4d116
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 64 deletions.
1 change: 0 additions & 1 deletion code/DDSCodeTester.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4625,7 +4625,6 @@ void dds_transport_examples ()
{
//CONF-TCP-TRANSPORT-BUILTIN-TRANSPORT
eprosima::fastdds::dds::DomainParticipantQos qos;

qos.setup_transports(eprosima::fastdds::rtps::BuiltinTransports::LARGE_DATA);
//!--
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ Internally it contains the following |QosPolicy-api| objects:
- |DomainParticipantQos::wire_protocol-api|
- No*
* - |TransportConfigQos|
- |DomainParticipantQos::transport-api|
- |DomainParticipantQos::transport-api| and
|DomainParticipantQos::setup_transports-api|
- No
* - |FlowControllersQos|
- |DomainParticipantQos::flow_controllers-api|
Expand Down
25 changes: 13 additions & 12 deletions docs/fastdds/env_vars/env_vars.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,27 +70,28 @@ All existing values, along with a brief description, are shown below:
+----------------------------+------------------------------------------------------------------------------+
| Builtin Transports Options | Description |
+============================+==============================================================================+
| NONE | No transport will be instantiated. Hence, the user must manually add |
| ``NONE`` | No transport will be instantiated. Hence, the user must manually add |
| | the desired |br| transports. Otherwise, the participant creation will fail. |
+----------------------------+------------------------------------------------------------------------------+
| DEFAULT | UDPv4 and SHM transports will be instantiated. SHM transport has priority |
| ``DEFAULT`` | UDPv4 and SHM transports will be instantiated. SHM transport has priority |
| | over the UDPv4 |br| transport. Meaning that SHM will always be used |
| | in case it is possible. |
| | when possible. |
+----------------------------+------------------------------------------------------------------------------+
| DEFAULTv6 | UDPv6 and SHM transports will be instantiated. SHM transport has priority |
| ``DEFAULTv6`` | UDPv6 and SHM transports will be instantiated. SHM transport has priority |
| | over the UDPv4 |br| transport. Meaning that SHM will always be used |
| | in case it is possible. |
| | when possible. |
+----------------------------+------------------------------------------------------------------------------+
| SHM | Only a SHM transport will be instantiated. |
| ``SHM`` | Only a SHM transport will be instantiated. |
+----------------------------+------------------------------------------------------------------------------+
| UDPv4 | Only a UDPv4 transport will be instantiated. |
| ``UDPv4`` | Only a UDPv4 transport will be instantiated. |
+----------------------------+------------------------------------------------------------------------------+
| UDPv6 | Only a UDPv6 transport will be instantiated. |
| ``UDPv6`` | Only a UDPv6 transport will be instantiated. |
+----------------------------+------------------------------------------------------------------------------+
| LARGE_DATA | UDPv4, TCPv4 and SHM transports will be instantiated. However, UDP will only |
| | be used |br| during the participant discovery phase (see :ref:`disc_phases`) |
| | while the application |br| data delivery occurs over TCP or SHM. This |
| | configuration is useful when working with large |br| data. (See |
| ``LARGE_DATA`` | UDPv4, TCPv4, and SHM transports will be instantiated. However, UDP will |
| | only be used |br| for multicast announcements during the participant |
| | discovery phase (see :ref:`disc_phases`) |br| while the participant |
| | liveliness and the application data delivery occurs over TCP or SHM. |br| |
| | This configuration is useful when working with large data.(See |
| | :ref:`use-case-tcp`). |
+----------------------------+------------------------------------------------------------------------------+

Expand Down
31 changes: 16 additions & 15 deletions docs/fastdds/rtps_layer/rtps_layer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -143,34 +143,35 @@ instantiated.
+----------------------------+------------------------------------------------------------------------------+
| Builtin Transports Options | Description |
+============================+==============================================================================+
| NONE | No transport will be instantiated. Hence, the user must manually add |
| ``NONE`` | No transport will be instantiated. Hence, the user must manually add |
| | the desired |br| transports. Otherwise, the participant creation will fail. |
+----------------------------+------------------------------------------------------------------------------+
| DEFAULT | UDPv4 and SHM transports will be instantiated. SHM transport has priority |
| ``DEFAULT`` | UDPv4 and SHM transports will be instantiated. SHM transport has priority |
| | over the UDPv4 |br| transport. Meaning that SHM will always be used |
| | in case it is possible. |
| | when possible. |
+----------------------------+------------------------------------------------------------------------------+
| DEFAULTv6 | UDPv6 and SHM transports will be instantiated. SHM transport has priority |
| ``DEFAULTv6`` | UDPv6 and SHM transports will be instantiated. SHM transport has priority |
| | over the UDPv4 |br| transport. Meaning that SHM will always be used |
| | in case it is possible. |
| | when possible. |
+----------------------------+------------------------------------------------------------------------------+
| SHM | Only a SHM transport will be instantiated. |
| ``SHM`` | Only a SHM transport will be instantiated. |
+----------------------------+------------------------------------------------------------------------------+
| UDPv4 | Only a UDPv4 transport will be instantiated. |
| ``UDPv4`` | Only a UDPv4 transport will be instantiated. |
+----------------------------+------------------------------------------------------------------------------+
| UDPv6 | Only a UDPv6 transport will be instantiated. |
| ``UDPv6`` | Only a UDPv6 transport will be instantiated. |
+----------------------------+------------------------------------------------------------------------------+
| LARGE_DATA | UDPv4, TCPv4 and SHM transports will be instantiated. However, UDP will only |
| | be used |br| during the participant discovery phase (see :ref:`disc_phases`) |
| | while the application |br| data delivery occurs over TCP or SHM. This |
| | configuration is useful when working with large |br| data. (See |
| ``LARGE_DATA`` | UDPv4, TCPv4, and SHM transports will be instantiated. However, UDP will |
| | only be used |br| for multicast announcements during the participant |
| | discovery phase (see :ref:`disc_phases`) |br| while the participant |
| | liveliness and the application data delivery occurs over TCP or SHM. |br| |
| | This configuration is useful when working with large data.(See |
| | :ref:`use-case-tcp`). |
+----------------------------+------------------------------------------------------------------------------+

.. literalinclude:: ../../../code/CodeTester.cpp
:language: c++
:start-after: //RTPS_SETUP_TRANSPORTS_EXAMPLE
:end-before: //!--
:language: c++
:start-after: //RTPS_SETUP_TRANSPORTS_EXAMPLE
:end-before: //!--

The same result can also be obtained using the |DomainParticipantQoS::setup_transports-api| wrapper
function of the :ref:`dds_layer_domainParticipantQos`, XML profiles (see :ref:`RTPS`) or the
Expand Down
11 changes: 6 additions & 5 deletions docs/fastdds/transport/tcp/tcp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -187,11 +187,12 @@ Configuration of Builtin Transports
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The first option is to modify the builtin transports that are responsible of the creation of the DomainParticipant
transports. There exist two different configurations that enable TCP transports: ``LARGE_DATA`` and ``LARGE_DATAv6``.
Both options instantiate a UDPv4/UDPv6, a TCPv4/TCPv6 and a SHM transport, respectively. UDP protocol will be used
during the participant discovery phase (see :ref:`disc_phases`) while the application data delivery occurs over TCP
or SHM. This configuration enables auto discovery and does not require to manually set up each participant IP and
listening port. Hence, avoiding the typical Server-Client configuration.
transports. The existing configuration that enables TCP transports is ``LARGE_DATA``.
This option instantiates a UDPv4, a TCPv4 and a SHM transport, respectively. UDP protocol will be used for multicast
announcements during the participant discovery phase (see :ref:`disc_phases`) while the participant liveliness and
the application data delivery occurs over TCP or SHM. This configuration enables auto discovery and does not
require to manually set up each participant IP and listening port. Hence, avoiding the typical Server-Client
configuration.

Builtin Transports can be configured via code, XML (see :ref:`RTPS`) or using the ``FASTDDS_BUILTIN_TRANSPORTS``
environment variable (see :ref:`env_vars_builtin_transports`).
Expand Down
72 changes: 42 additions & 30 deletions docs/fastdds/xml_configuration/domainparticipant.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,79 +81,91 @@ These elements allow the user to define the DomainParticipant configuration.
- ``string_255``
-
* - ``<defaultUnicastLocatorList>``
- List of default reception unicast locators for user data |br|
traffic (see ``<metatrafficUnicastLocatorList>`` |br|
defined in :ref:`builtin`). It expects a :ref:`LocatorListType`.
- List of default reception unicast locators |br|
for user data traffic (see |br|
``<metatrafficUnicastLocatorList>`` |br|
defined in :ref:`builtin`). |br|
It expects a :ref:`LocatorListType`.
- ``<locator>``
-
* - ``<defaultMulticastLocatorList>``
- List of default reception multicast locators for user |br|
data traffic (see ``<metatrafficMulticastLocatorList>`` |br|
defined in :ref:`builtin`). It expects a :ref:`LocatorListType`.
- List of default reception multicast |br|
locators for user data traffic (see |br|
``<metatrafficMulticastLocatorList>`` |br|
defined in :ref:`builtin`). |br|
It expects a :ref:`LocatorListType`.
- ``<locator>``
-
* - ``<default_external_unicast_locators>``
- List of :ref:`external_locators` to announce for the default |br|
user traffic of this participant.
- List of :ref:`external_locators` |br|
to announce for the default user traffic of |br|
this participant.
- :ref:`externalLocatorListType`
-
* - ``<ignore_non_matching_locators>``
- Whether to ignore locators received on announcements |br|
from other participants when they don't match with |br|
of the locators announced by this participant.
- Whether to ignore locators received on |br|
announcements from other participants when |br|
they don't match with any of the locators |br|
announced by this participant.
- ``bool``
- false
* - ``<sendSocketBufferSize>``
- Size in bytes of the send socket buffer. If the value |br|
is zero then *Fast DDS* will use the system default |br|
socket size.
- Size in bytes of the send socket buffer. |br|
If the value is zero then *Fast DDS* will |br|
use the system default socket size.
- ``uint32_t``
- 0
* - ``<listenSocketBufferSize>``
- Size in bytes of the reception socket buffer. If the |br|
value is zero then *Fast DDS* will use the system |br|
default socket size.
- Size in bytes of the reception socket |br|
buffer. If the value is zero then |br|
*Fast DDS* will use the system default |br|
socket size.
- ``uint32_t``
- 0
* - ``<builtin>``
- |WireProtocolConfigQos::builtin-api| public data member of the |WireProtocolConfigQos-api| |br|
class. See the :ref:`builtin` section.
- |WireProtocolConfigQos::builtin-api| public data member of the |br|
|WireProtocolConfigQos-api| class. |br|
See the :ref:`builtin` section.
- :ref:`builtin`
-
* - ``<port>``
- Allows defining the port and gains related to the RTPS |br|
protocol. See the `Port`_ section.
- Allows defining the port and gains related |br|
to the RTPS protocol. See the `Port`_ section.
- `Port`_
-
* - ``<participantID>``
- DomainParticipant's identifier. Typically it will be |br|
automatically generated by the |DomainParticipantFactory|.
- DomainParticipant's identifier. Typically |br|
it will be automatically generated by the |br|
|DomainParticipantFactory|.
- ``int32_t``
- 0
* - ``<userTransports>``
- Transport descriptors to be used by the DomainParticipant. |br|
See :ref:`transportdescriptors`.
- Transport descriptors to be used by the |br|
DomainParticipant. See |br|
:ref:`transportdescriptors`.
- ``List <string>``
-
* - ``<useBuiltinTransports>``
- Boolean field to indicate the system whether the |br|
DomainParticipant will use the default |WireProtocolConfigQos::builtin-api| |br|
transports in addition to its ``<userTransports>``.
- Boolean field to indicate the system |br|
whether the DomainParticipant will use the |br|
default |WireProtocolConfigQos::builtin-api| transports |br|
in addition to its ``<userTransports>``.
- ``bool``
- true
* - ``<builtinTransports>``
- Configuration option to determine which transports |br|
will be instantiated if the ``useBuiltinTransports`` is |br|
set to true. See :ref:`rtps_layer_builtin_transports`.
- ``string_255``
- true
- DEFAULT
* - ``<propertiesPolicy>``
- Additional configuration properties. |br|
See :ref:`propertypolicyqos`.
- |PolicyType|
-
* - ``<allocation>``
- Configuration regarding allocation behavior. It expects |br|
- Configuration regarding allocation behavior. |br|
It expects a |br|
|PartAlloc|.
- |PartAlloc|
-
Expand Down

0 comments on commit 0c4d116

Please sign in to comment.