4

我正在构建一个在no_std平台上使用的库,它允许您执行一些常见的与网络相关的 IO,例如发出 HTTP 请求或读取/写入 Websockets。

现在,我希望这个库成为一个表现良好的公民,以便它可以轻松地包含在其他no_std应用程序中。因此,我想通过实现合理的特征等来打包库。该库将允许我不必使用alloc,因此支持非alloc no_std将是理想的。

这些是我看过的选项:

  • embedded_haland nb:这些板条箱的级别非常低(没有像ReadandWrite或任何更高级别的通用特征)并且异步模型似乎与async/await
  • genio// core_io...:这些根本不支持异步IO。
  • embrio: 看起来很有趣,但似乎使用它会将我绑定到一个特定的环境,从而使库的可移植性降低。
  • tokiov0.2.x:我很想使用它,但根本没有no_std支持。
  • futures::iov0.3.x:同样,很想使用它,但没有no_std支持。

我应该在 no_std 环境中使用哪种异步 IO 抽象?如果现在没有好的选择,我应该在未来下注/帮助哪一个?

4

0 回答 0