Skip to content
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

[20589] Set real TCP non_blocking_send limitation #4502

Merged
merged 5 commits into from
Mar 27, 2024

Conversation

jepemi
Copy link
Contributor

@jepemi jepemi commented Mar 5, 2024

Description

Since TCP actually allocates twice the size of the requested buffer, TCP non_blocking_send should not skip a send until this limit is reached.
This PR doubles the limit from which a send should not be tried if TCP non_blocking_send is set to true.

@Mergifyio backport 2.13.x 2.12.x 2.10.x 2.6.x

Contributor Checklist

  • Commit messages follow the project guidelines.
  • The code follows the style guidelines of this project.
  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally
  • N/A Any new/modified methods have been properly documented using Doxygen.
  • Changes are ABI compatible.
  • Changes are API compatible.
  • N/A New feature has been added to the versions.md file (if applicable).
  • N/A New feature has been documented/Current behavior is correctly described in the documentation.
  • Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

@JesusPoderoso JesusPoderoso added this to the v2.14.1 milestone Mar 5, 2024
EduPonz
EduPonz previously approved these changes Mar 23, 2024
@EduPonz
Copy link

EduPonz commented Mar 23, 2024

@richiprosima please test this

@EduPonz EduPonz added the ci-pending PR which CI is running label Mar 23, 2024
@jepemi jepemi force-pushed the bugfix/tcp_non_blocking_send_double_limit branch from 371a955 to 4a9d4d3 Compare March 25, 2024 14:48
EduPonz
EduPonz previously approved these changes Mar 25, 2024
@EduPonz EduPonz self-requested a review March 25, 2024 19:14
@EduPonz
Copy link

EduPonz commented Mar 25, 2024

@richiprosima please test this

@EduPonz EduPonz added to-do and removed ci-pending PR which CI is running labels Mar 26, 2024
Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
@jepemi jepemi force-pushed the bugfix/tcp_non_blocking_send_double_limit branch from 4a9d4d3 to 854dd37 Compare March 26, 2024 07:18
@jepemi jepemi added ci-pending PR which CI is running and removed to-do labels Mar 26, 2024
@EduPonz EduPonz self-requested a review March 26, 2024 07:23
@EduPonz
Copy link

EduPonz commented Mar 26, 2024

@richiprosima please test this

@EduPonz EduPonz added ready-to-merge Ready to be merged. CI and changes have been reviewed and approved. and removed ci-pending PR which CI is running labels Mar 27, 2024
@EduPonz EduPonz merged commit 33eb8be into master Mar 27, 2024
12 of 16 checks passed
@EduPonz EduPonz deleted the bugfix/tcp_non_blocking_send_double_limit branch March 27, 2024 13:14
@EduPonz
Copy link

EduPonz commented Mar 27, 2024

@Mergifyio backport 2.13.x 2.10.x 2.6.x

Copy link
Contributor

mergify bot commented Mar 27, 2024

backport 2.13.x 2.10.x 2.6.x

✅ Backports have been created

mergify bot pushed a commit that referenced this pull request Mar 27, 2024
* Refs #20589: Set real non_blocking_send limitation

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

* Refs #20589: Readapt test

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

* Refs #20589: Fix failing test in macos/linux

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

* Refs #20589: Uncrustify

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

* Refs #20589: Fix unused variable

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

---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
(cherry picked from commit 33eb8be)

# Conflicts:
#	test/unittest/transport/TCPv4Tests.cpp
mergify bot pushed a commit that referenced this pull request Mar 27, 2024
* Refs #20589: Set real non_blocking_send limitation

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

* Refs #20589: Readapt test

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

* Refs #20589: Fix failing test in macos/linux

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

* Refs #20589: Uncrustify

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

* Refs #20589: Fix unused variable

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

---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
(cherry picked from commit 33eb8be)

# Conflicts:
#	test/unittest/transport/TCPv4Tests.cpp
mergify bot pushed a commit that referenced this pull request Mar 27, 2024
* Refs #20589: Set real non_blocking_send limitation

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

* Refs #20589: Readapt test

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

* Refs #20589: Fix failing test in macos/linux

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

* Refs #20589: Uncrustify

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

* Refs #20589: Fix unused variable

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

---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
(cherry picked from commit 33eb8be)

# Conflicts:
#	test/unittest/transport/TCPv4Tests.cpp
JesusPoderoso pushed a commit that referenced this pull request Mar 30, 2024
* Refs #20589: Set real non_blocking_send limitation

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

* Refs #20589: Readapt test

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

* Refs #20589: Fix failing test in macos/linux

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

* Refs #20589: Uncrustify

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

* Refs #20589: Fix unused variable

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

---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
(cherry picked from commit 33eb8be)
EduPonz pushed a commit that referenced this pull request Mar 31, 2024
* Refs #20589: Set real non_blocking_send limitation

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

* Refs #20589: Readapt test

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

* Refs #20589: Fix failing test in macos/linux

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

* Refs #20589: Uncrustify

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

* Refs #20589: Fix unused variable

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

---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
(cherry picked from commit 33eb8be)

Co-authored-by: Jesús Pérez <78275223+jepemi@users.noreply.github.com>
jepemi added a commit that referenced this pull request Apr 15, 2024
* Refs #20589: Set real non_blocking_send limitation

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

* Refs #20589: Readapt test

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

* Refs #20589: Fix failing test in macos/linux

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

* Refs #20589: Uncrustify

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

* Refs #20589: Fix unused variable

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

---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
(cherry picked from commit 33eb8be)
MiguelCompany pushed a commit that referenced this pull request Apr 17, 2024
* Set real TCP non_blocking_send limitation (#4502)

* Refs #20589: Set real non_blocking_send limitation

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

* Refs #20589: Readapt test

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

* Refs #20589: Fix failing test in macos/linux

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

* Refs #20589: Uncrustify

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

* Refs #20589: Fix unused variable

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

---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
(cherry picked from commit 33eb8be)

* Refs #20589: Apply suggestions

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

---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
Co-authored-by: Jesús Pérez <78275223+jepemi@users.noreply.github.com>
Co-authored-by: Jesus Perez <jesusperez@eprosima.com>
jepemi added a commit that referenced this pull request Apr 23, 2024
* Refs #20589: Set real non_blocking_send limitation

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

* Refs #20589: Readapt test

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

* Refs #20589: Fix failing test in macos/linux

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

* Refs #20589: Uncrustify

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

* Refs #20589: Fix unused variable

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

---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
MiguelCompany pushed a commit that referenced this pull request Apr 24, 2024
* Refs #20589: Set real non_blocking_send limitation



* Refs #20589: Readapt test



* Refs #20589: Fix failing test in macos/linux



* Refs #20589: Uncrustify



* Refs #20589: Fix unused variable



---------

Signed-off-by: Jesus Perez <jesusperez@eprosima.com>
Co-authored-by: Jesús Pérez <78275223+jepemi@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge Ready to be merged. CI and changes have been reviewed and approved.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants