Client library requirements
https://wiki.ros.org/Implementing%20Client%20Libraries
name
status
implement the slave side of the master/slave API
✔️
handle node-to-node transport negotiation and connection setup
✔️
handle transport-specific serialization and deserialization of messages
✔️
parse command-line Remapping Arguments
✔️
Subscribe to a simulated Clock
✔️
publish debugging messages to rosout
✔️
object representation of message types
✔️
event loop for connection servicing
✔️
user callback invocation on message receipt
✔️
name
status
xml-rpc
✔️
TCPROS
✔️
UDPROS
✔️
https://wiki.ros.org/ROS/Master_API
method
client
registerService
✔️
unregisterService
✔️
registerSubscriber
✔️
unregisterSubscriber
✔️
registerPublisher
✔️
unregisterPublisher
✔️
lookupNode
✔️
getPublishedTopics
✔️
getTopicTypes
✔️
getSystemState
✔️
getUri
✔️
lookupService
✔️
https://wiki.ros.org/ROS/Parameter%20Server%20API
method
client
deleteParam
✔️
setParam
✔️
getParam
✔️
searchParam
✔️
subscribeParam
unsubscribeParam
hasParam
✔️
getParamNames
✔️
https://wiki.ros.org/ROS/Slave_API
method
client
server
getBusStats
getBusInfo
✔️
✔️
getMasterUri
shutdown
✔️
✔️
getPid
✔️
✔️
getSubscriptions
getPublications
✔️
✔️
paramUpdate
publisherUpdate
✔️
✔️
requestTopic
✔️
✔️