ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

To answer your questions:

1 . Does ROS also use UNIX sockets to do all its network communications?

No, it uses TCP/IP for nodes (to cross process boundaries), and pointer-passing in nodelets (essentially nodes mapped on threads).

2 . Does ROS store all the topics & subscribers associated with each topic in a database of some sort or just in memory?

Plain ROS (ie: no extensions providing additional transports) uses in-memory buffering, so no databases.

To answer your questions:

1 . Does ROS also use UNIX sockets to do all its network communications?

No, it uses TCP/IP for nodes (to cross process boundaries), and pointer-passing in nodelets (essentially nodes mapped on threads).

2 . Does ROS store all the topics & subscribers associated with each topic in a database of some sort or just in memory?

Plain ROS (ie: no extensions providing additional transports) uses in-memory buffering, buffering for messages, and a special node (the master) as a central index to provide topic->node mapping services. AFAIK that mapping is stored in memory, no databases (if you mean (R)DBMS) involved. Node->node communication is also direct, so no databases.the master is only involved in the initial setup of the connection.

To answer your questions:

1 . Does ROS also use UNIX sockets to do all its network communications?

No, it uses TCP/IP for nodes (to cross process boundaries), and pointer-passing in nodelets (essentially nodes mapped on threads).

2 . Does ROS store all the topics & subscribers associated with each topic in a database of some sort or just in memory?

Plain ROS (ie: no extensions providing additional transports) uses in-memory buffering for messages, and a special node (the master) as a central index to provide topic->node mapping services. AFAIK that mapping is stored in memory, no databases (if you mean (R)DBMS) involved. Node->node communication is also direct, so the master is only involved in the initial setup of the connection.


Edit: see also the ROS/Concepts wiki page.