URIs

Transport-specific URLs

Syntax

[SCHEME:[//HOST[:PORT]]][PATH][?QUERY][#FRAGMENT]

Components of the URL are interpreted as follows:

SCHEME
transport name (e.g spread)
HOST
transport-specific “host” option (e.g. host that runs the daemon for Spread transport)
PORT
transport-specific “port” option (e.g. port on which daemon listens for Spread transport)
PATH

A scope which designates one of the following things

QUERY
“freestyle” transport-specific options
FRAGMENT

Note

While URLs in general allow specifying host and port components without specifying a scheme (e.g. //myhost:1234), this is not allowed in the context of RSB.

Generic URIs

Syntax

rsb:[PATH][#FRAGMENT]

Warning

Generic URIs are not currently used and their potential semantics have not yet been specified.

Examples

The following examples demonstrate how to specify bus connections when creating participants:

`` ``

Participate in channel with scope / using the default transport configuration.

spread:

Participate in channel with scope / using the Spread transport with its default configuration.

inprocess:

Participate in channel with scope / using the in-process transport with its default configuration.

spread://localhost:5555

Participate in channel with scope / via the Spread daemon running on localhost and listening on port 5555.

inprocess://someotherhost

Syntactically correct, but does not make sense.

spread:/foo/bar

Participate in channel with scope /foo/bar using the default transport configuration.

spread:?maxfragmentsize=10000

Participate in channel with scope / using the Spread transport with default host and port and a maximum event fragment size of 10000 bytes.

spread:?maxfragmentsize=10000&tcpnodelay=yes

Likewise, but in addition with tcpnodelay option set to yes.

//myhost:1234

Illegal because there is no scheme component.

Implementations

Language File(s)
C++ not yet implemented
Java not yet implemented
Python not yet implemented
Common Lisp /../rsb-cl/src/uris.lisp