#mio #demo #work-in-progress #learning #networking

nightly iryna

基于 mio(正在开发中)的一个轻量级网络库

1 个不稳定版本

使用旧的 Rust 2015

0.1.4 2018 年 1 月 12 日
0.1.3 2018 年 1 月 5 日
0.1.2 2018 年 1 月 4 日
0.1.1 2018 年 1 月 4 日
0.1.0 2018 年 1 月 4 日

#work-in-progress 中排名第 10

MIT 许可证

17KB
417

Iryna

crates

  • 正在开发中
  • 基于 mio
  • 用于学习 Rust

待办事项

  • 通道关闭检测
  • 优雅地关闭服务器
  • 反序列化 & 分隔符
  • 主动发送

DEMO

回声服务

    use std;
    use channel::*;
    use acceptor::*;

    #[test]
    fn it_works() {
        Acceptor::new()
            .worker_count(4)
            .bind("127.0.0.1", 9098)
            .opt_nodelay(true)
            .opt_send_buf_size(4096)
            .opt_recv_buf_size(4096)
            .on_receive(|ref mut ch| {
                let sbuf: String = ch.read_test();
                match sbuf.trim_right() {
                    "quit" => {
                        ch.close();
                    }
                    _ => {
                        ch.write(sbuf.as_bytes());
                    }
                }
            })
            .on_ready(|ref mut ch| {
                ch.write("Welcome.\n".as_bytes());
            })
            .accept();
        std::thread::sleep_ms(100000);
    }

依赖项

约 2MB
约 30K SLoC