pub struct EventManager<Event: Hash + Eq, Payload: Clone> { /* private fields */ }
Expand description
EventManager is used to get subscribers and emitters, but can also emit events itself
let mut manager: EventManager<StringEvent, i32> = EventManager::new();
let subscriber = manager.once("Event".into());
manager.emit("Event".into(), 57);
assert_eq!(futures::executor::block_on(subscriber), Ok(57));
Implementations§
Source§impl<Event: Hash + Eq, Payload: Clone> EventManager<Event, Payload>
impl<Event: Hash + Eq, Payload: Clone> EventManager<Event, Payload>
Sourcepub fn new() -> Self
pub fn new() -> Self
Create the EventManager, which can send any event, or create emitters and subscribers for a single event.
Sourcepub fn emitter(&mut self, event: Event) -> Emitter<Event, Payload>
pub fn emitter(&mut self, event: Event) -> Emitter<Event, Payload>
Get an Emitter that sends the specified event
Sourcepub fn emitter_any(&mut self) -> EmitterAny<Event, Payload>
pub fn emitter_any(&mut self) -> EmitterAny<Event, Payload>
Get an Emitter that can send any event
Sourcepub fn subscribe(&mut self, event: Event) -> Subscriber<Event, Payload>
pub fn subscribe(&mut self, event: Event) -> Subscriber<Event, Payload>
Create a subscriber that will trigger on each of the specified event
Sourcepub fn once(&mut self, event: Event) -> SubscriberOnce<Event, Payload> ⓘ
pub fn once(&mut self, event: Event) -> SubscriberOnce<Event, Payload> ⓘ
Create a subscriber that will trigger only once
Auto Trait Implementations§
impl<Event, Payload> Freeze for EventManager<Event, Payload>
impl<Event, Payload> RefUnwindSafe for EventManager<Event, Payload>
impl<Event, Payload> Send for EventManager<Event, Payload>
impl<Event, Payload> Sync for EventManager<Event, Payload>
impl<Event, Payload> Unpin for EventManager<Event, Payload>
impl<Event, Payload> UnwindSafe for EventManager<Event, Payload>
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