-
Notifications
You must be signed in to change notification settings - Fork 61
Description
[任务] Xline 代码清理与工程结构优化
[任务分值] 40 分
[背景描述]
Xline 当前核心通信机制基于 gRPC 实现,并在测试与模拟场景中引入了 madsim 库。在对 Xline 进行通信协议重构、将原有基于 gRPC 的实现调整为基于 QUIC 的实现过程中,现有工程中部分 madsim 相关依赖和代码与当前重构目标不再匹配,且对协议替换过程造成了一定干扰。
因此,有必要在本次重构过程中,对 Xline 的工程结构与相关依赖进行同步整理,以保证协议修改工作的顺利推进,并确保系统在移除 gRPC 后仍能正常构建、运行与测试。
[需求描述]
-
madsim 相关代码与依赖清理
对 Xline 项目中引入的 madsim 相关依赖、配置及实现代码进行系统性清理与删除,包括但不限于:- madsim 相关的依赖声明与构建配置
- 基于 madsim 的测试代码与模拟环境适配逻辑
- 与 madsim 使用场景强绑定的接口或实现细节
清理后,应确保 Xline 的核心功能代码在不依赖 madsim 的情况下能够正常编译、运行,并通过必要的测试。
-
Workspace 依赖管理方式调整
Xline 当前已采用 Cargo workspace 组织多个 Rust crates,但各 crate 仍分别维护自身的依赖版本。在本次重构过程中,需要对现有 workspace 的依赖管理方式进行整理与调整:- 将公共依赖版本统一收敛至 workspace 根目录进行管理
- 减少各 crate 中重复或不一致的依赖声明
- 在不改变现有 crate 边界的前提下,调整依赖引用方式以适配统一的依赖管理模式
- 需要引入quinn库的依赖,以便后续使用。
通过上述调整,使工程结构与当前基于 QUIC 的通信协议实现保持一致,便于整体构建、调试与维护。
[代码标准]
- 所有 PR 提交必须签署 Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参
数,参考 Contributing Guide (https://github.com/web3infra-foundation/mega/blob/main/docs/contributing.md); - 所有 PR 提交必须通过 GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
- 代码注释均需要使用英文;
[PR 提交地址]
提交到 rk8s (https://github.com/r2cn-dev/rk8s) 仓库的 main 分支 project/slayerfs 目录;
[开发指导]
- 认领任务参考 r2cn 开源实习计划 - 任务认领与确认 (https://r2cn.dev/docs/student/assign);
[导师及邮箱]
请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord (https://discord.gg/WRp4TKv6rh) 后在 #p-rk8s 频道和导师交
流。
- Quanyi Ma [email protected] ([email protected])
[备注]
- 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务 (https://r2cn.dev/docs/
student/pre-task) 和 r2cn 开源实习计划 - 学生注册与审核 (https://r2cn.dev/docs/student/signup)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status