Interface SlaveXmlRpcEndpoint

All Superinterfaces:
XmlRpcEndpoint
All Known Implementing Classes:
SlaveXmlRpcEndpointImpl

public interface SlaveXmlRpcEndpoint extends XmlRpcEndpoint
Author:
damonkohler@google.com (Damon Kohler)
  • Method Details

    • getBusStats

      List<Object> getBusStats(String callerId)
      Retrieve transport/topic statistics.
      Parameters:
      callerId - ROS caller ID.
      Returns:
      stats in the form of
      [publishStats, subscribeStats, serviceStats]

      where
      publishStats: [[topicName, messageDataSent, pubConnectionData]...]
      subscribeStats: [[topicName, subConnectionData]...]
      serviceStats: (proposed) [numRequests, bytesReceived, bytesSent]
      pubConnectionData: [connectionId, bytesSent, numSent, connected]
      subConnectionData: [connectionId, bytesReceived, dropEstimate, connected]
      dropEstimate: -1 if no estimate.

    • getBusInfo

      List<Object> getBusInfo(String callerId)
      Retrieve transport/topic connection information.
      Parameters:
      callerId - ROS caller ID.
      Returns:
      busInfo in the form of:
      [[connectionId1, destinationId1, direction1, transport1, topic1, connected1]... ]

      connectionId is defined by the node and is opaque. destinationId is the XMLRPC URI of the destination.

      direction is one of 'i', 'o', or 'b' (in, out, both).

      transport is the transport type (e.g. 'TCPROS'). topic is the topic name.

      connected1 indicates connection status. Note that this field is only provided by slaves written in Python at the moment (cf. rospy/masterslave.py in _TopicImpl.get_stats_info() vs. roscpp/publication.cpp in Publication::getInfo()).

    • getMasterUri

      List<Object> getMasterUri(String callerId)
    • shutdown

      List<Object> shutdown(String callerId, String message)
    • getPid

      List<Object> getPid(String callerId)
    • getSubscriptions

      List<Object> getSubscriptions(String callerId)
    • getPublications

      List<Object> getPublications(String callerId)
      Retrieve a list of topics that this node publishes.
      Parameters:
      callerId - ROS caller ID.
      Returns:
      topicList is a list of topics published by this node and is of the form [ [topic1, topicType1]...[topicN, topicTypeN]]]
    • paramUpdate

      List<Object> paramUpdate(String callerId, String key, boolean value)
      Callback from master with updated value of subscribed parameter.
      Parameters:
      callerId - ROS caller ID.
      key - parameter name, globally resolved
      value - new parameter value
      Returns:
      ignore
    • paramUpdate

      List<Object> paramUpdate(String callerId, String key, char value)
    • paramUpdate

      List<Object> paramUpdate(String callerId, String key, byte value)
    • paramUpdate

      List<Object> paramUpdate(String callerId, String key, short value)
    • paramUpdate

      List<Object> paramUpdate(String callerId, String key, int value)
    • paramUpdate

      List<Object> paramUpdate(String callerId, String key, double value)
    • paramUpdate

      List<Object> paramUpdate(String callerId, String key, String value)
    • paramUpdate

      List<Object> paramUpdate(String callerId, String key, List<?> value)
    • paramUpdate

      List<Object> paramUpdate(String callerId, String key, Vector<?> value)
    • paramUpdate

      List<Object> paramUpdate(String callerId, String key, Map<?,?> value)
    • publisherUpdate

      List<Object> publisherUpdate(String callerId, String topic, Object[] publishers)
    • requestTopic

      List<Object> requestTopic(String callerId, String topic, Object[] protocols)
      Publisher node API method called by a subscriber node. This requests that source allocate a channel for communication. Subscriber provides a list of desired protocols for communication. Publisher returns the selected protocol along with any additional params required for establishing connection. For example, for a TCP/IP-based connection, the source node may return a port number of TCP/IP server.
      Parameters:
      callerId - ROS caller ID
      topic - topic name
      protocols - list of desired protocols for communication in order of preference
      Returns:
      protocolParams or empty list if there are no compatible protocols