簡體   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