Router Configuration

Routers are the core facilities of Crossbar.io, responsible for routing WAMP remote procedure calls between Callers and Callees, as well as routing WAMP publish-subscribe events between Publishers and Subscribers.

A Crossbar.io instance will usually be running at least one Router, unless is used solely to run application components in Workers or Guests.

A Router is configured as a Worker, more precisely a Native Worker, process of type == "router":

{
   "workers": [
      {
         "type": "router",
         "options": {
            // router options go here
         },
         "realms": [
            // realms managed by this router
         ],
         "transports": [
            // transports run by this router
         ],
         "components": [
            // app components running side-by-side with this router
         ]
      }
   ]
}

For the available options with Routers, please see

For configuration of realms, transports and components, have a look here

Configuration

parameter description
``id`` Optional router ID (default: "router<N>")
``type`` Must be "router".
``options`` Please see Native Worker Options .
``realms`` Please see Router Realms .
``transports`` Please see Router Transports .
``components`` A list of components. Please see below.
``connections`` Not yet implemented.

Router components are either plain Python classes:

parameter description
``id`` Optional component ID (default: "component<N>")
``type`` Must be "class".
``realm`` The realm to join with the component.
``role`` The atuhrole under which to attach the component.
``references`` Please see below.
``classname`` The fully qualified Python classname to use.
``extra`` Arbitrary custom data forwarded to the class ctonstructor.