-
Notifications
You must be signed in to change notification settings - Fork 817
[20180] TCP Client&Server Participant Decision-Making #4277
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
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 <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
… LARGE DATA Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
… method Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: Jesus Perez <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
Signed-off-by: cferreiragonz <[email protected]>
@richiprosima Please test mac and test linux |
…ntCreationWithBuiltinTransport Signed-off-by: Miguel Company <[email protected]>
…DATA. Signed-off-by: Miguel Company <[email protected]>
@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 <[email protected]> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <[email protected]> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Signed-off-by: Jesus Perez <[email protected]> Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Jesus Perez <[email protected]> Co-authored-by: Miguel Company <[email protected]> (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 <[email protected]> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <[email protected]> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Signed-off-by: Jesus Perez <[email protected]> Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Jesus Perez <[email protected]> Co-authored-by: Miguel Company <[email protected]> (cherry picked from commit 709b140)
* TCP Client&Server Participant Decision-Making (#4277) * Refs #20180: Spelling fix Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <[email protected]> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Signed-off-by: Jesus Perez <[email protected]> Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Jesus Perez <[email protected]> Co-authored-by: Miguel Company <[email protected]> (cherry picked from commit 709b140) # Conflicts: # src/cpp/rtps/transport/TCPTransportInterface.cpp # test/blackbox/common/BlackboxTestsTransportTCP.cpp * Fix Conflicts Signed-off-by: cferreiragonz <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]>
* Refs #20180: Spelling fix Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <[email protected]> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Signed-off-by: Jesus Perez <[email protected]> Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Jesus Perez <[email protected]> Co-authored-by: Miguel Company <[email protected]> (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 <[email protected]> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <[email protected]> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Signed-off-by: Jesus Perez <[email protected]> Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Jesus Perez <[email protected]> Co-authored-by: Miguel Company <[email protected]> (cherry picked from commit 709b140) # Conflicts: # test/blackbox/common/BlackboxTestsTransportTCP.cpp * Fix Conflicts Signed-off-by: cferreiragonz <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]>
#4413) * TCP Client&Server Participant Decision-Making (#4277) * Refs #20180: Spelling fix Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <[email protected]> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Signed-off-by: Jesus Perez <[email protected]> Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Jesus Perez <[email protected]> Co-authored-by: Miguel Company <[email protected]> (cherry picked from commit 709b140) # Conflicts: # test/blackbox/common/BlackboxTestsTransportTCP.cpp * Fix Conflicts Signed-off-by: cferreiragonz <[email protected]> * Enabling multiple interfaces through whitelist in TCP servers (#4297) * Refs #20238: Add whitelist test in TCPv4 Signed-off-by: cferreiragonz <[email protected]> * Refs #20238: Add whitelist test in TCPv6 Signed-off-by: cferreiragonz <[email protected]> * Refs #20238: Adding interface to locator if whitelist is not empty Signed-off-by: cferreiragonz <[email protected]> * Refs #20238: Uncrustify Signed-off-by: cferreiragonz <[email protected]> * Refs #20238: Fix build in Windows Signed-off-by: cferreiragonz <[email protected]> * Refs #20238: Apply suggestions Signed-off-by: cferreiragonz <[email protected]> * Refs #20238: Remove repeated addition of listener port (added by default) Signed-off-by: cferreiragonz <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> (cherry picked from commit 5f65a65) * Fix conflicts Signed-off-by: cferreiragonz <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]>
* Refs #20180: Spelling fix Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <[email protected]> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Signed-off-by: Jesus Perez <[email protected]> Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Jesus Perez <[email protected]> Co-authored-by: Miguel Company <[email protected]> (cherry picked from commit 709b140)
* TCP Client&Server Participant Decision-Making (#4277) * Refs #20180: Spelling fix Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Create function to check pending_logical_ports Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP Connection type Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new method to enable TCP channel after connection in LARGE DATA Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in processBindConnectionRequest method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add new TCP connection and methods SECURITY Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add SECURITY support to OpenOutputChannel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Include LARGE DATA logic in SecureSocketAccepted method Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Bugfix setting environment variable in tests Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add multicast IPv6 to LARGE_DATA locator Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Add TCP test in LARGE_DATA Topology Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Clean code & Uncrustify Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Modified participant populated test Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add new api to update channels Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor OpenOutputChannel with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor bind_socket with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor SocketAccepted with new channel map (Revert to old behavior) Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor CloseOutputChannel to support cases with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Update Secure channel logic with new channel map Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Use same IPv6 as defaultMetatrafficMulticast Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Refactor using locator inside sender resource instead of channel Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Data races associated Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Apply suggestions to tests Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Add OpenLogicalPortRequest scenario before Bind Response is processed Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Remove unnecessary methods. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Early exit when logical_port is 0. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Refactor to avoid lambda. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Minor changes. Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Simplify with WanToLanLocator. Signed-off-by: Miguel Company <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP Connection type" This reverts commit 4b4eb4153553cfdbf007896ff524d3e904f722c9. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Remove unnecessary lock Signed-off-by: cferreiragonz <[email protected]> * Revert "Refs #20180: Add new TCP connection and methods SECURITY" This reverts commit c69d92e56dcfab3c3c7287145a7a93e57947d3cb. Signed-off-by: cferreiragonz <[email protected]> * Refs #20180: Fix test (file descriptors limit) Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Uncrustify Signed-off-by: Jesus Perez <[email protected]> * Refs #20180. Fix port comparison. Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]> * Refs #20180: Fix double lock and update old test with current behavior Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Fix windows test build Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Apply test suggestions Signed-off-by: Jesus Perez <[email protected]> * Refs #20180: Bugfix with cv in receiver_resources_ destruction Signed-off-by: cferreiragonz <[email protected]> * Refs #20180. Delete participant on failing ParticipantTests.ParticipantCreationWithBuiltinTransport Signed-off-by: Miguel Company <[email protected]> * Refs #20180. Do not use non_blocking_send on TCP transport for LARGE_DATA. Signed-off-by: Miguel Company <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Signed-off-by: Jesus Perez <[email protected]> Signed-off-by: Miguel Company <[email protected]> Co-authored-by: Jesus Perez <[email protected]> Co-authored-by: Miguel Company <[email protected]> (cherry picked from commit 709b140) * Fix Conflicts Signed-off-by: cferreiragonz <[email protected]> --------- Signed-off-by: cferreiragonz <[email protected]> Co-authored-by: Carlos Ferreira González <[email protected]>
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