Cap'n Proto 是否支持分隔消息

BAR*_*BAR 2 c++ java protocol-buffers capnproto

Cap'n Proto支持分隔消息吗?

我的目标是将多条消息写入文件管道并在写入时实时读取。

所以...

  1. 消息需要以某种方式分隔。

  2. 并且解析器必须能够检测不完整的消息并等待。

Ken*_*rda 5

是的。与 Protocol Buffer 不同,Cap'n Proto 消息本质上是自定界的。如果您使用标准序列化函数将消息重复写入同一流,或重复从同一流读取消息,它将“正常工作”。确保使用写入流或从流读取的序列化/解析例程(在 C++ 中,您可以使用文件描述符或抽象InputStream/ OutputStream),以便解析器知道如何等待输入。如果您更喜欢事件驱动的方法,还有这些的异步(非阻塞)版本。