example/
example.rs

1use copoll::{Interest, Mode, Token, Epoll, Event, Events};
2use std::os::unix::{net::UnixListener, io::AsRawFd};
3use std::time::Duration;
4
5const LISTENER: Token = Token(0);
6
7fn main() {
8    let mut epoll = Epoll::create().unwrap();
9    let mut listener = UnixListener::bind("test.sock").unwrap();
10    epoll.register(listener.as_raw_fd(), LISTENER, Interest::Both, Mode::Edge).unwrap();
11
12    loop {
13        let mut events = epoll.poll(Some(Duration::from_millis(2000))).unwrap();
14
15        for event in events.iter() {
16            // Handle the event, read from the socket
17            // respond to it etc
18            // Here you could also use the utility functions provided in copoll::event;
19            // example just breaks on first event
20            break;
21        }
22    }
23}