pub struct MemoryBus {
pub pubsub: Arc<dyn Pubsub>,
pub request_reply: Arc<dyn RequestReply>,
pub kv: Arc<dyn KvStore>,
pub jobs: Arc<dyn JobQueue>,
}Expand description
Wired-together in-process bus. Build once, share across agents.
Fields§
§pubsub: Arc<dyn Pubsub>Pub/sub.
request_reply: Arc<dyn RequestReply>Synchronous request/reply, riding on pubsub.
kv: Arc<dyn KvStore>KV store.
jobs: Arc<dyn JobQueue>Durable job queue with DLQ + dedup-CAS, riding on pubsub + kv.
Implementations§
Source§impl MemoryBus
impl MemoryBus
Capability-shaped default — build a fresh in-process bus and
wrap it in Arc for cheap cross-task sharing.
Equivalent to Arc::new(MemoryBus::new()). Lead-with this
constructor when wiring agents that hold the bus behind an
Arc<MemoryBus>; reach for Self::new when you want owned
access to the four trait handles via field destructuring.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for MemoryBus
impl !UnwindSafe for MemoryBus
impl Freeze for MemoryBus
impl Send for MemoryBus
impl Sync for MemoryBus
impl Unpin for MemoryBus
impl UnsafeUnpin for MemoryBus
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more