我正在尝试基于Rust中Cap'n Proto RPC构建客户端/服务器应用程序。看着calculator example code,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
}
}
我将如何构造我的客户代码?我是否必须在某个时候强制刷新(从它的外观,从服务器读取一些虚拟数据)?
到目前为止,服务器似乎很简单,只是处理文件和大块文件,但是如果那里有任何陷阱,我也很高兴。