Skip to content

[22722] Support interfaces for RPC generated code#5622

Merged
MiguelCompany merged 18 commits intofeature/rpc/mainfrom
feature/22722
Feb 10, 2025
Merged

[22722] Support interfaces for RPC generated code#5622
MiguelCompany merged 18 commits intofeature/rpc/mainfrom
feature/22722

Conversation

@MiguelCompany
Copy link
Copy Markdown
Member

Description

This adds the generic interfaces that the code generated by Fast DDS Gen for RPC interfaces will use.

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; the added tests pass locally
  • 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.
  • 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.
  • N/A: 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.
  • 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: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
@MiguelCompany MiguelCompany changed the title [22722] Support interfaces for generated code [22722] Support interfaces for RPC generated code Jan 31, 2025
@MiguelCompany MiguelCompany added this to the v3.2.0 milestone Feb 4, 2025
Copy link
Copy Markdown

@mcheiva mcheiva left a comment

Choose a reason for hiding this comment

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

Initial EIVA review

…lledException`

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

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
@MiguelCompany
Copy link
Copy Markdown
Member Author

Initial EIVA review

@mcheiva I think I addressed all your comments. Could you re-review?

Copy link
Copy Markdown

@mcheiva mcheiva left a comment

Choose a reason for hiding this comment

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

We reviewed your answers to our comments, and it looks good! :)

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
@MiguelCompany MiguelCompany added the no-test Skip CI tests if PR marked with this label label Feb 10, 2025
@github-actions github-actions bot added the ci-pending PR which CI is running label Feb 10, 2025
@MiguelCompany MiguelCompany requested review from Carlosespicur and removed request for Carlosespicur February 10, 2025 09:22
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
@MiguelCompany MiguelCompany merged commit 56b9b72 into feature/rpc/main Feb 10, 2025
13 checks passed
@MiguelCompany MiguelCompany deleted the feature/22722 branch February 10, 2025 14:54
MiguelCompany added a commit that referenced this pull request Feb 12, 2025
* Refs #22722. Add RpcException class.

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

* Refs #22722. Add RpcTimeoutException class.

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

* Refs #22722. Add RpcBrokenPipeException class.

* Refs #22722. Add RpcOperationError class.

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

* Refs #22722. Add utility include for exceptions.

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

* Refs #22722. Add RpcServerReader template interface.

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

* Refs #22722. Add RpcClientReader template interface.

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

* Refs #22722. Add RpcServerWriter template interface.

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

* Refs #22722. Add RpcClientWriter template interface.

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

* Refs #22722. Add RpcInputFeedCancelledException.

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

* Refs #22722. Add RpcFuture template.

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

* Refs #22722. Rename `RpcInputFeedCancelledException` -> `RpcFeedCancelledException`

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

* Refs #22722. `RpcServerWriter` operations can throw `RpcFeedCancelledException`

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

* Refs #22722. Improve documentation of `RpcClientReader`

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

* Refs #22722. Improve documentation of `RpcClientWriter`

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

* Refs #22722. Avoid DSO export warning on Windows

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

* Refs #22722. Add utility include for interfaces.

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

* Refs #22722. Add missing argument on doxygen documentation.

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

---------

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
MiguelCompany added a commit that referenced this pull request Mar 5, 2025
* Refs #22722. Add RpcException class.

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

* Refs #22722. Add RpcTimeoutException class.

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

* Refs #22722. Add RpcBrokenPipeException class.

* Refs #22722. Add RpcOperationError class.

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

* Refs #22722. Add utility include for exceptions.

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

* Refs #22722. Add RpcServerReader template interface.

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

* Refs #22722. Add RpcClientReader template interface.

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

* Refs #22722. Add RpcServerWriter template interface.

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

* Refs #22722. Add RpcClientWriter template interface.

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

* Refs #22722. Add RpcInputFeedCancelledException.

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

* Refs #22722. Add RpcFuture template.

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

* Refs #22722. Rename `RpcInputFeedCancelledException` -> `RpcFeedCancelledException`

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

* Refs #22722. `RpcServerWriter` operations can throw `RpcFeedCancelledException`

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

* Refs #22722. Improve documentation of `RpcClientReader`

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

* Refs #22722. Improve documentation of `RpcClientWriter`

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

* Refs #22722. Avoid DSO export warning on Windows

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

* Refs #22722. Add utility include for interfaces.

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

* Refs #22722. Add missing argument on doxygen documentation.

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

---------

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
MiguelCompany added a commit that referenced this pull request Mar 18, 2025
* Refs #22722. Add RpcException class.

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

* Refs #22722. Add RpcTimeoutException class.

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

* Refs #22722. Add RpcBrokenPipeException class.

* Refs #22722. Add RpcOperationError class.

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

* Refs #22722. Add utility include for exceptions.

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

* Refs #22722. Add RpcServerReader template interface.

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

* Refs #22722. Add RpcClientReader template interface.

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

* Refs #22722. Add RpcServerWriter template interface.

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

* Refs #22722. Add RpcClientWriter template interface.

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

* Refs #22722. Add RpcInputFeedCancelledException.

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

* Refs #22722. Add RpcFuture template.

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

* Refs #22722. Rename `RpcInputFeedCancelledException` -> `RpcFeedCancelledException`

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

* Refs #22722. `RpcServerWriter` operations can throw `RpcFeedCancelledException`

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

* Refs #22722. Improve documentation of `RpcClientReader`

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

* Refs #22722. Improve documentation of `RpcClientWriter`

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

* Refs #22722. Avoid DSO export warning on Windows

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

* Refs #22722. Add utility include for interfaces.

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

* Refs #22722. Add missing argument on doxygen documentation.

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

---------

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
MiguelCompany added a commit that referenced this pull request Mar 19, 2025
* Support interfaces for RPC generated code (#5622)

* Refs #22722. Add RpcException class.

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

* Refs #22722. Add RpcTimeoutException class.

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

* Refs #22722. Add RpcBrokenPipeException class.

* Refs #22722. Add RpcOperationError class.

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

* Refs #22722. Add utility include for exceptions.

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

* Refs #22722. Add RpcServerReader template interface.

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

* Refs #22722. Add RpcClientReader template interface.

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

* Refs #22722. Add RpcServerWriter template interface.

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

* Refs #22722. Add RpcClientWriter template interface.

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

* Refs #22722. Add RpcInputFeedCancelledException.

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

* Refs #22722. Add RpcFuture template.

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

* Refs #22722. Rename `RpcInputFeedCancelledException` -> `RpcFeedCancelledException`

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

* Refs #22722. `RpcServerWriter` operations can throw `RpcFeedCancelledException`

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

* Refs #22722. Improve documentation of `RpcClientReader`

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

* Refs #22722. Improve documentation of `RpcClientWriter`

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

* Refs #22722. Avoid DSO export warning on Windows

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

* Refs #22722. Add utility include for interfaces.

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

* Refs #22722. Add missing argument on doxygen documentation.

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

---------

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

* Add RPCDDS internal API (#5638)

* Refs #22682: Add public interfaces of RPC Entities

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Add RequestInfo class

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Add ServiceTypeSupport interface

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Add Requester/Replier parameter classes

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Add private headers and implement RPC methods

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Expose Requester/Replier endpoint getters to public API

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Add public methods for deleting requester/replier entities

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Allow calling get_statuscondition method on constant entities

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Refactor blackbox tests

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Avoid sample filtering on request topic

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Fix segFault error due to deleting endpoints manually

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Fix TCPRequester params

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Enable type() method for const DataReader objects

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Add unit tests for Requester/Replier parameters validation

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Add unit tests for DomainParticipant public API methods

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Fix test errors. Add service/participant checks and avoid inconsistent statuses when unregister types methods fail

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Update versions.md

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Apply suggested changes. Remove RequesterParams/ReplierParams classes

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Apply suggested changes. Unify parameters in Requester/Replier take/send methods

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Fix RequesterImpl::send_request related_sample_identity assignment

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Fix typos

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Apply suggested changes

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Apply suggested changes

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Uncrustify

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Avoid creating unnecesary RequestReplyContentFilter instances

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Add suggested changes

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Apply suggested changes. Add return_load method to Requester/Replier public API

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Apply suggested changes

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Apply suggested changes. Blackbox tests classes

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Apply suggested changes. Update send_reply signature.

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Fix blackbox tests

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Fix notation errors in Requester/Replier

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Fix memory leaks in RequestReplyContentFilterFactory

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

---------

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Rename constant to `RPC_STATUS_CODE_OK`

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

* Add definitions for remote exceptions (#5698)

* Refs #22917. Add `RemoteExceptionCode_t` enumeration.

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

* Refs #22917. Add `RpcRemomteException`.

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

* Refs #22917. Add remote exceptions.

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

* Refs #22917. Uncrustify.

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

* Refs #22917. Add new exceptions to convenience header.

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

* Refs #22917. Document where the enumeration comes from.

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

* Refs #22917. Add blackbox test.

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

* Refs #22917. Remove Dll API from exceptions.

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

* Refs #22917. Add test that captures exceptions.

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

* Refs #22917. Apply review suggestions.

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

* Refs #22917. Fix typo.

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

---------

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

* Remove unnecessary validations in Requester and Replier QoS (#5710)

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Remove const in DDS endpoints getters

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682: Apply suggested changes

Signed-off-by: Carlosespicur <carlosespicur@proton.me>

* Refs #22682. Apply suggestions from review.

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

* Refs #22682. Properly apply suggestion.

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

---------

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Carlosespicur <carlosespicur@proton.me>
Co-authored-by: Carlos Espinoza Curto <148376273+Carlosespicur@users.noreply.github.com>
Co-authored-by: Carlosespicur <carlosespicur@proton.me>
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 no-test Skip CI tests if PR marked with this label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants