1mod evented;
4mod events;
5mod id;
6mod ready;
7
8pub use self::evented::Evented;
9pub use self::events::Events;
10pub use self::id::EventedId;
11pub use self::ready::Ready;
12
13#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)]
36pub struct Event {
37 id: EventedId,
38 readiness: Ready,
39}
40
41impl Event {
42 pub fn new(id: EventedId, readiness: Ready) -> Event {
44 Event { id, readiness }
45 }
46
47 pub fn id(&self) -> EventedId {
49 self.id
50 }
51
52 pub fn readiness(&self) -> Ready {
54 self.readiness
55 }
56}
57
58#[cfg(test)]
59mod tests {
60 use crate::event::{Event, EventedId, Ready};
61
62 #[test]
63 fn event() {
64 let event = Event::new(EventedId(0), Ready::READABLE);
65 assert_eq!(event.id(), EventedId(0));
66 assert_eq!(event.readiness(), Ready::READABLE);
67 }
68
69 #[test]
70 fn equality() {
71 let event = Event::new(EventedId(0), Ready::WRITABLE);
72 assert_eq!(event, event.clone());
73
74 let event2 = Event::new(EventedId(0), Ready::WRITABLE);
76 assert_eq!(event, event2);
77
78 let event3 = Event::new(EventedId(1), Ready::WRITABLE);
80 assert_ne!(event, event3);
81
82 let event4 = Event::new(EventedId(0), Ready::READABLE);
84 assert_ne!(event, event4);
85 }
86}