Skip to content

[23929] Allow to send empty payloads in dispose/unregister ops#6217

Merged
MiguelCompany merged 18 commits intomasterfrom
feature/empty-payload-dispose-unregister
Jan 8, 2026
Merged

[23929] Allow to send empty payloads in dispose/unregister ops#6217
MiguelCompany merged 18 commits intomasterfrom
feature/empty-payload-dispose-unregister

Conversation

@emiliocuestaf
Copy link
Contributor

@emiliocuestaf emiliocuestaf commented Dec 12, 2025

Description

This pull request improves the handling of dispose and unregister operations when payloads are empty, and enhances test coverage for these scenarios. Until now, it was not possible to send those messages with empty payloads, now it is allowed as long as a valid instance handle is provided.

  • Update DataWriterImpl to be able to write Unregister/Dispose messages with empty payloads.
  • Add tests for the case above
  • Update RTPSStatelessReader to be able to read Unregister/Dispose messages with empty payloads.
  • Add tests for the case above
  • Update RTPSStatefulReader to be able to read Unregister/Dispose messages with empty payloads.
  • Add tests for the case above
  • Modified topic_instances example to correctly print the color name even when no payload is passed.

@Mergifyio backport 3.4.x 3.3.x 3.2.x 2.14.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.
  • N/A: Any new configuration API has an equivalent XML API (with the corresponding XSD extension)
  • NO: Changes are backport compatible: they do NOT break ABI nor change library core behavior.
  • 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.
  • N/A: If this is a critical bug fix, backports to the critical-only supported branches have been requested.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
@github-actions github-actions bot added the ci-pending PR which CI is running label Dec 12, 2025
@mergify
Copy link
Contributor

mergify bot commented Dec 13, 2025

🧪 CI Insights

Here's what we observed from your CI run for 4fd2db9.

❌ Job Failures

Pipeline Job Health on master Retries 🔍 CI Insights 📄 Logs
Fast DDS MacOS CI mac-ci / fastdds_test () Unknown 2 View View
Fast DDS Windows CI windows-ci / fastdds_test (RelWithDebInfo, examples), v142 Unknown 1 View View
windows-ci / fastdds_test (RelWithDebInfo, examples), v143 Unknown 0 View View

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
@emiliocuestaf emiliocuestaf force-pushed the feature/empty-payload-dispose-unregister branch from 02fffeb to a3b8dc6 Compare December 15, 2025 06:27
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
@emiliocuestaf emiliocuestaf requested review from richiprosima and removed request for richiprosima December 15, 2025 22:52
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
@emiliocuestaf emiliocuestaf requested review from richiprosima and removed request for richiprosima December 16, 2025 08:20
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
@emiliocuestaf emiliocuestaf requested review from richiprosima and removed request for richiprosima December 17, 2025 10:31
@emiliocuestaf emiliocuestaf changed the title Allow to send empty payloads in dispose/unregister ops [#23929] Allow to send empty payloads in dispose/unregister ops Dec 17, 2025
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
…same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
@emiliocuestaf emiliocuestaf added this to the v3.5.0 milestone Dec 17, 2025
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
@emiliocuestaf emiliocuestaf requested review from richiprosima and removed request for richiprosima December 18, 2025 06:54
@emiliocuestaf emiliocuestaf marked this pull request as ready for review December 18, 2025 07:35
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
@emiliocuestaf emiliocuestaf requested review from richiprosima and removed request for richiprosima December 18, 2025 11:33
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
@MiguelCompany MiguelCompany requested review from MiguelCompany and removed request for MiguelCompany and richiprosima January 7, 2026 14:35
Copy link
Member

@MiguelCompany MiguelCompany left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with green CI

@MiguelCompany MiguelCompany merged commit 47bfac0 into master Jan 8, 2026
45 of 56 checks passed
@MiguelCompany MiguelCompany deleted the feature/empty-payload-dispose-unregister branch January 8, 2026 06:48
@MiguelCompany
Copy link
Member

@Mergifyio backport 3.4.x 3.3.x 3.2.x 2.14.x

@mergify
Copy link
Contributor

mergify bot commented Jan 8, 2026

backport 3.4.x 3.3.x 3.2.x 2.14.x

✅ Backports have been created

Details

mergify bot pushed a commit that referenced this pull request Jan 8, 2026
* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)
mergify bot pushed a commit that referenced this pull request Jan 8, 2026
* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)

# Conflicts:
#	test/unittest/dds/publisher/DataWriterTests.cpp
mergify bot pushed a commit that referenced this pull request Jan 8, 2026
* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)

# Conflicts:
#	test/unittest/dds/publisher/DataWriterTests.cpp
mergify bot pushed a commit that referenced this pull request Jan 8, 2026
* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)

# Conflicts:
#	examples/cpp/topic_instances/SubscriberApp.cpp
#	examples/cpp/topic_instances/SubscriberApp.hpp
#	src/cpp/fastdds/publisher/DataWriterImpl.cpp
#	src/cpp/rtps/reader/StatefulReader.cpp
#	src/cpp/rtps/reader/StatelessReader.cpp
#	test/unittest/dds/publisher/DataWriterTests.cpp
#	test/unittest/rtps/reader/CMakeLists.txt
#	test/unittest/rtps/reader/StatefulReaderTests.cpp
cferreiragonz pushed a commit that referenced this pull request Jan 21, 2026
* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)

# Conflicts:
#	test/unittest/dds/publisher/DataWriterTests.cpp
emiliocuestaf added a commit that referenced this pull request Jan 21, 2026
* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)

