URIs

Generic URIs

Syntax:

rsb:[PATH][#FRAGMENT]

Components of the URL are interpreted as follows:

This may resolve to:

  • Participant

    • If there is only one of these entities this is enough for resolving it

    • If multiple entities reside on the scope, a single instance can be selected using their ID:

      rsb:/hierarchical/service/definition/further/to/participant#UniqueIDOfParticipant[UUID]
  • Nothing

These generic URIs require a global naming service.

Transport-specific URLs

Syntax:

[SCHEME:][//HOST][:PORT][PATH][?QUERY][#FRAGMENT]
transport://<location.transport.specific[:PORT]>/hierarchical/service/definition/further/to/participant

Components of the URL are interpreted as follows:

Examples

The following examples demonstrate generic URIs:

rsb:
The channel designated by the scope /.
rsb:/
The channel designated by the scope /.
rsb:/foo/bar
The channel designated by the scope /foo/bar.
rsb:/foo/bar#10838319-09A4-4D15-BD59-5E054CDB4403
The participant with ID 10838319-09A4-4D15-BD59-5E054CDB4403.

The following example 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.

Implementations

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