selium-switchboard-protocol 0.1.0

Selium module for abstracting channel management and messaging patterns
docs.rs failed to build selium-switchboard-protocol-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

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"