Inprocess Transport

This page describes the inprocess transport which delivers events published by informers in a process to participants in the same process (i.e. inter-process or network communication does not occur).

Schema

See also

URIs
Use of URIs in RSB.

The inprocess transport uses the inprocess URI schema.

Options

See also

Configuration
Specification of configuration mechanism.

The following configuration options are accepted by the inprocess transport:

Name           Type  Comment
+ transport
+-- inprocess        No options

Notification Format

Since events are transported within a single process, there is no need for serializing them into notifications and hence no need to apply converters as well. Instead, event objects published by informers are just passed to the appropriate participants after necessary meta-data has been added.

Important

This implementation requires that client code is forbidden to modify received events.

Hierarchical Bus

Distribution of events can be implemented as follows

Example for scope /foo/bar/:

super-scopes(/foo/bar/, include-self? = yes) = /, /foo/, /foo/bar/

Implementations

Language File(s)
C++ “0.10” branch of https://code.cor-lab.org/git/rsb.git.cpp at src/rsb/transport/inprocess
Java not yet implemented
Python /../rsb-python/rsb/transport/local/__init__.py
Common Lisp “0.10” branch of https://code.cor-lab.org/git/rsb.git.cl at src/transport/inprocess