pub struct EventEmitter { /* private fields */ }Expand description
Event bus. One instance per session.
Implementations§
Source§impl EventEmitter
impl EventEmitter
pub fn new() -> Self
pub fn with_capacity(capacity: usize) -> Self
Sourcepub fn subscribe(&self) -> BoxStream<'static, AgentEvent>
pub fn subscribe(&self) -> BoxStream<'static, AgentEvent>
Subscribes a new listener. The returned stream ends naturally when Self is
dropped.
Sourcepub async fn emit(&self, event: AgentEvent)
pub async fn emit(&self, event: AgentEvent)
Delivers the event to every subscriber.
Awaits each sender serially. If a subscriber’s channel is full, this call blocks until the subscriber consumes — this is intentional backpressure.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for EventEmitter
impl RefUnwindSafe for EventEmitter
impl Send for EventEmitter
impl Sync for EventEmitter
impl Unpin for EventEmitter
impl UnsafeUnpin for EventEmitter
impl UnwindSafe for EventEmitter
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