Trait Listener

Source
pub trait Listener<T = ()>: Future<Output = T> + Sealed {
    // Required methods
    fn discard(self) -> bool;
    fn listens_to(&self, event: &Event<T>) -> bool;
    fn same_event(&self, other: &Self) -> bool;
}
Expand description

A handle that is listening to an Event.

This trait represents a type waiting for a notification from an Event. See the EventListener type for more documentation on this trait’s usage.

Required Methods§

Source

fn discard(self) -> bool

Drops this listener and discards its notification (if any) without notifying another active listener.

Returns true if a notification was discarded.

§Examples
use event_listener::{Event, Listener};

let event = Event::new();
let mut listener1 = event.listen();
let mut listener2 = event.listen();

event.notify(1);

assert!(listener1.discard());
assert!(!listener2.discard());
Source

fn listens_to(&self, event: &Event<T>) -> bool

Returns true if this listener listens to the given Event.

§Examples
use event_listener::{Event, Listener};

let event = Event::new();
let listener = event.listen();

assert!(listener.listens_to(&event));
Source

fn same_event(&self, other: &Self) -> bool

Returns true if both listeners listen to the same Event.

§Examples
use event_listener::{Event, Listener};

let event = Event::new();
let listener1 = event.listen();
let listener2 = event.listen();

assert!(listener1.same_event(&listener2));

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§