pub struct BusManager { /* private fields */ }Expand description
Manager for all event buses in the system Supports multiple bus types for different streaming semantics
Implementations§
Source§impl BusManager
impl BusManager
pub fn new() -> Self
pub fn with_capacity(capacity: usize) -> Self
Sourcepub async fn get_or_create_state_bus(
&self,
view_id: &str,
key: &str,
) -> Receiver<Arc<Bytes>>
pub async fn get_or_create_state_bus( &self, view_id: &str, key: &str, ) -> Receiver<Arc<Bytes>>
Get or create a state bus (latest-value semantics) Each (view_id, key) pair gets its own watch channel
Sourcepub async fn get_or_create_kv_bus(
&self,
view_id: &str,
) -> Receiver<Arc<BusMessage>>
pub async fn get_or_create_kv_bus( &self, view_id: &str, ) -> Receiver<Arc<BusMessage>>
Get or create a KV bus (key-value semantics with broadcast)
Sourcepub async fn get_or_create_list_bus(
&self,
view_id: &str,
) -> Receiver<Arc<BusMessage>>
pub async fn get_or_create_list_bus( &self, view_id: &str, ) -> Receiver<Arc<BusMessage>>
Get or create a list bus (append-only semantics)
Sourcepub async fn publish_state(&self, view_id: &str, key: &str, frame: Arc<Bytes>)
pub async fn publish_state(&self, view_id: &str, key: &str, frame: Arc<Bytes>)
Publish to a state bus (latest-value)
Sourcepub async fn publish_kv(&self, view_id: &str, message: Arc<BusMessage>)
pub async fn publish_kv(&self, view_id: &str, message: Arc<BusMessage>)
Publish to a KV bus
Sourcepub async fn publish_list(&self, view_id: &str, message: Arc<BusMessage>)
pub async fn publish_list(&self, view_id: &str, message: Arc<BusMessage>)
Publish to a list bus
Trait Implementations§
Source§impl Clone for BusManager
impl Clone for BusManager
Source§fn clone(&self) -> BusManager
fn clone(&self) -> BusManager
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for BusManager
impl !RefUnwindSafe for BusManager
impl Send for BusManager
impl Sync for BusManager
impl Unpin for BusManager
impl !UnwindSafe for BusManager
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