Rust 的 Cap'n Proto
Cap'n Proto 是一个用于分布式系统的类型系统。使用 Cap'n Proto,您可以在 模式文件 中描述数据和接口,如下所示:
值被编码在 一种格式 中,这种格式不仅适用于通过网络传输和保存到磁盘,还适用于零拷贝的内存遍历。也就是说,您可以完全跳过序列化和反序列化!正是基于这种意义,Cap'n Proto 比诸如 Protocol Buffers 等替代方案更优越。
在 Rust 中,上述示例的生成代码包括一个 point::Reader<'a> 结构,具有 get_x() 和 get_y() 方法,以及一个 point::Builder<'a> 结构,具有 set_x() 和 set_y() 方法。生命周期参数 'a 是一个正式提醒,表明 point::Reader<'a> 和 point::Builder<'a> 都包含借用引用,指向包含编码消息的原始缓冲区。这些底层缓冲区从来没有实际被复制到单独的数据结构中。
上述示例生成的代码还包括一个带有 add_point() 方法的 point_tracker::Server 特性,以及一个带有 add_point_request() 方法的 point_tracker::Client 结构体。前者可以用来实现一个可通过网络访问的对象,后者可以用来调用一个可能是远程的 PointTracker 实例。
暂无开放 Issues,或尚未同步最近议题。