我正在尝试编写一个将连接到远程服务器并交换数据的库。我在 C++ 年使用 Boost::Asio 做到了这一点,并试图用 Rust 做同样的事情。
我遇到的问题之一是将概念从 Asio 映射,例如async_write/读取到 Tokio,首先是似乎所有 Tokio 示例都要求我用async main()
替换我的main()
,而我想将所有异步代码封装在结构和相关实现中。
是否可以在不更换main()
的情况下使用东京?mio
也许是唯一的方法吗?
您可以使用 Runtime::new(( 手动创建运行时,这是 tokio 主宏在后台所做的。它仅适用于非常多的应用程序,尤其是只是样板的示例。因此,宏会自动处理简单情况。
但是,根据库的上下文,提供基于未来的 API,然后让应用使用者设置运行时可能更习惯。