2个版本

0.1.5 2022年6月20日
0.1.4 2020年11月13日
0.1.2 2020年9月10日

#1207异步

Download history 329/week @ 2024-03-11 230/week @ 2024-03-18 121/week @ 2024-03-25 217/week @ 2024-04-01 115/week @ 2024-04-08 102/week @ 2024-04-15 149/week @ 2024-04-22 147/week @ 2024-04-29 90/week @ 2024-05-06 72/week @ 2024-05-13 87/week @ 2024-05-20 82/week @ 2024-05-27 86/week @ 2024-06-03 120/week @ 2024-06-10 129/week @ 2024-06-17 105/week @ 2024-06-24

448 每月下载量
6 个开源软件包中使用了 (直接使用 2 个)

Apache-2.0

10KB
83

catty

a picture of a slingshot

同步发送一个值并异步等待它。猫猫比 futures::oneshot 更快、更简单、更轻量级,虽然后者 稍微 更灵活。

示例

let (tx, rx) = catty::oneshot();
tx.send("Hello!");
assert_eq!(rx.await, Ok("Hello!"));

基准测试

要使用 Criterion 运行基准测试,只需执行 cargo bench。在我的机器上,结果如下

create-futures          time:   [70.934 ns 70.979 ns 71.045 ns]
create-catty            time:   [32.549 ns 32.594 ns 32.650 ns]
oneshot-futures         time:   [146.45 ns 146.76 ns 147.09 ns]
oneshot-catty           time:   [98.497 ns 99.065 ns 99.686 ns]
send-futures            time:   [80.163 ns 80.384 ns 80.680 ns]
send-catty              time:   [39.064 ns 39.206 ns 39.354 ns]

lib.rs:

发送一个值并异步等待它。

示例

let (tx, rx) = catty::oneshot();
tx.send("Hello!");
assert_eq!(rx.await, Ok("Hello!"));

依赖项

~145KB