Do you have any timing data of this vs. TCP over loopback?  Since you're still doing a serialize/deserialize I would expect them to be fairly similar.

Josh

On Thu, May 6, 2010 at 5:05 PM, Cedric Pradalier <cedric.pradalier@mavt.ethz.ch> wrote:
Hi All,

I've just written a small shared-memory based image_transport_plugin using boost::interprocess and it raises 2 questions:

- First, I don't see how to write it efficiently while having the publish function const in image_transport/publisher.h. I currently wait to receive the first image to allocate the shared memory segment, and as far as I could tell, I can only do it in the publish function of the plugin, so this has to be non-const. Any reason why it would have to be const? Or any hint on how to achieve the same result while having the function const?

- Second, as it is written now, the plugin does not care at all that the object it manipulates are images (it cares that the object are constant/bounded size though). So would it be possible to extend/convert the image_transport plugin architecture, to a generic message_transport plugin architecture? I think sharedmem transfer would be particularly suitable for big point clouds...

I attach the targz of the package if someone wants to review it. It will NOT compile in a standard install, because of the "const" problem mentioned above. I include a patch to image_transport that removes the "const". Note that if you apply it, you also need to check the const in the other image_transport_plugins (2nd patch).

Best,

--
Dr. Cedric Pradalier
http://www.asl.ethz.ch/people/cedricp


_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users