Daniel, Nodelets are single process (usually multi-threaded), and you're right - the publish/subscribe intra-process optimization was implemented to get them to use the same ROS API mechanisms (in addition to other requests). The nice thing about the entire design is that you can easily split your nodelet modules into different processes and on different machines without changing anything in your code, simply by passing them to different nodelet managers. Cheers, Radu. On 08/19/2010 05:55 PM, Daniel Stonier wrote: > > Been playing around with nodelets and have a curiosity. I understand > that their design was driven by the need to pass objects by handles > (pointers) across messaging rather than full copies. > > Recently however, one of the willow garage guys (Josh maybe? I can't > remember) pointed me to try some tests a little while ago with node > handles. If carefully passing and publishing a boost pointer, then a > subscriber in the same process will simply receive that pointer and > bypass all the tcp/ip layers. Was this implemented recently as a result > of the work on nodelets? If not, are there any important differences > between this and nodelets communication mechanisms? > > Actually, I still like the nodelets. Being able to drop your libraries > containing nodelets onto the nodelet manager via roslaunch file is > awesome. You can put together an interrupt driven control system > designed entirely from libraries and xml without the need to even > program any binaries in most cases. Awesome. > > -- > Phone : +82-10-5400-3296 (010-5400-3296) > Home: http://snorriheim.dnsdojo.com/ > Yujin Robot: http://www.yujinrobot.com/ > Embedded Control Libraries: http://snorriheim.dnsdojo.com/redmine/wiki/ecl > > > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users -- | Radu Bogdan Rusu | http://rbrusu.com/