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 #252 replacement of old ports with building blocks #360

Conversation

marthtz
Copy link
Contributor

@marthtz marthtz commented Nov 12, 2020

Pre-Review Checklist for the PR Author

  1. Branch follows the naming format (iox-#123-this-is-a-branch)
  2. Commits messages are according to this guideline
    • Commit messages have the issue ID (iox-#123 commit text)
    • Commit messages are signed (git commit -s)
    • Commit author matches Eclipse Contributor Agreement (and ECA is signed)
  3. Update the PR title
    • Follow the same conventions as for commit messages
    • Link to the relevant issue
  4. Relevant issues are linked
  5. Add sensible notes for the reviewer
  6. All checks have passed
  7. Assign PR to reviewer

Notes for Reviewer

This is about removing all old ports with building blocks. Unfortunately, it turned out this is way too big for one PR. Cleaning-up the introspection with its tests is a big task for itself, it's still missing an overhaul to only store pointers to PortDatas and not using PortUser as members. In addition, introspection throughput calculation has to be re-implemented using a more sophisticated approach (e.g. only calculate it when an introspection is connected).
Last, roudi portmanager (previously roudi shm) tests are currently more or less disabled. I'm still working on it.

Note: Has to be built with one-to-many as get/setCapacityhasn't been implemented to multi pusher queues! Resolved, was an error when accidentally calling subscribe() with an argument.

Open points:

  1. Refactor introspection to remove PortUser and templates: Remove PortUser from introspection and use PortData only #401
  2. Implement throughput calculation: Introspection throughput calculation with building blocks #402
  3. Introspection clean-up: Clean-up introspection #414
  4. Add tests for new (previously missed) transitions in subscriber port: Update tests for missed transitions in subscriber port state machine #406
  5. Fix roudi portmanager tests.
  6. Resolve merge conflicts with master

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
  • 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

Post-review Checklist for the Eclipse Committer

  1. All checkboxes in the PR checklist are checked or crossed out
  2. Merge

References

-Partly closes #252

@marthtz marthtz added the refactoring Refactor code without adding features label Nov 12, 2020
@marthtz marthtz added this to the Prio 1 milestone Nov 12, 2020
@marthtz marthtz self-assigned this Nov 12, 2020
iceoryx_examples/iceperf/iceoryx.cpp Outdated Show resolved Hide resolved
iceoryx_examples/iceperf/iceoryx.cpp Outdated Show resolved Hide resolved
iceoryx_posh/test/moduletests/test_base_port.cpp Outdated Show resolved Hide resolved
@budrus
Copy link
Contributor

budrus commented Nov 13, 2020

I would not pay for throughput calculation in every publisher just because somebody could be interested. In ROS you can do it with the tools by doing something like ros2 topic /myTopic bw. IMO, if a gateway needs this information the job would be there. For the introspection it would be easy to have this as an extra functionality, maybe also per topic and maybe as separate application?

@mossmaurice
Copy link
Contributor

I would not pay for throughput calculation in every publisher just because somebody could be interested.

+1

For the introspection it would be easy to have this as an extra functionality, maybe also per topic and maybe as separate application?

Can you elaborate a bit what you have in mind?

@budrus
Copy link
Contributor

budrus commented Nov 13, 2020

Can you elaborate a bit what you have in mind?

First have to start thinking about ;-)

Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
@budrus budrus self-requested a review December 10, 2020 15:59
budrus
budrus previously approved these changes Dec 10, 2020
@marthtz marthtz dismissed stale reviews from budrus and orecham via bbff421 December 10, 2020 16:29
@elBoberido elBoberido dismissed their stale review December 10, 2020 20:59

requested changes were incorporated

Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Signed-off-by: Hintz Martin (CC-AD/ESW1) <[email protected]>
Copy link
Contributor

@mossmaurice mossmaurice left a comment

Choose a reason for hiding this comment

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

Great work everyone! We're nearly there :-)
Two open points left:

  • @marthtz Please fix the clang build
  • @elBoberido Please check if copyright notices have to be adapted for the files you touched

@marthtz marthtz merged commit 3c43d88 into eclipse-iceoryx:master Dec 11, 2020
@marthtz marthtz deleted the iox-#252-replacement-of-old-ports-with-building-blocks branch December 11, 2020 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactoring Refactor code without adding features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Building blocks in iceoryx
7 participants