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
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