0

我有N输入流(队列)和N相应的连接。调度程序线程扫描传入的请求,根据某些标准对它们进行优先级排序,然后将它们发送到相应的连接上(来自队列中的请求x继续连接x)。类似的事情也发生在接收端。

在传统环境中,人们会创建与O_NONBLOCK. 如果对连接的写入将被阻塞,请将请求留在输入队列中,稍后重新访问队列,这样调度程序线程就不会在一个慢速连接上被阻塞。

等有可能tokio::net::TcpStream吗?看起来tokio::io::{TryRead, TryWrite}过去有被删除。

一种选择可能是为每个连接创建一个输出队列,每个输出队列都有一个专用任务。这只是出队并write_all().await在连接上执行。这会增加一跳,并增加复杂性。让我想知道 Tokio 是否是此应用程序的正确选择。

4

0 回答 0