mill_io/handler.rs
1use mio::{event::Event, Interest};
2
3pub trait EventHandler {
4 fn handle_event(&self, event: &Event);
5}
6
7pub struct HandlerEntry {
8 pub handler: Box<dyn EventHandler + Send + Sync>,
9 pub interest: Interest,
10}
11
12impl HandlerEntry {
13 pub fn new<H>(handler: H, interest: Interest) -> Self
14 where
15 H: EventHandler + Send + Sync + 'static,
16 {
17 HandlerEntry {
18 handler: Box::new(handler),
19 interest,
20 }
21 }
22}