# Conflicts:
#	examples/cpp/topic_instances/SubscriberApp.cpp
#	examples/cpp/topic_instances/SubscriberApp.hpp
#	src/cpp/fastdds/publisher/DataWriterImpl.cpp
#	src/cpp/rtps/reader/StatefulReader.cpp
#	src/cpp/rtps/reader/StatelessReader.cpp
#	test/unittest/dds/publisher/DataWriterTests.cpp
#	test/unittest/rtps/reader/CMakeLists.txt
#	test/unittest/rtps/reader/StatefulReaderTests.cpp
MiguelCompany pushed a commit that referenced this pull request Jan 23, 2026
* Allow empty payloads in dispose/unregister operations (#6217)

* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)

# Conflicts:
#	test/unittest/dds/publisher/DataWriterTests.cpp

* Solve conflicts

Signed-off-by: Carlos Ferreira González <carlosferreira@eprosima.com>

* Link against Mac base libraries

Signed-off-by: Carlos Ferreira González <carlosferreira@eprosima.com>

* Uncrustify to backport

Signed-off-by: Carlos Ferreira González <carlosferreira@eprosima.com>

---------

Signed-off-by: Carlos Ferreira González <carlosferreira@eprosima.com>
Co-authored-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Carlos Ferreira González <carlosferreira@eprosima.com>
emiliocuestaf added a commit that referenced this pull request Jan 23, 2026
* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)

# Conflicts:
#	examples/cpp/topic_instances/SubscriberApp.cpp
#	examples/cpp/topic_instances/SubscriberApp.hpp
#	src/cpp/fastdds/publisher/DataWriterImpl.cpp
#	src/cpp/rtps/reader/StatefulReader.cpp
#	src/cpp/rtps/reader/StatelessReader.cpp
#	test/unittest/dds/publisher/DataWriterTests.cpp
#	test/unittest/rtps/reader/CMakeLists.txt
#	test/unittest/rtps/reader/StatefulReaderTests.cpp
emiliocuestaf added a commit that referenced this pull request Jan 26, 2026
* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)

# Conflicts:
#	examples/cpp/topic_instances/SubscriberApp.cpp
#	examples/cpp/topic_instances/SubscriberApp.hpp
#	src/cpp/fastdds/publisher/DataWriterImpl.cpp
#	src/cpp/rtps/reader/StatefulReader.cpp
#	src/cpp/rtps/reader/StatelessReader.cpp
#	test/unittest/dds/publisher/DataWriterTests.cpp
#	test/unittest/rtps/reader/CMakeLists.txt
#	test/unittest/rtps/reader/StatefulReaderTests.cpp
MiguelCompany added a commit that referenced this pull request Jan 26, 2026
* Allowing to send empty payloads in dispose/unregister ops



* Add tests



* Uncrustify



* Refactor to keep current execution path for most cases



* Making readers able to read empty paoload messages



* Adding tests for RTPS readers



* Fix trace logging in topic_instances example, that always showed the same color on dispose



* Uncrustify



* Make writer write empty payload only if get_payload fails



* Late disposes are not received in history and cause segfault when freed



* Fix asan problems



* Apply easy suggestions from code review




* Apply revision part2



* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp




* Replace old signature name



* Remove unnecessary check



* Adding assert in case that should not happen



* Removing line



---------




(cherry picked from commit 47bfac0)

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
MiguelCompany added a commit that referenced this pull request Jan 27, 2026
* Allow empty payloads in dispose/unregister operations (#6217)

* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)

# Conflicts:
#	examples/cpp/topic_instances/SubscriberApp.cpp
#	examples/cpp/topic_instances/SubscriberApp.hpp
#	src/cpp/fastdds/publisher/DataWriterImpl.cpp
#	src/cpp/rtps/reader/StatefulReader.cpp
#	src/cpp/rtps/reader/StatelessReader.cpp
#	test/unittest/dds/publisher/DataWriterTests.cpp
#	test/unittest/rtps/reader/CMakeLists.txt
#	test/unittest/rtps/reader/StatefulReaderTests.cpp

* Fix src conflicts

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix tests and uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Attempt to fick mock test

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Undo changes in CacheChange.h

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Attempt to fix windows issue with minmax

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix mac compilation issue

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Remove topic_instances example

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Undo namespace replacement

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
MiguelCompany added a commit that referenced this pull request Mar 10, 2026
* Allow empty payloads in dispose/unregister operations (#6217)

* Allowing to send empty payloads in dispose/unregister ops

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Add tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Refactor to keep current execution path for most cases

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Making readers able to read empty paoload messages

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding tests for RTPS readers

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix trace logging in topic_instances example, that always showed the same color on dispose

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Make writer write empty payload only if get_payload fails

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Late disposes are not received in history and cause segfault when freed

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix asan problems

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Apply easy suggestions from code review

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Apply revision part2

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Update src/cpp/fastdds/publisher/DataWriterImpl.cpp

Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>

* Replace old signature name

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Remove unnecessary check

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Adding assert in case that should not happen

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Removing line

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit 47bfac0)

# Conflicts:
#	test/unittest/dds/publisher/DataWriterTests.cpp

* Fix conflicts

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix bad linkage of Mac dependencies in tests

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Uncrustify

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>

* Fix target_link_libraries for StatelessReaderTests

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

---------

Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Co-authored-by: Emilio Cuesta Fernandez <emiliocuesta@eprosima.com>
Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-pending PR which CI is running

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants