【Rust日报】2019-09-23 – 一个用Rust编写的QUIC实现

  • 2019 年 10 月 7 日
  • 筆記

neqo – 一个用Rust编写的QUIC实现

一个用Rust编写的QUIC实现

运行测试http 0.9程序(neqm -client和neqm -server)

  • cargo build
  • ./target/debug/neqo-server 12345 -k key --db ./test-fixture/db
  • ./target/debug/neqo-client http://127.0.0.1:12345/ -o --db ./test-fixture/db

运行测试http3程序(neqm -client和neqm -http3-server)

  • cargo build
  • ./target/debug/neqo-http3-server [::]:12345 --db ./test-fixture/db
  • ./target/debug/neqo-client http://127.0.0.1:12345/ --db ./test-fixture/db

Repo:https://github.com/mozilla/neqo

tide – 授权每个人构建HTTP服务

一个模块化的Web框架围绕async/await进行构建,它是由Rust Async生态系统工作组积极开发的,目前还没有准备好投入生产使用

使用案例

fn main() -> Result<(), std::io::Error> {      let mut app = tide::App::new();      app.at("/").get(|_| async move { "Hello, world!" });      Ok(app.run("127.0.0.1:8000")?)  }  

Repo:https://github.com/rustasync/tide

godot-rust – Rust绑定Godot游戏引擎

NativeScript是GDNative的一个扩展,它允许动态库向Godot注册脚本,

Repo:https://github.com/GodotNativeTools/godot-rust

blend – .blend文件的解析器和运行时

它是一个用于Blender解析.blend文件的库 使用案例

use blend::Blend;  /// Prints the name and position of every object  fn main() {      let blend = Blend::from_path("file.blend");        for obj in blend.get_by_code(*b"OB") {          let loc = obj.get_f32_vec("loc");          let name = obj.get("id").get_string("name");            println!(""{}" at {:?}", name, loc);      }  }  

Repo:https://github.com/lukebitts/blend