Struct event_listener::EventListener [−][src]
pub struct EventListener { /* fields omitted */ }
Expand description
A guard waiting for a notification from an Event
.
There are two ways for a listener to wait for a notification:
- In an asynchronous manner using
.await
. - In a blocking manner by calling
EventListener::wait()
on it.
If a notified listener is dropped without receiving a notification, dropping will notify another active listener. Whether one additional listener will be notified depends on what kind of notification was delivered.
Implementations
Blocks until a notification is received.
Examples
use event_listener::Event;
let event = Event::new();
let listener = event.listen();
// Notify `listener`.
event.notify(1);
// Receive the notification.
listener.wait();
Blocks until a notification is received or a timeout is reached.
Returns true
if a notification was received.
Examples
use std::time::Duration;
use event_listener::Event;
let event = Event::new();
let listener = event.listen();
// There are no notification so this times out.
assert!(!listener.wait_timeout(Duration::from_secs(1)));
Blocks until a notification is received or a deadline is reached.
Returns true
if a notification was received.
Examples
use std::time::{Duration, Instant};
use event_listener::Event;
let event = Event::new();
let listener = event.listen();
// There are no notification so this times out.
assert!(!listener.wait_deadline(Instant::now() + Duration::from_secs(1)));
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;
let event = Event::new();
let listener1 = event.listen();
let listener2 = event.listen();
event.notify(1);
assert!(listener1.discard());
assert!(!listener2.discard());
Returns true
if this listener listens to the given Event
.
Examples
use event_listener::Event;
let event = Event::new();
let listener = event.listen();
assert!(listener.listens_to(&event));
Returns true
if both listeners listen to the same Event
.
Examples
use event_listener::Event;
let event = Event::new();
let listener1 = event.listen();
let listener2 = event.listen();
assert!(listener1.same_event(&listener2));
Trait Implementations
Auto Trait Implementations
impl Unpin for EventListener
Blanket Implementations
Mutably borrows from an owned value. Read more
into_future
)The output that the future will produce on completion.
type Future = F
type Future = F
into_future
)Which kind of future are we turning this into?
into_future
)Creates a future from a value.