Struct event_emitter::EventEmitter [] [src]

pub struct EventEmitter<T: Hash + Eq, U> { /* fields omitted */ }

Node.js-like event emitter.

Example

#[derive(Hash, Eq, PartialEq)]
enum Event {
    A,
    B,
}

let mut emitter = EventEmitter::new();

emitter.on(Event::A, |&data| {
    assert_eq!("data for A", data);
});

emitter.on(Event::B, |&data| {
    assert_eq!("data for B", data);
});

emitter.emit(Event::A, "data for A");
emitter.emit(Event::B, "data for B");

Methods

impl<T: Hash + Eq, U> EventEmitter<T, U>
[src]

[src]

Creates a new instance of EventEmitter.

[src]

Registers function handler as a listener for event. There may be multiple listeners for a single event.

[src]

Invokes all listeners of event, passing a reference to payload as an argument to each of them.

Trait Implementations

impl<T: Hash + Eq, U> Default for EventEmitter<T, U>
[src]

[src]

Returns the "default value" for a type. Read more