【项目难度】:基础
【项目描述】:StratoVirt是计算产业中面向云数据中心的企业级虚拟化平台,实现了一套架构统一支持虚拟机、容器、Serverless三种场景。StratoVirt在轻量低噪、软硬协同、Rust语言级安全等方面具备关键技术竞争优势。
错误处理是StratoVirt中重要的组成部分,不仅要满足逻辑的正确性,同时要做到可维可测,即软件发生错误后开发人员或者用户可以根据错误信息或日志快速定位到根本原因,并且在代码的实现上要尽量做到简洁和优雅。
目前StratoVirt中的错误处理使用了第三方库error-chain,此库可以做到不同类型错误的自动转换和链接,但是活跃度日趋减弱,已经被rust官方移入rust-lang-deprecated。因此,需要找到社区在功能、可靠性、稳定性、活跃度方面符合要求的新的库替换error-chain。
【产出标准】:
调研目前社区活跃的第三方错误处理库的优缺点,提交调研报告。
将现有StratoVirt项目中使用的error-chain替换成经过调研后选择的最优的库,替换后不影响StratoVirt现有功能和可维可测性。
【技术要求】:
熟悉Rust语言
【导师姓名/导师邮箱】:杨杰/frank_yangjie@163.com
【成果提交仓库】:https://gitee.com/openeuler/stratovirt(dev分支)
【相关参考资料】:
https://doc.rust-lang.org/book/ch09-00-error-handling.html
https://docs.rs/
本次活动将面向全球学生,题目内容请同时提交中英文版本。
project name:
【Difficulty】:Basical
【Description】:StratoVirt is an enterprise-level virtualization platform for cloud data center in the computing industry. It realizes a set of architecture to support three scenarios: virtual machine, container and serverless. StratoVirt has key technology competitive advantages in light weight, low noise, cooperation of software and hardware, and security of Rust language.
Error handling is an important part of StratoVirt, which not only needs to be logically correct, but also needs to be measurable, that is, the developer or user can quickly locate the root cause based on the error message or log, and try to be as concise and elegant as possible in the implementation of the code.
Error handling in StratoVirt currently uses a third-party library, error-chain, which automatically converts and links to different types of errors, but is becoming less active and has been officially moved to rust-lang-deprecated. Therefore, you need to find a new library for the community to replace error-chain in terms of functionality, reliability, stability, and activity.
【Output Requirements】:
Research the advantages and disadvantages of the active third-party error-handling libraries in the community and submit a research report.
Replace the error-chain used in the existing StratoVirt project with the best library selected after investigation does not affect the existing functionality and scalability of the StratoVirt.
【Technical Requirements】:
Familiar with Rust.
【Mentor/Email】:Jie Yang/frank_yangjie@163.com
【Project Repository】:https://gitee.com/openeuler/stratovirt(Branch dev)
【Notes】:
Hi frankyj915, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: sig-OSCourse, and any of the maintainers: @ZhengZhenyu , @郑晨 , @iscassiyang , @genedna , @openeuler-ci-bot
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论