Skip to content

Ensure consistent timeout in ros2component list.#526

Merged
hidmic merged 5 commits intomasterfrom
hidmic/one-timeout-ros2component-list
Jun 10, 2020
Merged

Ensure consistent timeout in ros2component list.#526
hidmic merged 5 commits intomasterfrom
hidmic/one-timeout-ros2component-list

Conversation

@hidmic
Copy link
Copy Markdown

@hidmic hidmic commented Jun 4, 2020

Precisely what the title says. No matter the amount of container nodes in the system. Closes #507.

Ideally, I'd like rclpy executors to support asynchronous code and to have some ROS graph events at hand. For the time being, this will do.

No matter the amount of container nodes in the system.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
@hidmic hidmic requested a review from dirk-thomas June 4, 2020 21:41
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
@hidmic
Copy link
Copy Markdown
Author

hidmic commented Jun 8, 2020

CI up to ros2component:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • macOS Build Status
  • Windows Build Status

@hidmic hidmic requested review from ivanpauno and jacobperron June 10, 2020 16:33
Copy link
Copy Markdown
Member

@ivanpauno ivanpauno left a comment

Choose a reason for hiding this comment

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

This is a bit complex ... but I don't have a particular suggestion to improve it

@ivanpauno
Copy link
Copy Markdown
Member

ivanpauno commented Jun 10, 2020

Ideally, I'd like rclpy executors to support asynchronous code and to have some ROS graph events at hand. For the time being, this will do.

That would be nice, I'm not sure if we don't already have a way to do that.
When c++20 is out, we should add a package with an implementation of an executor using c++20 async programming and cppcoro 😂 .

@hidmic
Copy link
Copy Markdown
Author

hidmic commented Jun 10, 2020

This is a bit complex ...

I know... But I have to do major surgery in rclpy to do it nicely. And I don't think we have the resources to do that now. I will say though that if rclpy was asyncio friendly, that'd open up interesting development avenues for launch_testing.

That would be nice, I'm not sure if we don't already have a way to do that.

We sort of do, but not really. I can't asyncio.sleep in the coroutines that rclpy executors can process. I spent some time thinking how to do it with the support we do have and I couldn't come up with a decent solution 🤷‍♂️

hidmic added 3 commits June 10, 2020 18:36
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
This reverts commit 9f89aa9.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
@hidmic hidmic merged commit 58a9d36 into master Jun 10, 2020
@delete-merged-branch delete-merged-branch bot deleted the hidmic/one-timeout-ros2component-list branch June 10, 2020 23:01
@jacobperron
Copy link
Copy Markdown
Member

I'd think this can be backported. If so, I'd backport the deprecation.

I would backport the patch without the deprecation warning. Please add to the Foxy patch release project board if you agree.

hidmic added a commit that referenced this pull request Jun 22, 2020
With no deprecation notices nor warnings.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
hidmic added a commit that referenced this pull request Jun 23, 2020
With no deprecation notices nor warnings.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
craigh92 pushed a commit to craigh92/ros2cli that referenced this pull request Jul 17, 2020
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Craig Hickman <craig.hickman@ukaea.uk>
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.

[ros2component] Avoid long timeouts in ros2 component list

4 participants