15

我目前正试图围绕 tokio & futures 原语和生态系统展开思考。

我从tk-http websockets 示例开始做一些工作,并希望对接收到的数据进行更多处理,而不是回显它。第一步似乎是用某种循环替换 .forward() 调用。

在我看来,这stream.forward(sink)相当于stream.fold(sink, |out_, item| { out.send(item).and_then(Sink::flush) }),但是这样做(提交)根本不会轮询流。但是,与 Tokio 示例相同的更改可以正常工作(示例)。

此外,似乎首先在接收器上输出某些东西会使转发工作正常(提交),所以也许接收器由于某种原因没有在事件循环中注册,直到发送发生?我错过了什么?这可能是 tk-http 中的错误吗?

4

0 回答 0