#tcp-server #server-framework #epoll #fd #sockets

xcore

一个简单的基于epoll的TCP服务器框架

4个版本

使用旧的Rust 2015

0.1.3 2016年9月10日
0.1.2 2016年9月2日
0.1.1 2016年8月30日
0.1.0 2016年8月30日

#19 in #epoll

MIT许可证

9KB
231

xcore,是一个基于epoll的TCP服务器框架。


lib.rs:

xcore,是一个简单的基于epoll的TCP服务器框架。

使用方法

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 => {}
        }
    }
}

依赖关系

~120KB