DDS(Data Distribution Service)是一种面向数据的发布-订阅中间件,具有去中心化、低延迟和强实时性的特点,广泛应用于自动驾驶、工业控制和航天等领域;在国产化背景下,随着 中美科技竞争 和“信创”推进,关键基础软件需要实现自主可控,DDS作为实时通信核心中间件,逐渐成为国产操作系统(如 统信UOS)和智能制造体系中的重要替代方向。我们主要是将原有基于 C 的 DDS API 做了一层 Rust 封装,本质上是通过 Rust 的 FFI 机制对底层接口进行安全抽象与重构:一方面,把原本大量基于指针、手动内存管理的 C 接口,封装成符合 Rust 所有权与生命周期模型的安全接口,减少内存泄漏和野指针风险;另一方面,将 DDS 中的核心概念(如 Participant、Publisher、Subscriber、Topic 等)设计为结构体与 trait,使接口更符合现代语言的使用习惯。同时,对错误处理从返回码风格改为 Result 类型,对并发访问结合 Rust 的 Send/Sync 语义进行约束,从而在保证性能接近原生 C 实现的前提下,大幅提升了类型安全性、可维护性和开发效率,也为后续在安全敏感或高可靠场景中的应用打下基础。我主要完成了两部分工作:一是对底层 C 语言的 DDS API 进行 Rust 封装,通过 FFI 将原本基于裸指针和手动内存管理的接口,重构为符合 Rust 所有权与生命周期模型的安全抽象,设计了如 Participant、Publisher、Subscriber、Topic 等核心结构体,并使用 Result 统一错误处理、结合 Send/Sync 约束并发访问,从而提升接口的安全性与易用性;二是在此基础上实现了视频数据的编解码与传输流程,将视频帧进行编码(如 H.264),拆分为适合 DDS 传输的数据片,通过发布-订阅模型进行实时分发,并在接收端完成重组与解码,实现低延迟的视频流传输,同时结合 DDS 的 QoS 策略(如可靠性、延迟控制)对传输效果进行优化。