selium-switchboard 0.4.2

Selium module for abstracting channel management and messaging patterns
Documentation

Switchboard

The switchboard service provides an orchestration layer on top of core I/O. It provides realtime rationalising of channel infrastructure as the environment changes (e.g. a new subscriber being created, or a service being shut down), as well as a more ergonomic messaging library.

Crate structure

This service has 4 crates:

  • selium-switchboard (client/) - client library that guests consume
  • selium-switchboard-core (core/) - core logic
  • selium-switchboard-protocol (protocol/) - wire protocol
  • selium-switchboard-server (server/) - WASM module run by the host

Usage

Compile the selium-switchboard-server component to WebAssembly and install in the Runtime's work directory:

cargo build --release --target wasm32-unknown-unknown -p selium-switchboard-server
cp target/wasm32-unknown-unknown/release/selium_switchboard_server.wasm /path/to/selium-runtime/work/modules/

The selium-switchboard-server component should be added to the Selium Runtime's initialisation args:

selium-runtime \
  --work-dir /path/to/selium-runtime/work \
  --module "path=selium_switchboard_server.wasm;capabilities=ChannelLifecycle,ChannelReader,ChannelWriter,SingletonRegistry"