#timeout #tokio #sleep #shared #reset #stream #async

no-std async-shared-timeout

可重置和共享的异步超时

5个版本

0.2.2 2024年3月20日
0.2.1 2024年3月19日
0.2.0 2022年12月7日
0.1.1 2022年12月7日
0.1.0 2022年12月7日

331异步

Download history 372/week @ 2024-03-11 432/week @ 2024-03-18 260/week @ 2024-03-25 93/week @ 2024-04-01 20/week @ 2024-04-08 151/week @ 2024-04-15 19/week @ 2024-04-22 123/week @ 2024-04-29 141/week @ 2024-05-06 44/week @ 2024-05-13 40/week @ 2024-05-20 253/week @ 2024-05-27 370/week @ 2024-06-03 171/week @ 2024-06-10 161/week @ 2024-06-17 14/week @ 2024-06-24

每月下载量870
overtls 中使用

0BSD OR MIT OR Apache-2.0

30KB
575

crates.io docs.rs

异步共享超时

Rust crate用于创建共享超时。一个示例用例是客户端打开多个流,并且仅在所有流停止发送数据时过期它们。另一个示例是一个带有超时的代理 - 只有当本地端和远程端都超时时,代理才会超时。

特性标志

包装器

  • wrapper - 启用包装器,您可以将其用于更简单的重置。默认情况下,仅启用未来支持(在完成未来时重置计时器)。
  • read-write - 启用包装器对异步 Read/Write 特性的支持(在成功读取/写入操作时重置计时器)
  • stream - 启用包装器对 Stream 的支持(在流前进时重置计时器)。

与其他运行时集成

  • std(默认启用) - 启用 std 集成。目前仅用于为包装器启用 ArcAsRawFd 支持。
  • tokio(默认启用) - tokio 支持
  • async-io - 支持作为计时器运行时的 async-io
  • futures-io - 支持特质的 futures-io
  • async-std - async-std 支持(启用 async-iofutures-io)。

变更日志

  • 0.1.0 - 初始版本
  • 0.1.1 - 为 Wrapper 启用 AsRawFd 支持
  • 0.2.0 - 小型API清理
  • 0.2.1 - 更新依赖项,添加 Timeout::new_tokio
  • 0.2.2 - 添加 TokioTimeoutTokioWrapper 类型别名

许可证

TL;DR 随你所欲。

许可证采用以下任一:BSD Zero Clause License (https://opensource.org/licenses/0BSD),Apache 2.0 License (https://apache.ac.cn/licenses/LICENSE-2.0) 或 MIT License (http://opensource.org/licenses/MIT),由您选择。

依赖项

~3–16MB
~156K SLoC