我目前正试图绕着tokio&期货原型和生态系统。
我开始从tk-http websockets example开始做一些工作,并希望对收到的数据进行更多处理,而不是回复它。第一步似乎是用某种循环替换.forward()调用。
在我看来,stream.forward(sink)
等同于stream.fold(sink, |out_, item| { out.send(item).and_then(Sink::flush) })
,但是这样做(commit)流根本不会被轮询。但是,Tokio示例中的相同更改工作正常(example)。
此外,似乎首先在接收器上输出内容使得转发工作正常(commit),因此,在发送发生之前,接收器可能由于某种原因未在事件循环中注册?我错过了什么?它是否可能是tk-http中的错误?