Crate xcore [−] [src]
xcore,is a simple epoll based TCP Server framework.
Usage
pub struct Handler { map: BTreeSet<i32>, } impl Handler { pub fn add_user(&mut self, fd: i32) { self.map.insert(fd); } } // handler executed in different thread pub fn handler(fd: i32, socket: &mut TcpStream, commander: Sender<Ctrl>, handle: Arc<RwLock<Handler>>){ let wirte_handle = handle.write().unwrap(); write_handle.add_user(fd); } fn main() { let h = Handler { map: BTreeSet::new(), }; let listen: Listener = Listener::new("127.0.0.1:6666"); let worker: Executor = Executor::new(2000,4, handler,h); loop { let v = listen.get_stream(); match v { Some(v) => { worker.add(v); } None => {} } } }
Structs
Executor |
Executor to manage socket poll and execute response to handle message |
Listener |
Async TCP listener wrapper |
Enums
Ctrl |