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

[20575] Examples refactor: Configuration #4570

Merged
merged 10 commits into from
May 30, 2024

Conversation

JesusPoderoso
Copy link
Contributor

@JesusPoderoso JesusPoderoso commented Mar 15, 2024

Description

This PR is part of a suite of PR which would make a refactor in the repository examples.
It is intended to apply to most of the examples, by making them homogeneous, more understandable, and more specific to the case they were meant to be.

In this configuration example, the key changes are:

  • include also dataReader/Writer profile name as args
  • include LargeData as an option (builtin transport argument)
  • include ALL previous QoS examples:
    • Deadline
    • Disable positive ACKs
    • Lifespan
    • Liveliness
    • Ownership (strength)
    • Partitions
  • Implement all callbacks

The following changes apply to this and the remain examples:

  • remove the DDS prefix from the binaries
  • snake case in binary names and directory names
  • launch only one endpoint per binary (always running them in different shells)
  • unify args names and utility
  • write proper README.md with the purpose of the example and expected inputs, outputs, behavior… (do not include options in readme → enhance user to run --help )
  • implement listener callback in the same class (inheritance)
  • include initialization ( init() ) methods in the constructors
  • improve parsing options to be a black box to the user

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
  • Any new/modified methods have been properly documented using Doxygen.
  • Changes are ABI compatible.
  • Changes are API compatible.
  • 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.
  • 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.
  • 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 v3.0.0 milestone Mar 15, 2024
@EduPonz EduPonz force-pushed the 3.0.x-devel branch 2 times, most recently from 1f2e8b7 to 30d4fcd Compare March 21, 2024 07:18
@JesusPoderoso JesusPoderoso changed the title [20575] Refactor configuration example [20575] Examples refactor: Configuration Mar 21, 2024
@JesusPoderoso JesusPoderoso force-pushed the feature/example_refactor/configuration branch 3 times, most recently from c534f32 to b83c0ac Compare March 21, 2024 16:15
@JesusPoderoso JesusPoderoso force-pushed the feature/example_refactor/configuration branch from b83c0ac to 90c3c52 Compare March 25, 2024 14:15
@JesusPoderoso JesusPoderoso force-pushed the feature/example_refactor/configuration branch 7 times, most recently from 2a521df to 1906de7 Compare April 2, 2024 06:02
@JesusPoderoso JesusPoderoso force-pushed the feature/example_refactor/configuration branch 2 times, most recently from eb6ba0c to 5d12211 Compare April 8, 2024 14:19
@JesusPoderoso JesusPoderoso added needs-review PR that is ready to be reviewed and removed to-do labels Apr 8, 2024
@JesusPoderoso
Copy link
Contributor Author

JesusPoderoso commented Apr 8, 2024

@JesusPoderoso JesusPoderoso marked this pull request as ready for review April 8, 2024 14:20
@JesusPoderoso JesusPoderoso force-pushed the feature/example_refactor/configuration branch 2 times, most recently from 112656b to 64e1e33 Compare April 9, 2024 06:51
Copy link
Member

@Mario-DL Mario-DL left a comment

Choose a reason for hiding this comment

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

Really good job with this PR, bringing a helpful configuration example refactor. I love the example testing automation.
Leaving some suggestions to review.

examples/cpp/dds/CMakeLists.txt Outdated Show resolved Hide resolved
examples/cpp/configuration/ConfigurationPubSubTypes.h Outdated Show resolved Hide resolved
examples/cpp/configuration/SubscriberApp.cpp Outdated Show resolved Hide resolved
examples/cpp/configuration/CMakeLists.txt Outdated Show resolved Hide resolved
examples/cpp/configuration/main.cpp Outdated Show resolved Hide resolved
examples/cpp/configuration/README.md Show resolved Hide resolved
examples/cpp/configuration/CLIParser.hpp Outdated Show resolved Hide resolved
examples/cpp/configuration/CLIParser.hpp Outdated Show resolved Hide resolved
test/examples/test_examples.py Outdated Show resolved Hide resolved
test/examples/test_examples.py Show resolved Hide resolved
@Mario-DL Mario-DL removed the needs-review PR that is ready to be reviewed label Apr 10, 2024
@elianalf
Copy link
Contributor

@richiprosima please test_3 windows

@elianalf
Copy link
Contributor

@richiprosima please test_3 linux

@elianalf elianalf added the needs-review PR that is ready to be reviewed label May 22, 2024
@elianalf
Copy link
Contributor

@richiprosima test windows

@JesusPoderoso JesusPoderoso force-pushed the feature/example_refactor/configuration branch from 6b2eab7 to 704190d Compare May 27, 2024 06:07
@JesusPoderoso JesusPoderoso requested review from Mario-DL and removed request for Mario-DL May 27, 2024 06:07
@JesusPoderoso
Copy link
Contributor Author

@richiprosima please test_3 linux please test_3 windows

@Mario-DL
Copy link
Member

@JesusPoderoso would you mind rebasing so that Ubuntu CI and Docs pass CI ?

Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com>
@JesusPoderoso JesusPoderoso force-pushed the feature/example_refactor/configuration branch from 704190d to 7e56555 Compare May 29, 2024 08:08
@JesusPoderoso
Copy link
Contributor Author

@richiprosima please test_3 this

@JesusPoderoso JesusPoderoso requested review from Mario-DL and removed request for Mario-DL May 29, 2024 08:08
Copy link
Member

@Mario-DL Mario-DL left a comment

Choose a reason for hiding this comment

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

LGTM !

@Mario-DL Mario-DL added ready-to-merge Ready to be merged. CI and changes have been reviewed and approved. and removed needs-review PR that is ready to be reviewed ci-pending PR which CI is running labels May 30, 2024
@EduPonz EduPonz merged commit f1c67c7 into master May 30, 2024
10 of 14 checks passed
@EduPonz EduPonz deleted the feature/example_refactor/configuration branch May 30, 2024 12:25
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.

4 participants