【问题标题】:How to set the Cap'n Proto RPC message traversal limit?如何设置 Cap'n Proto RPC 消息遍历限制?
【发布时间】:2019-03-01 18:35:13
【问题描述】:

我需要使用 Rust Cap'n Proto API 发送超过默认消息遍历限制的 RPC。当我尝试发送消息时,我收到以下错误:

remote exception: <class \'capnp.lib.capnp.KjException
\'>:capnp/arena.c++:130: failed: Exceeded message traversal limit.
See capnp::ReaderOptions.

如果我使用capnp::serialize::read_message 阅读消息,我可以提供一个ReaderOptions 结构,指定一个新的遍历限制。

但是,我正在发出并发送类似calculator example 的请求,而不是直接阅读消息。如何设置请求消息的遍历限制?

【问题讨论】:

标签: rust rpc capnproto


【解决方案1】:

你可以在构造VatNetwork的时候设置:

pub fn new<U>(
    input_stream: T,
    output_stream: U,
    side: Side,
    receive_options: ReaderOptions,
) -> VatNetwork<T>
where
    U: Write + 'static,

https://github.com/capnproto/capnproto-rust/issues/124#issuecomment-468877758

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多