pub struct EventEmitter {
pub max_workers: usize,
/* private fields */
}Expand description
Manages event subscribers and dispatches events.
Fields§
§max_workers: usizeImplementations§
Source§impl EventEmitter
impl EventEmitter
Sourcepub fn new() -> EventEmitter
pub fn new() -> EventEmitter
Create a new event emitter.
Sourcepub fn subscribe(&mut self, subscriber: Box<dyn EventSubscriber>)
pub fn subscribe(&mut self, subscriber: Box<dyn EventSubscriber>)
Add a subscriber (matching Python’s void return signature).
Sourcepub fn unsubscribe(&mut self, subscriber: &dyn EventSubscriber) -> bool
pub fn unsubscribe(&mut self, subscriber: &dyn EventSubscriber) -> bool
Remove the first subscriber whose subscriber_id() matches the given
subscriber’s ID, matching Python’s identity-based removal semantics.
Sourcepub fn unsubscribe_by_id(&mut self, subscriber_id: &str) -> bool
pub fn unsubscribe_by_id(&mut self, subscriber_id: &str) -> bool
Remove the first subscriber whose subscriber_id() matches the given ID string.
Sourcepub async fn emit(&self, event: &ApCoreEvent) -> Result<(), ModuleError>
pub async fn emit(&self, event: &ApCoreEvent) -> Result<(), ModuleError>
Emit an event to all subscribers whose pattern matches the event type.
Errors from individual subscribers are logged but not propagated (error isolation), matching Python’s behaviour.
Sourcepub async fn emit_filtered(
&self,
event: &ApCoreEvent,
pattern: &str,
) -> Result<(), ModuleError>
pub async fn emit_filtered( &self, event: &ApCoreEvent, pattern: &str, ) -> Result<(), ModuleError>
Emit an event to subscribers matching both the caller’s filter pattern AND the subscriber’s own event_pattern.
Trait Implementations§
Source§impl Debug for EventEmitter
impl Debug for EventEmitter
Source§impl Default for EventEmitter
impl Default for EventEmitter
Source§fn default() -> EventEmitter
fn default() -> EventEmitter
Returns the “default value” for a type. Read more
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