Skip to content

[16736] Add DataWriterListener on_unacknowledged_sample_removed callback#3205

Merged
MiguelCompany merged 3 commits intofeature/on-unacknowledged-sample-removedfrom
feature/on-unacknowledged-sample-removed-public-API
Jan 13, 2023
Merged

[16736] Add DataWriterListener on_unacknowledged_sample_removed callback#3205
MiguelCompany merged 3 commits intofeature/on-unacknowledged-sample-removedfrom
feature/on-unacknowledged-sample-removed-public-API

Conversation

@JLBuenoLopez
Copy link
Copy Markdown
Contributor

@JLBuenoLopez JLBuenoLopez commented Jan 11, 2023

Signed-off-by: JLBuenoLopez-eProsima joseluisbueno@eprosima.com

Description

This PR includes a new non-standard callback to DataWriterListener.
Only the extended public API is included in order to implement the feature test suite before the feature implementation.

This PR also updates the notation using the DDS compliant one and substituting the C-style castings for a C++-style ones.

Contributor Checklist

  • Commit messages follow the project guidelines.
  • The code follows the style guidelines of this project.
    N/A Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added.
  • Any new/modified methods have been properly documented using Doxygen.
    N/A Fast DDS test suite has been run locally.
  • Changes are ABI compatible.
  • Changes are API compatible.
  • Documentation builds and tests pass locally.
  • New feature has been added to the versions.md file (if applicable).
  • New feature has been documented/Current behavior is correctly described in the documentation.
    Related documentation PR: [16732] on_unacknowledged_sample_removed documentation Fast-DDS-docs#439
    N/A Applicable backports have been included in the description.

Reviewer Checklist

  • Check contributor checklist is correct.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

@JLBuenoLopez JLBuenoLopez added the no-test Skip CI tests if PR marked with this label label Jan 11, 2023
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
@JLBuenoLopez JLBuenoLopez force-pushed the feature/on-unacknowledged-sample-removed-public-API branch from 7d63125 to 6e74196 Compare January 12, 2023 06:24
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
@MiguelCompany MiguelCompany merged commit 6d342ec into feature/on-unacknowledged-sample-removed Jan 13, 2023
@MiguelCompany MiguelCompany deleted the feature/on-unacknowledged-sample-removed-public-API branch January 13, 2023 12:24
JLBuenoLopez added a commit that referenced this pull request Jan 24, 2023
* Refs #16736: public API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: add feature to versions.md

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: apply review suggestion

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
MiguelCompany added a commit that referenced this pull request Feb 8, 2023
…istener (#3275)

* Add DataWriterListener on_unacknowledged_sample_removed callback (#3205)

* Refs #16736: public API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: add feature to versions.md

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: apply review suggestion

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Public RTPS API: RTPSWriter::has_been_delivered() (#3211)

* Refs #16737: add new virtual method RTPSWriter::has_been_delivered

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: update versions.md

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: fix style

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Update RTPS API method name (#3230)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* RTPSWriter::has_been_fully_delivered tests (#3233)

* Refs #16736: extend RTPSWithRegistrationWriter to register flow controller

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: reorder headers, use fastdds headers instead of fastrtps ones

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: add reader data filter API to RTPSWithRegistrationWriter

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: send_sample method

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: expose has_been_fully_delivered API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: add RTPSWriter::has_been_fully_delivered tests

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: linters

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: modify RTPS API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: fix RTPSWriter::has_been_fully_delivered tests

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: fix RTPSWithRegistrationWriter has_been_delivered API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: fix test

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: fix waitForAllAcked timeout conversion

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: fix has_been_delivered tests

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* On unacknowledged sample removed tests (#3210)

* Refs #16736: update namespaces (when possible)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: add API to PubSubWriter Listener

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: save notified instance collection

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: add feature test suite

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: fix windows warnings

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: add listener tests according to changes introduced in the test plan during review process

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: fix tests with suggestions from test plan review

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: fix listener tests: ack race condition

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: avoid waiting and instead wait for ACK in listener tests

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16736: apply review suggestion

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* On unacknowledged sample removed implementation (#3240)

* Refs #16737: ReaderProxy::has_been_delivered

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: add StatelessWriter::is_acked_by_all with sequence number as parameter

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: StatelessWriter::has_been_fully_delivered implementation

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: StatefulWriter::has_been_fully_delivered implementation

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: improve internal documentation

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: linters

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: add unacknowledged sample removed functor

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: fix DataWriterHistory mock

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: add auxiliary method change_is_acked_or_fully_delivered

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: fix StatefulWriter mock

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: notify if a change is removed unacknowledged

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: linters

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: safety check, ensure listener_ is not nullptr

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: add test to ensure that the notified DataWriter is the correct one

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: improve RTPSWithRegistrationWriter API to wait infinite for ack

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: improve reliable_has_been_fully_delivered test

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: apply review suggestion: fix doxygen documentation

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: inject functor in DataWriterHistory constructor

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: refactor get_disable_positive_acks as virtual method of RTPSWriter

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: update versions.md with RTPSWriter::get_disable_positive_acks ABI break

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: apply review suggestions. Fix RTPSWriter mock

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: apply review suggestions concerning ReaderProxy::has_been_delivered

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: fix build

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: linters

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: fix Clang warning

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: increase timeout to ensure ACK reception

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: add ReaderProxy::has_been_delivered test

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: apply review suggestion to ReaderProxyTests

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #16737: fix Clang warning

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #15565: add regression test: Best Effort Writer with no matched Readers and change in the future

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #15565: apply review suggestion, fix to regression

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #15565: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Fix parameter in doxygen documentation.

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

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@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

no-test Skip CI tests if PR marked with this label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants