35 releases
| 0.5.4 | Jan 27, 2026 |
|---|---|
| 0.5.0 | Dec 2, 2025 |
| 0.4.21 | Jul 6, 2025 |
| 0.4.17 | Jan 23, 2025 |
| 0.3.6 | Nov 6, 2022 |
#495 in WebSocket
97 downloads per month
Used in 10 crates
(8 directly)
330KB
9K
SLoC
BUS/RT - Rust-native IPC broker
What is BUS/RT
BUS/RT® is a Rust-native IPC broker, written in Rust/Tokio, inspired by NATS, ZeroMQ and Nanomsg. BUS/RT is fast, flexible and very easy to use, optimized for both high-load and ultra-low latency real-time scenarios.
The library can be embedded in any Rust project or be used as a standalone server.
BUS/RT is the core bus of EVA ICS v4.
Inter-process communication
The following communication patterns are supported out-of-the-box:
- one-to-one messages
- one-to-many messages
- pub/sub
The following channels are supported:
- async channels between threads/futures (Rust only)
- UNIX sockets (local machine, Linux/BSD)
- TCP sockets (Linux/BSD/Windows)
- WebSockets (broker and async client only)
In addition to Rust, BUS/RT has also bindings for the following languages:
- Python (sync): https://pypi.org/project/busrt/
- Python (async): https://pypi.org/project/busrt-async/
- JavaScript (Node.js): https://www.npmjs.com/package/busrt
- Dart https://github.com/AndreiLosev/busrt_client
Rust crate: https://crates.io/crates/busrt
Real-time safety
Use rt feature to use for internal mutexes
parking_lot_rt - a parking_lot
fork without spin-locks, which is real-time safe.
Technical documentation
The full documentation is available at: https://info.bma.ai/en/actual/busrt/
Some numbers
Benchmarks
CPU: i7-7700HQ
Broker: 4 workers, clients: 8, payload size: 100 bytes, local IPC (single unix socket), totals:
| stage | iters/s |
|---|---|
| rpc.call | 126_824 |
| rpc.call+handle | 64_694 |
| rpc.call0 | 178_505 |
| send+recv.qos.no | 1_667_131 |
| send+recv.qos.processed | 147_812 |
| send.qos.no | 2_748_870 |
| send.qos.processed | 183_795 |
About the authors
Bohemia Automation / Altertech is a group of companies with 15+ years of experience in the enterprise automation and industrial IoT. Our setups include power plants, factories and urban infrastructure. Largest of them have 1M+ sensors and controlled devices and the bar raises higher and higher every day.
Dependencies
~3–31MB
~518K SLoC