0

我正在创建一个这样的 CAP'N PROTO 构建器对象:

::capnp::MallocMessageBuilder message;
InjectorRequestMsg::Builder injectorRequestMsg = message.initRoot<InjectorRequestMsg>();  

/然后设置 injectorRequestMsg 的所有数据成员/
之后我试图将对象写入这样的文件:

writePackedMessageToFd(fd, message); 

这完美地工作。但是,我无法弄清楚如何使用以下方法将此对象写入输出流对象:

void writePackedMessage(kj::BufferedOutputStream& output, MessageBuilder& builder);

实际上,我在创建kj::BufferedOutputStream对象时遇到了问题。
关于这方面的任何想法或一个简单的例子都会对我有很大帮助。
谢谢!

4

1 回答 1

0

我需要做类似的事情。我需要将我的数据输出到内存空间。我能够这样做:

kj::VectorOutputStream stream;
::capnp::writePackedMessage(stream, message);
/* then use stream.getArray() to get access to the data */
于 2019-03-07T22:24:01.543 回答