pub struct SseBroadcaster { /* private fields */ }Expand description
Broadcasts Events to SSE clients via a tokio::sync::broadcast channel.
Register this as an EventSubscriber on the Engine
to forward all (or filtered) domain events to connected SSE clients.
§Examples
use ironflow_api::sse::SseBroadcaster;
let broadcaster = SseBroadcaster::new();
assert_eq!(broadcaster.receiver_count(), 0);
let _receiver = broadcaster.subscribe();
assert_eq!(broadcaster.receiver_count(), 1);Implementations§
Source§impl SseBroadcaster
impl SseBroadcaster
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new broadcaster with the default capacity (256).
§Examples
use ironflow_api::sse::SseBroadcaster;
let broadcaster = SseBroadcaster::new();Sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Create a new broadcaster with a custom channel capacity.
§Examples
use ironflow_api::sse::SseBroadcaster;
let broadcaster = SseBroadcaster::with_capacity(64);Sourcepub fn subscribe(&self) -> Receiver<Event>
pub fn subscribe(&self) -> Receiver<Event>
Create a new receiver for the broadcast channel.
Each SSE client connection calls this to get its own receiver.
Sourcepub fn receiver_count(&self) -> usize
pub fn receiver_count(&self) -> usize
Returns the number of active receivers (connected SSE clients).
Trait Implementations§
Source§impl Default for SseBroadcaster
impl Default for SseBroadcaster
Source§impl EventSubscriber for SseBroadcaster
impl EventSubscriber for SseBroadcaster
Auto Trait Implementations§
impl Freeze for SseBroadcaster
impl RefUnwindSafe for SseBroadcaster
impl Send for SseBroadcaster
impl Sync for SseBroadcaster
impl Unpin for SseBroadcaster
impl UnsafeUnpin for SseBroadcaster
impl UnwindSafe for SseBroadcaster
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