Cap'n Proto是否支持定界信息

时间:2015-08-12 00:11:04

标签: java c++ protocol-buffers capnproto

Cap'n Proto是否支持分隔邮件?

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

因此...

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

Cap' n' Proto并不是一个流解析器,但你可以这样使用它(通过将你的消息视为TextData块的序列(取决于您的具体用例)。