A subset of the network protocols used in YARP (called “carriers” there) is supported by RSB.
The YARP transports for RSB map the following URI schemas to YARP network protocols:
tcp+yarp (See TCP+YARP Transport (without Nameservice operations))
Direct connections to the TCP endpoints of YARP ports.
yarp (See YARP Transport (with Nameservice operations))
Direct connections to the TCP endpoints of YARP ports. This low-level protocol requires knowing the TCP endpoint of a YARP port. Knowing the port name is not sufficient on this level.
The details of this protocol are documented here.
Note
This schema is supported in the C++ and Common Lisp implementations of RSB.
The following configuration options are accepted:
Name Type Comment
+ transport
+-- tcp+yarp
+---- host string Hostname on which endpoint runs
+---- port uint16 Port on which endpoint listens
Language | File(s) |
---|---|
C++ | “0.11” branch of https://code.cor-lab.org/git/rsb.git.yarp-cpp src/rsb/transport/yarp |
Java | not implemented yet |
Python | not implemented yet |
Common Lisp | “0.11” branch of https://code.cor-lab.org/git/rsb.git.yarp-cl src/transport/yarptcp |
Connections to YARP ports are made via the YARP nameservice. In this case, the YARP nameservice is consulted to determine the (TCP) endpoint for a YARP port name. After that, a low-level connection is established, if the carrier of the port is supported.
For this schema, nameservice queries which yield multiple results or change over time can lead to a changing set of connections. For example, the URL yarp:/iCubSim/cam could cause connections to be established to YARP ports named /iCubSim/cam/left, /iCubSim/cam/left/fovea, /iCubSim/cam/right, /iCubSim/cam/right/fovea if these ports are registered in the YARP nameservice.
Note
This schema is only supported in the Common Lisp implementation of RSB.
The following configuration options are accepted:
Name Type Comment
+ transport
+-- yarp
+---- host string Hostname or address on which the YARP nameserver listens
+---- port uint16 Port on which the YARP nameserver listens
Language | File(s) |
---|---|
C++ | not implemented yet |
Java | not implemented yet |
Python | not implemented yet |
Common Lisp | “0.11” branch of https://code.cor-lab.org/git/rsb.git.yarp-cl src/transport/yarp |
The connectors provided by the YARP transports for RSB are not proper YARP ports: