Skip to main content

EventEmitter

Struct EventEmitter 

Source
pub struct EventEmitter {
    pub max_workers: usize,
    /* private fields */
}
Expand description

Manages event subscribers and dispatches events.

Fields§

§max_workers: usize

Implementations§

Source§

impl EventEmitter

Source

pub fn new() -> EventEmitter

Create a new event emitter.

Source

pub fn subscribe(&mut self, subscriber: Box<dyn EventSubscriber>)

Add a subscriber (matching Python’s void return signature).

Source

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.

Source

pub fn unsubscribe_by_id(&mut self, subscriber_id: &str) -> bool

Remove the first subscriber whose subscriber_id() matches the given ID string.

Source

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.

Source

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.

Source

pub async fn flush(&self, _timeout_ms: u64) -> Result<(), ModuleError>

Flush all pending events, waiting up to timeout_ms milliseconds.

Trait Implementations§

Source§

impl Debug for EventEmitter

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for EventEmitter

Source§

fn default() -> EventEmitter

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,