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

Pluggable WHC and RHC #461

Open
cwyark opened this issue Mar 31, 2020 · 0 comments
Open

Pluggable WHC and RHC #461

cwyark opened this issue Mar 31, 2020 · 0 comments
Labels
feature-request Request a new feature

Comments

@cwyark
Copy link
Contributor

cwyark commented Mar 31, 2020

Connect to these issues:

CycloneDDS

rmw_cyclonedds

ROS2 doesn't have any concept of instance or topic key, there shouldn't such complex DDS WHC/RHC implementation for ROS2 case. Also making so much memory (de)allocation might be harmful for the message transmit / receive path from ROS2 (rclcpp or rclpy) to CycloneDDS. So connect to #99 and ros2/rmw_cyclonedds#79, making pluggable whc/rhc in CycloneDDS and a custom whc/rhc in rmw_cyclonedds might be a good point to start the realtime improvement.

Since rhc has already become pluggable, whc could have the same change.
Here's my approach,

  1. Move all whc/rhc implementation to particular folder, let this folder maintain all whc/rhc impl methods, e.g. default impl, or static memory allocation impl.
  2. Whc part, remove q_whc.c and q_whc.h and move them to whc default impl.
  3. Rename all whc relevant types to dds_whc if they are defined in dds_whc.h
  4. Replace the original dds_create_writer with dds_create_writer_int , and add dds_create_writer_whc and dds_create_writer, like dds_create_reader did before.
@thijsmie thijsmie added the feature-request Request a new feature label Jun 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request Request a new feature
Projects
None yet
Development

No branches or pull requests

2 participants