繁体   English   中英

如何使用 Tokio 编写异步方法?

[英]How do I write an async method with Tokio?

我正在尝试编写一个可以连接到远程服务器并交换数据的库。 我在 C++ 中使用 Boost::Asio 执行此操作,并尝试对 Rust 执行相同操作。

我遇到的问题之一是从 Asio 映射概念,例如 async_write/read 到 Tokio,首先是似乎所有 Tokio 示例都要求我用async main()替换我的main() () ,而我想封装所有我在结构和相关实现中的异步代码。

是否可以在不替换main()的情况下使用 Tokio ? mio可能是唯一的方法吗?

您可以使用Runtime::new()手动创建运行时,这是 tokio 主宏在后台执行的操作。 它仅适用于大量应用程序,尤其是样板示例。 所以宏自动化了简单的情况。

但是,根据您的库的上下文,提供基于未来的 API 可能更惯用,然后让应用程序使用者设置运行时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM