iceoryx icon indicating copy to clipboard operation
iceoryx copied to clipboard

iox-#1036 builder pattern for mutex

Open elfenpiff opened this issue 2 years ago • 1 comments

Pre-Review Checklist for the PR Author

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

Notes for Reviewer

This refactors the Mutex posix wrapper with the builder pattern. The new interface is not yet integrated into iceoryx, this will be done in a follow up PR (to reduce this PRs size). All mutex pthread features were added to the mutex builder and tested as far as possible.

For this a new file sched.hpp had to be added to the platform to acquire priority ranges for the platforms. Furthermore, in the windows platform some stub functions had to be added.

Checklist for the PR Reviewer

  • [ ] 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
    • [ ] Each unit test case has a unique UUID
  • [ ] Public API changes are documented via doxygen
  • [ ] Copyright owner are updated in the changed files
  • [ ] PR title describes the changes

Post-review Checklist for the PR Author

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

References

  • Fixes one part of #1036

elfenpiff avatar Jul 01 '22 15:07 elfenpiff

Codecov Report

Merging #1443 (2461636) into master (2e6141e) will decrease coverage by 0.66%. The diff coverage is 34.41%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1443      +/-   ##
==========================================
- Coverage   76.70%   76.04%   -0.67%     
==========================================
  Files         360      362       +2     
  Lines       13880    14115     +235     
  Branches     2298     2368      +70     
==========================================
+ Hits        10647    10734      +87     
- Misses       2461     2587     +126     
- Partials      772      794      +22     
Flag Coverage Δ
unittests 75.69% <34.41%> (-0.66%) :arrow_down:
unittests_timing 15.55% <2.83%> (-0.28%) :arrow_down:

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

Impacted Files Coverage Δ
iceoryx_hoofs/source/posix_wrapper/scheduler.cpp 0.00% <0.00%> (ø)
iceoryx_hoofs/source/posix_wrapper/mutex.cpp 41.70% <35.71%> (-43.60%) :arrow_down:
...osh/source/popo/building_blocks/locking_policy.cpp 47.82% <50.00%> (-2.18%) :arrow_down:
...ude/iceoryx_hoofs/internal/posix_wrapper/mutex.hpp 100.00% <100.00%> (ø)
...ofs/include/iceoryx_hoofs/internal/cxx/variant.inl 96.84% <0.00%> (+1.05%) :arrow_up:
...ce/log/platform_building_blocks/console_logger.cpp 79.10% <0.00%> (+1.49%) :arrow_up:
...fs/include/iceoryx_hoofs/internal/cxx/expected.inl 98.21% <0.00%> (+2.67%) :arrow_up:
iceoryx_hoofs/source/concurrent/loffli.cpp 91.42% <0.00%> (+11.42%) :arrow_up:

codecov[bot] avatar Jul 01 '22 15:07 codecov[bot]