Skip to content

Conversation

mattrichard
Copy link
Collaborator

Implements guard conditions in rclnodejs. In addition, now only entities that are ready to be handled will be executed. This was initially needed since guard conditions should only run when triggered, but was extended to all entities. The approach taken was passing all RclHandles that are ready to be executed back to the main process.

All changes to the .cpp files should be carefully reviewed for quality, thread safety, and alignment with future needs. There's a lot of looping occurring now, but this is not much different than the rclpy implementation.

Fix #315

@mattrichard mattrichard mentioned this pull request Feb 13, 2020
Copy link
Member

@minggangw minggangw left a comment

Choose a reason for hiding this comment

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

Thanks for making this change which reduces the overhead in each event loop. The second commit makes this PR perfect :) and some comments below, thanks!

@mattrichard
Copy link
Collaborator Author

@minggangw Assuming there are no further comments, do you want me to rebase or will you squash the merge instead?

@minggangw
Copy link
Member

@mattrichard it looks good to me and I think we have improved the performance by this PR not only the feature. I'm going to squash them soon, thanks!

@minggangw minggangw merged commit e76626c into RobotWebTools:develop Feb 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add guard condition feature

2 participants