use abxbus::{
event,
event_bus::{EventBus, EventBusOptions},
BaseEvent,
types::{EventConcurrencyMode, EventHandlerConcurrencyMode},
};
use futures::executor::block_on;
event! {
struct ParallelEvent {
event_result_type: (),
}
}
let bus = EventBus::new_with_options(
Some("ParallelEventBus".to_string()),
EventBusOptions {
event_concurrency: EventConcurrencyMode::Parallel,
event_handler_concurrency: EventHandlerConcurrencyMode::Parallel,
..EventBusOptions::default()
},
);
bus.on(ParallelEvent, |_event: ParallelEvent| async move { Ok(()) });
bus.emit(ParallelEvent { ..Default::default() });
bus.emit(ParallelEvent { ..Default::default() });
block_on(bus.wait_until_idle(None));