@Rays
2017-05-10T12:04:25.000000Z
字数 1143
阅读 1720
语言开发
摘要: 距首次发布近两年半后,数据交换格式和RPC系统Cap'n Proto发布了0.6版,其中添加了对Windows支持,并强化了安全,此外还有其它一些新特性。
作者: Sergio De Simone
正文:
距首次发布近两年半后,数据交换格式和RPC系统Cap'n Proto发布了0.6版,其中添加了对Windows支持,并强化了安全,此外还有其它一些新特性。
据Cap'n Proto的作者Kenton Varda介绍,发布上的显著延迟并非是疏于开发,事实上该项目一直在进行开发,这要归因于并未优先考虑将其父项目Sandstorm.io移植到Windows平台。现在由于Microsoft编译器提供了对当代C++的支持,向Windows平台的移植变得容易了,其中涉及序列化、动态API、模式解析器、RPC和工具,以及使用输入完成接口(I/O completion port)实现的异步I/O架构。此外,为维持移植到Windows平台移植后的健康性,Cap'n Proto团队还建立了持续集成。
除了全面支持Windows平台之外,最新版的Cap' Proto还做了一些改进以更安全地面对可能的攻击。其中包括对指针验证的改进,用于在编译时和更彻底的测试中检测整型溢出。
新的0.6版对Cap'n Proto生态系统添加了两个有用的组件:
作为一种数据交换格式,Cap'n Proto无需在内存中编码和解码消息,意在提供比JSON或Protocol Buffers等广为采用的格式更优的解决方案。在实现中,Cap'n Proto使用了类似于编译器所使用的方式,以二进制格式存储数据,但是以与平台无关的方式实现的。Cap'n Proto的创立者Kenton Varda在Google工作期间也是Protocol Buffers(Protobuf)的作者,他指出:
Cap’n Proto源自于对Protobuf的多年工作经验、对用户反馈的倾听以及对如何给出更好实现的考虑。
Cap'n Proto还给出了一些规定,以确保在格式中添加新字段时的向后兼容性。其它主要特性包括:增量处理消息的能力(因为外部对象完全先于内部对象出现)、对任一字段的随机访问(甚至在消息被完全接收之前),以及生成更小的代码和运行时库。
查看英文原文: Cap’n Proto Interchange Format Adds Windows Support and Many New Features