#qemu #protocols #speed #bindings #bindings-generator #generate #qmp

qemu-rust

一个使用 QMP 协议与 Qemu 交互的库:http://wiki.qemu.org/QMP

1 个不稳定发布版

使用旧版 Rust 2015

0.1.0 2016年7月11日

#7#qmp

MIT/Apache

150KB
5K SLoC

Qemu Rust

此代码解析 Qemu QAPI 并使用它来生成绑定。这是因为 Qemu 是基于 Json 的 API,允许轻松生成语言绑定。如果您想为这里未涵盖的新语言创建绑定,只需将模板添加到模板文件夹中,并遵循那里的示例。

单元测试

这是从 qemu-java 复制的,因为我认为这击中了这个项目重要性的核心

一切关于开发速度,而开发速度在很大程度上取决于测试速度,这个包是解决测试速度问题的关键部分。

开发速度的主要限制因素是编写代码与获取测试结果之间经过的时间。如果正在开发的项目需要完整的 Unix 环境,通常需要等待一整夜 Jenkins 构建,这可能需要几个小时,并且由一堆临时 shell 脚本管理 - 是的,我知道你做过,因为我做过。我们都有过这样的经历。

此外,这样的临时 shell 脚本使全面测试故障模式变得不可能:磁盘、CPU、网络、机架、端口,因为它们不能以细粒度的方式控制仿真环境。此包允许自动化复杂网络拓扑的组装和处理,控制应用程序和底层 VM 的整个生命周期,以及通过 QEmu 或 Linux 仿真引入任何可以仿真的故障。

依赖关系

~4–14MB
~140K SLoC