Expand description
§Message Bus
Tokio-based MessageBusPort implementation using tokio::sync::mpsc channels.
§Architecture
┌──────────┐ InboundMessage ┌──────────────┐
│ Bot / │ ────────────────→ │ │
│ Adapter │ │ TokioMessage │
│ │ ←──────────────── │ Bus │
└──────────┘ OutboundMessage └──────────────┘
↑ ↓
recv() send()
(agent side) (bot side)§Usage
ⓘ
use bob_runtime::message_bus::MessageBusHandle;
let handle = MessageBusHandle::new(64);
let inbound = handle.inbound_port();
let outbound = handle.outbound_port();
// Bot side pushes inbound messages
inbound.push(msg).await?;
// Agent side consumes inbound messages
let msg = outbound.recv().await?;Structs§
- BotSide
Bus - The bot-side port for pushing inbound messages and consuming outbound messages.
- Message
BusBuilder - Builder for configuring a
MessageBusHandle. - Message
BusHandle - Handle that owns both sides of a message bus channel pair.
- Tokio
Message Bus - Concrete
MessageBusPortbacked bytokio::sync::mpscchannels.