【发布时间】:2020-12-29 21:38:31
【问题描述】:
最终我需要一个ByteStream 用于rusoto。所以我想我可以从futures::Stream 创建它:
pub fn z_stream(r: impl Read) -> Result<ByteStream> {
let outstream = stream::empty();
// TODO, how do I wrap outstream
process(r, &mut wrapped_outstream)?;
Ok(ByteStream::new(outstream))
}
我有一个方法process,它接受两个参数,一个用于impl Read,另一个用于impl Write,其中读取和写入来自std::io。
如何将上面的outstream 包装成允许我将其传递给process 的东西?可能已经有一些东西了,我不必编写自己的包装器?
【问题讨论】:
-
process函数是同步运行还是异步运行? -
您知道
ByteStream的into_blocking_read()方法,对吧?你试过吗?为什么它不起作用? -
@pretzelhammer,现在同步。 @Coder-256,但是
process()方法需要写入它,而不是从 ByteStream 中读取,并且没有into_write方法。