#delay #sleep #interval #timeout #async

timer-kit

一个通用于底层定时器实现的定时器工具包

2 个版本

0.1.1 2023 年 2 月 2 日
0.1.0 2023 年 2 月 1 日

#668 in WebAssembly

Download history 67/week @ 2024-04-15 230/week @ 2024-04-22 242/week @ 2024-04-29 166/week @ 2024-05-06 361/week @ 2024-05-13 320/week @ 2024-05-20 288/week @ 2024-05-27 265/week @ 2024-06-03 361/week @ 2024-06-10 364/week @ 2024-06-17 392/week @ 2024-06-24 490/week @ 2024-07-01 425/week @ 2024-07-08 494/week @ 2024-07-15 436/week @ 2024-07-22 500/week @ 2024-07-29

1,855 每月下载量
2 crate 中使用

MIT/Apache

93KB
1.5K SLoC

timer-kit

一个通用于底层定时器实现的定时器工具包。

crate_version docs_version

此 crate 不实现任何特定平台的定时器,而是使用定时器实现的泛型抽象来提供一系列定时器相关工具。

  1. [sleep()]/Sleep
  2. [timeout()]/Timeout
  3. [interval()]/Interval
  4. DelayQueue

此 crate 目前不提供除 tokio 已提供的任何功能,因此如果您已经在项目中使用 tokio,则此 crate 完全不需要。

此 crate 的核心是 Delay trait,并且通过启用相应的功能来实现以下类型。

类型 功能 目标架构
tokio::time::Sleep "tokio" 非 wasm32
smol::Timer "smol" 非 wasm32
futures_timer::Delay "futures-timer" 非 wasm32
wasm_timer::Delay "wasm-timer" wasm32
fluvio_wasm_timer::Delay "fluvio-wasm-timer" wasm32

WebAssembly 支持

wasm32-unknown-unknown 目标的支持取决于所选的定时器实现。目前只支持 wasm-timerfluvio-wasm-timer 这两种 wasm 定时器实现。

示例

使用方法基本上与 tokio::time 中提供的方法相似,增加了一个额外的泛型类型参数 D,它是底层定时器实现的数据类型。请参阅相应类型的文档以获取更多详细信息。

许可证:MIT/Apache-2.0

依赖项

~0.9–16MB
~163K SLoC