Skip to main content

EventEmittingModel

Trait EventEmittingModel 

Source
pub trait EventEmittingModel: BaseModel {
    type Event: Send + Sync + 'static;

    // Required method
    fn get_event_emitter() -> &'static EventEmitter<Self::Event>;

    // Provided method
    fn register_event_handler<F: Fn(State, Arc<Self::Event>) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<(), Error>> + Send + 'static>(
        listener: F,
    ) -> EventHandlerHandle { ... }
}

Required Associated Types§

Source

type Event: Send + Sync + 'static

Required Methods§

Provided Methods§

Source

fn register_event_handler<F: Fn(State, Arc<Self::Event>) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<(), Error>> + Send + 'static>( listener: F, ) -> EventHandlerHandle

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§