selium-switchboard

Crates.ioselium-switchboard
lib.rsselium-switchboard
version0.2.0
created_at2026-01-13 00:07:12.780444+00
updated_at2026-01-21 05:57:13.116894+00
descriptionSelium module for abstracting channel management and messaging patterns
homepagehttps://selium.com
repositoryhttps://github.com/seliumlabs/selium-modules
max_upload_size
id2039090
size78,678
Pete Hayes (itpetey)

documentation

README

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"
Commit count: 29

cargo fmt