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

iox-#2272 Make iceoryx resource prefix a compile time option #2273

Conversation

elBoberido
Copy link
Member

@elBoberido elBoberido commented Apr 22, 2024

Notes for Reviewer

This PR makes the resource prefix a compile time option

Pre-Review Checklist for the PR Author

  1. Code follows the coding style of CONTRIBUTING.md
  2. Tests follow the best practice for testing
  3. Changelog updated in the unreleased section including API breaking changes
  4. Branch follows the naming format (iox-123-this-is-a-branch)
  5. Commits messages are according to this guideline
  6. Update the PR title
    • Follow the same conventions as for commit messages
    • Link to the relevant issue
  7. Relevant issues are linked
  8. Add sensible notes for the reviewer
  9. All checks have passed (except task-list-completed)
  10. Assign PR to reviewer

Checklist for the PR Reviewer

  • Consider a second reviewer for complex new features or larger refactorings
  • Commits are properly organized and messages are according to the guideline
  • Code according to our coding style and naming conventions
  • Unit tests have been written for new behavior
  • Public API changes are documented via doxygen
  • Copyright owner are updated in the changed files
  • All touched (C/C++) source code files from iceoryx_hoofs have been added to ./clang-tidy-diff-scans.txt
  • PR title describes the changes

Post-review Checklist for the PR Author

  1. All open points are addressed and tracked via issues

References

@elBoberido elBoberido added enhancement New feature refactoring Refactor code without adding features labels Apr 22, 2024
@elBoberido elBoberido requested a review from elfenpiff April 22, 2024 20:48
@elBoberido elBoberido self-assigned this Apr 22, 2024
@elBoberido
Copy link
Member Author

@ximion if you compile with -DIOX_DEFAULT_RESOURCE_PREFIX=foo you can create your own island with iceoryx applications without interference from ROS2 applications running with Cyclone DDS and iceoryx.

Copy link

codecov bot commented Apr 22, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 78.12%. Comparing base (e1c82d6) to head (4be9a7b).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2273      +/-   ##
==========================================
- Coverage   78.14%   78.12%   -0.02%     
==========================================
  Files         432      432              
  Lines       15894    15898       +4     
  Branches     2297     2297              
==========================================
  Hits        12420    12420              
- Misses       2630     2631       +1     
- Partials      844      847       +3     
Flag Coverage Δ
unittests 77.94% <100.00%> (-0.02%) ⬇️
unittests_timing 14.97% <0.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...x_posh/include/iceoryx_posh/iceoryx_posh_types.hpp 100.00% <ø> (ø)
iceoryx_posh/source/iceoryx_posh_types.cpp 83.33% <100.00%> (ø)
iceoryx_posh/source/roudi/roudi.cpp 64.91% <100.00%> (+0.28%) ⬆️
iceoryx_posh/source/runtime/posh_runtime_impl.cpp 57.53% <100.00%> (+0.21%) ⬆️

... and 3 files with indirect coverage changes

@ximion
Copy link

ximion commented Apr 23, 2024

@ximion if you compile with -DIOX_DEFAULT_RESOURCE_PREFIX=foo you can create your own island with iceoryx applications without interference from ROS2 applications running with Cyclone DDS and iceoryx.

Oh wow, this is super nice, thank you! I'll test it :-)
One drawback is that this will make it hard for people to compile my app and ROS2 using Linux-distribution-provided iceoryx packages - I would basically have to vendor IOX, which is slightly inconvenient. But I guess a lot of values are compile-time constants in IOX for performance and to simplify memory management, and this will make it possible for bespoke deployments to run both tools at the same time, which is incredibly nice and removes a big potential obstacle for when we switched to iceoryx :-)

Thank you!

@elBoberido
Copy link
Member Author

@ximion if you compile with -DIOX_DEFAULT_RESOURCE_PREFIX=foo you can create your own island with iceoryx applications without interference from ROS2 applications running with Cyclone DDS and iceoryx.

Oh wow, this is super nice, thank you! I'll test it :-) One drawback is that this will make it hard for people to compile my app and ROS2 using Linux-distribution-provided iceoryx packages - I would basically have to vendor IOX, which is slightly inconvenient. But I guess a lot of values are compile-time constants in IOX for performance and to simplify memory management, and this will make it possible for bespoke deployments to run both tools at the same time, which is incredibly nice and removes a big potential obstacle for when we switched to iceoryx :-)

Thank you!

@ximion it shouldn't be too hard to make this a run time option but I'm lacking time at the moment. Patches are welcome :)

@elBoberido elBoberido merged commit e880982 into eclipse-iceoryx:main Apr 23, 2024
25 checks passed
@elBoberido elBoberido deleted the iox-2272-compile-time-resource-prefix branch April 23, 2024 10:44
@ximion
Copy link

ximion commented Apr 26, 2024

@ximion it shouldn't be too hard to make this a run time option but I'm lacking time at the moment. Patches are welcome :)

That looks doable! Once the journal review I'm working on is done I'll look into this :-)

@elBoberido
Copy link
Member Author

Great. You can ping us in the gitter chat or open a new discussion in the repo. We could give you some hints to get you up to speed :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature refactoring Refactor code without adding features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make iceoryx resource prefix a compile time option
3 participants