enable intra-process communication for point clouds#2599
enable intra-process communication for point clouds#2599Nir-Az merged 4 commits intorealsenseai:ros2-developmentfrom
Conversation
c78ce6f to
ce6d0e9
Compare
|
@Nir-Az The CI is failing for |
Thanks for the PR, looks like a great enhancement. |
ce6d0e9 to
2b6a7dd
Compare
2b6a7dd to
a2026cf
Compare
|
@Nir-Az Can you approve the CI pipeline for this PR? |
Nir-Az
left a comment
There was a problem hiding this comment.
Great enhancement, thanks!
|
With this PR should the readme be updated? It still says that pointclouds are not supported for ipc |
You are right, thanks. |
The node currently publishes point cloud messages directly and does not use a unique shared pointer, which prevents using efficient zero-copy intra-process communication as it requires copying the data between nodes in the same process.
This PR fixes this by publishing the point cloud via a unique shared pointer. I verified by the address of the
datavector that the camera node and a point cloud subscriber indeed share that message without copying data.The PR also contains some cleanup commits and one commit to guard different method signatures behind a version check to enable compilation on Ubuntu 20.04 with ROS2 rolling. Note that those checks should be done by library version and not ROS2 distribution names, as the same ROS2 distribution (e.g.
rollingin this case) can have different versions of a library on different Ubuntu versions.