如何设置Cap'n Proto RPC消息遍历限制?

问题描述 投票:1回答:1

我需要使用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个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.