pub struct EventEmitter { /* private fields */ }Expand description
Fire-and-forget event broadcaster.
Wraps tokio::sync::broadcast for multi-consumer event distribution.
If no subscribers exist, emitted events are silently dropped.
Clone is cheap — it just clones the broadcast sender handle.
Implementations§
Source§impl EventEmitter
impl EventEmitter
Sourcepub fn with_exporter(capacity: usize, exporter: Arc<dyn EventExporter>) -> Self
pub fn with_exporter(capacity: usize, exporter: Arc<dyn EventExporter>) -> Self
Creates a new emitter with an event exporter for external observability.
When set, every emitted event is also forwarded to the exporter
via a fire-and-forget tokio::spawn — zero latency on the emit path.
Trait Implementations§
Source§impl Clone for EventEmitter
impl Clone for EventEmitter
Source§fn clone(&self) -> EventEmitter
fn clone(&self) -> EventEmitter
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 moreSource§impl Debug for EventEmitter
impl Debug for EventEmitter
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more