-
Notifications
You must be signed in to change notification settings - Fork 791
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[20180] TCP Client&Server Participant Decision-Making #4277
[20180] TCP Client&Server Participant Decision-Making #4277
Conversation
96649d1
to
ebfdcd9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please document all new members / methods
17648aa
to
569b909
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Partial review, pending tests:
I already applied and pushed some changes.
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
… LARGE DATA Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
… method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
Signed-off-by: cferreiragonz <carlosferreira@eprosima.com>
@richiprosima Please test mac and test linux |
…ntCreationWithBuiltinTransport Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
…DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
@richiprosima Please test mac and test linux |
@richiprosima Please test mac |
1 similar comment
@richiprosima Please test mac |
@richiprosima Please test windows |
@Mergifyio backport 2.12.x 2.10.x 2.6.x |
✅ Backports have been created
|
* Refs #20180: Spelling fix Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Signed-off-by: Jesus Perez <jesusperez@eprosima.com> Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Jesus Perez <jesusperez@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 709b140) # Conflicts: # src/cpp/rtps/transport/TCPTransportInterface.cpp # test/blackbox/common/BlackboxTestsTransportTCP.cpp
* Refs #20180: Spelling fix Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Signed-off-by: Jesus Perez <jesusperez@eprosima.com> Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Jesus Perez <jesusperez@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 709b140)
* TCP Client&Server Participant Decision-Making (#4277) * Refs #20180: Spelling fix Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Signed-off-by: Jesus Perez <jesusperez@eprosima.com> Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Jesus Perez <jesusperez@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 709b140) # Conflicts: # src/cpp/rtps/transport/TCPTransportInterface.cpp # test/blackbox/common/BlackboxTestsTransportTCP.cpp * Fix Conflicts Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com>
* Refs #20180: Spelling fix Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Signed-off-by: Jesus Perez <jesusperez@eprosima.com> Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Jesus Perez <jesusperez@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 709b140) # Conflicts: # test/blackbox/common/BlackboxTestsTransportTCP.cpp
* TCP Client&Server Participant Decision-Making (#4277) * Refs #20180: Spelling fix Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Signed-off-by: Jesus Perez <jesusperez@eprosima.com> Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Jesus Perez <jesusperez@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 709b140) # Conflicts: # test/blackbox/common/BlackboxTestsTransportTCP.cpp * Fix Conflicts Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com>
#4413) * TCP Client&Server Participant Decision-Making (#4277) * Refs #20180: Spelling fix Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Signed-off-by: Jesus Perez <jesusperez@eprosima.com> Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Jesus Perez <jesusperez@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 709b140) # Conflicts: # test/blackbox/common/BlackboxTestsTransportTCP.cpp * Fix Conflicts Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Enabling multiple interfaces through whitelist in TCP servers (#4297) * Refs #20238: Add whitelist test in TCPv4 Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20238: Add whitelist test in TCPv6 Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20238: Adding interface to locator if whitelist is not empty Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20238: Uncrustify Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20238: Fix build in Windows Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20238: Apply suggestions Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20238: Remove repeated addition of listener port (added by default) Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> (cherry picked from commit 5f65a65) * Fix conflicts Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com>
* Refs #20180: Spelling fix Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Signed-off-by: Jesus Perez <jesusperez@eprosima.com> Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Jesus Perez <jesusperez@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 709b140)
* TCP Client&Server Participant Decision-Making (#4277) * Refs #20180: Spelling fix Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <jesusperez@eprosima.com> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Signed-off-by: Jesus Perez <jesusperez@eprosima.com> Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Jesus Perez <jesusperez@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit 709b140) * Fix Conflicts Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> --------- Signed-off-by: cferreiragonz <carlosferreira@eprosima.com> Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com>
Description
This pull request introduces a new heuristic in the communication logic for TCP participants, determining which participant will act as the client and which as the server when both are instantiated with one listening port. This logic is needed when using the LARGE_DATA builtin transports configuration.
To do this, a refactor on the TCP Sender Resource has been done. Now, Sender Resources will store a locator instead of a channel. Every time the participant tries to send a message through the TCP Sender Resource the locator will be used to check if it exists a channel inside the channel_resources_ map corresponding to the stored locator. If the search is successful, the message will be send, otherwise the message will be skiped.
This PR fixes the builtin transports tests included in #4098 related with TCP communications. It also includes a specific stress test for TCP, focusing on the "LARGE_DATA" topology.
@Mergifyio backport 2.12.x 2.10.x 2.6.x
Contributor Checklist
versions.md
file (if applicable).Reviewer Checklist