eclipse-iceoryx / iceoryx

Eclipse iceoryx™ - true zero-copy inter-process-communication
https://iceoryx.io
Apache License 2.0
1.68k stars 393 forks source link

iox-#1129 Multiple RouDi MVP #2208

Closed elBoberido closed 8 months ago

elBoberido commented 8 months ago

Pre-Review Checklist for the PR Author

  1. [x] Add a second reviewer for complex new features or larger refactorings
  2. [x] Code follows the coding style of CONTRIBUTING.md
  3. [x] Tests follow the best practice for testing
  4. [x] Changelog updated in the unreleased section including API breaking changes
  5. [x] Branch follows the naming format (iox-123-this-is-a-branch)
  6. [x] Commits messages are according to this guideline
  7. [x] Update the PR title
    • Follow the same conventions as for commit messages
    • Link to the relevant issue
  8. [x] Relevant issues are linked
  9. [x] Add sensible notes for the reviewer
  10. [x] All checks have passed (except task-list-completed)
  11. [x] All touched (C/C++) source code files from iceoryx_hoofs are added to ./clang-tidy-diff-scans.txt
  12. [x] Assign PR to reviewer

Notes for Reviewer

This PR adds the experimental feature to run multiple RouDi in parallel. In order to achieve this, the --domain-id cmd line parameter must be used when RouDi is started. On the client side the new Node must be used and the domain ID must be specified with the NodeBuilder. There is also a IOX_DOMAIN_ID environment variable that can be used with the NodeBuilder.

Currently it is not possible to run multiple nodes in parallel in the same process due to limitations in PointerRespository

Checklist for the PR Reviewer

Post-review Checklist for the PR Author

  1. [x] All open points are addressed and tracked via issues

References

codecov[bot] commented 8 months ago

Codecov Report

Attention: Patch coverage is 58.83978% with 149 lines in your changes are missing coverage. Please review.

Project coverage is 78.92%. Comparing base (b2cd72b) to head (8485f26).

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208/graphs/tree.svg?width=650&height=150&src=pr&token=KWu8wdCc1S&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx)](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx) ```diff @@ Coverage Diff @@ ## master #2208 +/- ## ========================================== - Coverage 79.09% 78.92% -0.18% ========================================== Files 431 431 Lines 16581 16651 +70 Branches 2300 2321 +21 ========================================== + Hits 13114 13141 +27 - Misses 2616 2657 +41 - Partials 851 853 +2 ``` | [Flag](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx) | `78.71% <58.83%> (-0.17%)` | :arrow_down: | | [unittests_timing](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx) | `15.27% <4.41%> (-0.06%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#carryforward-flags-in-the-pull-request-comment) to find out more. | [Files](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx) | Coverage Δ | | |---|---|---| | [...ceoryx\_hoofs/design/include/iox/detail/newtype.inl](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#diff-aWNlb3J5eF9ob29mcy9kZXNpZ24vaW5jbHVkZS9pb3gvZGV0YWlsL25ld3R5cGUuaW5s) | `93.33% <100.00%> (ø)` | | | [...\_posh/include/iceoryx\_posh/iceoryx\_posh\_config.hpp](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#diff-aWNlb3J5eF9wb3NoL2luY2x1ZGUvaWNlb3J5eF9wb3NoL2ljZW9yeXhfcG9zaF9jb25maWcuaHBw) | `90.00% <ø> (ø)` | | | [...x\_posh/include/iceoryx\_posh/iceoryx\_posh\_types.hpp](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#diff-aWNlb3J5eF9wb3NoL2luY2x1ZGUvaWNlb3J5eF9wb3NoL2ljZW9yeXhfcG9zaF90eXBlcy5ocHA=) | `100.00% <100.00%> (ø)` | | | [...x\_posh/include/iceoryx\_posh/iceoryx\_posh\_types.inl](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#diff-aWNlb3J5eF9wb3NoL2luY2x1ZGUvaWNlb3J5eF9wb3NoL2ljZW9yeXhfcG9zaF90eXBlcy5pbmw=) | `70.96% <ø> (-4.04%)` | :arrow_down: | | [...lude/iceoryx\_posh/internal/mepoo/mepoo\_segment.inl](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#diff-aWNlb3J5eF9wb3NoL2luY2x1ZGUvaWNlb3J5eF9wb3NoL2ludGVybmFsL21lcG9vL21lcG9vX3NlZ21lbnQuaW5s) | `80.76% <100.00%> (ø)` | | | [...de/iceoryx\_posh/internal/mepoo/segment\_manager.hpp](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#diff-aWNlb3J5eF9wb3NoL2luY2x1ZGUvaWNlb3J5eF9wb3NoL2ludGVybmFsL21lcG9vL3NlZ21lbnRfbWFuYWdlci5ocHA=) | `100.00% <ø> (ø)` | | | [...de/iceoryx\_posh/internal/mepoo/segment\_manager.inl](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#diff-aWNlb3J5eF9wb3NoL2luY2x1ZGUvaWNlb3J5eF9wb3NoL2ludGVybmFsL21lcG9vL3NlZ21lbnRfbWFuYWdlci5pbmw=) | `81.66% <100.00%> (+0.31%)` | :arrow_up: | | [...ude/iceoryx\_posh/internal/posh\_error\_reporting.hpp](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#diff-aWNlb3J5eF9wb3NoL2luY2x1ZGUvaWNlb3J5eF9wb3NoL2ludGVybmFsL3Bvc2hfZXJyb3JfcmVwb3J0aW5nLmhwcA==) | `81.25% <ø> (ø)` | | | [...ude/iceoryx\_posh/internal/roudi/port\_pool\_data.hpp](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#diff-aWNlb3J5eF9wb3NoL2luY2x1ZGUvaWNlb3J5eF9wb3NoL2ludGVybmFsL3JvdWRpL3BvcnRfcG9vbF9kYXRhLmhwcA==) | `100.00% <100.00%> (ø)` | | | [...sh/include/iceoryx\_posh/internal/roudi/process.hpp](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx#diff-aWNlb3J5eF9wb3NoL2luY2x1ZGUvaWNlb3J5eF9wb3NoL2ludGVybmFsL3JvdWRpL3Byb2Nlc3MuaHBw) | `100.00% <ø> (ø)` | | | ... and [54 more](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx) | | ... and [3 files with indirect coverage changes](https://app.codecov.io/gh/eclipse-iceoryx/iceoryx/pull/2208/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=eclipse-iceoryx)