4

我正在尝试基于 Rust 中的 Cap'n Proto RPC 构建客户端/服务器应用程序。查看计算器示例代码,RPC 想要将所有内容都推送到单个往返调用中。这太棒了,但是当要发送的数据是千兆字节时,它会如何表现?图书馆会尝试将其全部保存在内存中,还是会在某个时候意识到这太多了?

注意:我还没有要显示的代码,但我理想的客户端伪代码是:

job = new_job(...)                        // rpc call
for f in (millions...) {
    file = job.new_file(f)                // rpc call
    for data in f.chunks(thousands...) {
        file.process_chunk(data)          // rpc call
    }
}

我将如何构建我的客户端代码?我是否必须在某个时候强制刷新(从外观上看,从服务器读取一些虚拟数据)?

到目前为止,服务器看起来很简单,只是在文件和块到来时处理它们,但如果那里有任何陷阱,我也会全神贯注。

4

0 回答 0