Skip to content

Commit

Permalink
TCP first message loss (#699)
Browse files Browse the repository at this point in the history
* Refs #20508: Add wait_for_logical_port_negotiation_ms to transport descriptor

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>

* Refs #20508: Reuse unused transport descriptor tcp_negotiation_timeout

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>

---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
  • Loading branch information
jepemi committed Mar 6, 2024
1 parent b95cc4a commit 05ebded
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/03-exports/aliases-api.include
Original file line number Diff line number Diff line change
Expand Up @@ -632,6 +632,7 @@
.. |TCPTransportDescriptor::keep_alive_thread-api| replace:: :cpp:var:`keep_alive_thread<eprosima::fastdds::rtps::TCPTransportDescriptor::keep_alive_thread>`
.. |TCPTransportDescriptor::accept_thread-api| replace:: :cpp:var:`accept_thread<eprosima::fastdds::rtps::TCPTransportDescriptor::accept_thread>`
.. |TCPTransportDescriptor::tls_config-api| replace:: :cpp:var:`tls_config<eprosima::fastdds::rtps::TCPTransportDescriptor::tls_config>`
.. |TCPTransportDescriptor::tcp_negotiation_timeout-api| replace:: :cpp:var:`tcp_negotiation_timeout<eprosima::fastdds::rtps::TCPTransportDescriptor::tcp_negotiation_timeout>`

.. |TCPTransportDescriptor::TLSConfig-api| replace:: :cpp:struct:`TLSConfig<eprosima::fastdds::rtps::TCPTransportDescriptor::TLSConfig>`
.. |TCPTransportDescriptor::TLSConfig::add_verify_mode-api| replace:: :cpp:func:`add_verify_mode()<eprosima::fastdds::rtps::TCPTransportDescriptor::TLSConfig::add_verify_mode>`
Expand Down
7 changes: 7 additions & 0 deletions docs/fastdds/transport/tcp/tcp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,13 @@ The following table describes the common data members for both TCPv4 and TCPv6.
- |ThreadSettings|
-
- |ThreadSettings| for the threads processing incoming TCP connection requests.
* - |TCPTransportDescriptor::tcp_negotiation_timeout-api|
- ``uint32_t``
- 0
- Time to wait for logical port negotiation (in ms). If a logical port is under negotiation, it waits for the
negotiation to finish up to this timeout before trying to send a message to that port. Setting this option to
non-zero values increases the discovery time. Setting it to zero means no wait but could lead to loss of first
messages.

.. warning::

Expand Down
3 changes: 3 additions & 0 deletions docs/fastdds/xml_configuration/transports.rst
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,9 @@ A more detailed explanation of each of these elements can be found in :ref:`comm
| ``<enable_tcp_nodelay>`` | Socket option for disabling the Nagle |br| | ``bool`` | ``false``|
| | algorithm. (**TCP only**). | | |
+-------------------------------+----------------------------------------------------+----------------------+----------+
| ``<tcp_negotiation_timeout>`` | Time to wait for logical port negotiation (in ms) | ``uint32_t`` | ``0`` |
| | |br| (**TCP only**). | | |
+-------------------------------+----------------------------------------------------+----------------------+----------+
| ``<segment_size>`` | Size (in bytes) of the shared-memory segment. |br| | ``uint32_t`` | 262144 |
| | (Optional, **SHM only**). | | |
+-------------------------------+----------------------------------------------------+----------------------+----------+
Expand Down

0 comments on commit 05ebded

Please sign in to comment.