#async-channel #async-await #async-executor #async-std #abstraction-layer #tokio #run-time

async-compatibility-layer

用于同时使用async-std和tokio的抽象层

3个稳定版本

1.2.1 2024年7月10日
1.2.0 2024年6月3日
1.1.0 2024年4月2日

#565异步

Download history 651/week @ 2024-05-04 298/week @ 2024-05-11 476/week @ 2024-05-18 688/week @ 2024-05-25 777/week @ 2024-06-01 496/week @ 2024-06-08 381/week @ 2024-06-15 526/week @ 2024-06-22 263/week @ 2024-06-29 679/week @ 2024-07-06 406/week @ 2024-07-13 770/week @ 2024-07-20 636/week @ 2024-07-27 604/week @ 2024-08-03 548/week @ 2024-08-10 272/week @ 2024-08-17

2,210 每月下载量
2 crate 中使用

MIT 许可证

66KB
1K SLoC

这是什么?

这个crate导出四个东西

  • 一个用于编写与async-executor无关的代码的兼容性/抽象层。我们支持两个异步执行器:async-std和tokio。可以通过配置标志切换。
  • 一个用于编写与async通道无关的代码的兼容性/抽象层。我们支持三种异步通道实现:async-std、tokio和flume。可以通过配置标志切换。
  • 导出一组有用的异步原语库。
  • 一个可选支持控制台和opentelemetry集成的跟踪配置层。

示例用法

默认情况下使用async-std执行器和通道。

要使用tokio

RUSTFLAGS='--cfg async_executor_impl="tokio" --cfg async_channel_impl="tokio"' cargo build

async_executor_impl可以是tokioasync-stdasync_channel_impl可以是tokioasync-stdflume

注意,使用tokio通道需要tokio作为运行时。


lib.rs:

异步兼容层,通过功能标志切换来控制tokio和async_std之间的抽象,同时向两者之间暴露相同的接口

依赖

~6–24MB
~299K SLoC