timer-kit
A timer toolkit that is generic over the underlying timer implementation.
This crate does not implement any platform-specific timer but uses a generic abstraction over the timer implementation to provide a set of timer related tools:
- [
sleep()
]/[Sleep
] - [
timeout()
]/[Timeout
] - [
interval()
]/[Interval
] - [
DelayQueue
]
This crate currently does not provide any feature beyond the ones that is already provided by tokio
, so this crate is completely not needed if you are already using tokio
in your project.
The core of this crate is the [Delay
] trait, and it is implemented for the following types by enabling the corresponding features:
Type | Feature | Target Arch |
---|---|---|
[tokio::time::Sleep ] |
"tokio" |
non-wasm32 |
[smol::Timer ] |
"smol" |
non-wasm32 |
[futures_timer::Delay ] |
"futures-timer" |
non-wasm32 |
[wasm_timer::Delay ] |
"wasm-timer" |
wasm32 |
[fluvio_wasm_timer::Delay ] |
"fluvio-wasm-timer" |
wasm32 |
WebAssembly support
Support for wasm32-unknown-unknown
target depends on the chosen timer implementation. wasm-timer
and fluvio-wasm-timer
are the only two wasm timer implementations that are currently supported.
Examples
The usage remains mostly similar to those provided in tokio::time
with one additional generic type parameter D
which is the type of the underlying timer implementation. Please refer to the documentation of the corresponding types for more details.
License: MIT/Apache-2.0