#2483·capnproto

强制消息与模式符合性

作者: Milek7创建于 2025年12月24日更新于 2026年1月19日

我有一个可能有些不寻常的用例,因为我将 Capnp 消息存储在持久性数据库中。这些消息可能包含指向其他条目的引用,作为具有适当架构注解的 Int64 字段。服务器通过迭代 DynamicStruct::Reader 中的字段来强制引用完整性,并验证每个具有注解的字段。当服务器接收到在编译时未知的架构中包含字段的消息时,可能会出现问题,因为它无法验证这些字段,并且可能会将包含有损坏引用的对象存储到数据库中。我需要拒绝此类消息或删除未知的字段。有没有一种美妙的方法来实现这一点,或者我需要手动迭代每个字段并使用 DynamicStruct::Builder 重建消息?

内容来源: capnproto/capnproto