Crate epicenter

source ·
Expand description

A simple sync/async event dispatcher.

Usage

use epicenter::{Event, AsyncDispatcher};

struct OrderShipped {
    order_id: u64
}
impl Event for OrderShipped {}

let mut dispatcher = AsyncDispatcher::new();

dispatcher.listen(|event: OrderShipped| async move {
    assert_eq!(event.order_id, 123);
}).await;

dispatcher.dispatch(&OrderShipped { order_id: 123 }).await?;

Re-exports

  • pub use dispatchers::async::Dispatcher as AsyncDispatcher;
  • pub use dispatchers::sync::Dispatcher as SyncDispatcher;

Modules

Traits