如何链接tokio读取功能?

时间:2018-10-19 07:31:03

标签: asynchronous rust rust-tokio

是否有一种以“递归”方式链接read_*中的tokio::io函数的方法?

我本质上是想做类似的事情:

read_until x然后read_exact y然后写响应,然后返回顶部。

以防万一,我在说什么功能:https://docs.rs/tokio/0.1.11/tokio/io/index.html

1 个答案:

答案 0 :(得分:0)

是的,有办法。

read_until返回结构ReadUntil,该结构实现了Future特性,该特性本身提供了许多有用的功能,例如and_then,可用于链接期货。

一个简单(愚蠢的)示例如下:

read_until

我在这里使用游标,它恰好实现了AsyncRead特征并使用'f'函数读取直到换行出现(在'g'and_then之间) 。
然后,将我使用read_exact的那些链接起来,以在成功的情况下使用Result,使用wait来使Vec展开(不要在生产中的孩子中这样做! )并从元组中获取第二个参数(第一个是游标)。
最后,我将"gh"转换为字符串以显示println!和{{1}}。