我正在构建一个在no_std平台上使用的库,它允许您执行一些常见的与网络相关的 IO,例如发出 HTTP 请求或读取/写入 Websockets。
现在,我希望这个库成为一个表现良好的公民,以便它可以轻松地包含在其他no_std应用程序中。因此,我想通过实现合理的特征等来打包库。该库将允许我不必使用alloc,因此支持非alloc no_std将是理想的。
这些是我看过的选项:
embedded_halandnb:这些板条箱的级别非常低(没有像ReadandWrite或任何更高级别的通用特征)并且异步模型似乎与async/awaitgenio//core_io...:这些根本不支持异步IO。embrio: 看起来很有趣,但似乎使用它会将我绑定到一个特定的环境,从而使库的可移植性降低。tokiov0.2.x:我很想使用它,但根本没有no_std支持。futures::iov0.3.x:同样,很想使用它,但没有no_std支持。
我应该在 no_std 环境中使用哪种异步 IO 抽象?如果现在没有好的选择,我应该在未来下注/帮助哪一个?