mod evented;
mod events;
mod id;
mod ready;
pub use self::evented::Evented;
pub use self::events::Events;
pub use self::id::EventedId;
pub use self::ready::Ready;
#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)]
pub struct Event {
id: EventedId,
readiness: Ready,
}
impl Event {
pub fn new(id: EventedId, readiness: Ready) -> Event {
Event { id, readiness }
}
pub fn id(&self) -> EventedId {
self.id
}
pub fn readiness(&self) -> Ready {
self.readiness
}
}
#[cfg(test)]
mod tests {
use crate::event::{Event, EventedId, Ready};
#[test]
fn event() {
let event = Event::new(EventedId(0), Ready::READABLE);
assert_eq!(event.id(), EventedId(0));
assert_eq!(event.readiness(), Ready::READABLE);
}
#[test]
fn equality() {
let event = Event::new(EventedId(0), Ready::WRITABLE);
assert_eq!(event, event.clone());
let event2 = Event::new(EventedId(0), Ready::WRITABLE);
assert_eq!(event, event2);
let event3 = Event::new(EventedId(1), Ready::WRITABLE);
assert_ne!(event, event3);
let event4 = Event::new(EventedId(0), Ready::READABLE);
assert_ne!(event, event4);
}
}