5 unstable releases
Uses new Rust 2024
| 0.4.2 | Feb 3, 2026 |
|---|---|
| 0.4.1 | Jan 30, 2026 |
| 0.4.0 | Jan 28, 2026 |
| 0.2.0 | Jan 21, 2026 |
| 0.1.0 | Jan 13, 2026 |
#775 in WebAssembly
73 downloads per month
Used in 3 crates
(2 directly)
100KB
2.5K
SLoC
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 consumeselium-switchboard-core(core/) - core logicselium-switchboard-protocol(protocol/) - wire protocolselium-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"
Dependencies
~0.3–2MB
~44K SLoC