A timer wheel
|Version on this page:||0.2.0.1|
|LTS Haskell 20.24:||0.4.0.1@rev:1|
|Stackage Nightly 2023-06-08:||0.4.0.1@rev:1|
|Latest on Hackage:||0.4.0.1@rev:1|
Module documentation for 0.2.0.1
This library provides a timer wheel data structure for
IOactions to fire after a given amount of time
O(1) canceling registered actions
It is similar to
GHC.Event, but can scale much better
under concurrent access patterns.
An unreleased version of this library has a
backpack-based signature for
selecting from a variety of different data structures used internally.
backpack has broader support on Hackage, and in Haddocks,
etc, I decided to just hard-code something decent (a priority search queue).
This makes the
O(1) claims above a bit of a lie, as these rely on using a
linked list data structure internally.
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to the Haskell Package Versioning Policy.
[0.2.0.1] - 2019-05-19
- Swapped out
[0.2.0] - 2019-02-03
destroyfunction, for reaping the background thread
- If the timer wheel reaper thread crashes, it will propagate the exception to the thread that spawned it
newmay now throw
- The cancel action returned by
registeris now memoized, which fixes a bug involving trying to cancel a
recurringtimer twice. The second call used to spin forever and peg a CPU
Configtype for creating a timer wheel
- Change argument order around
- Make recurring timers more accurate
[0.1.0] - 2018-07-18
- Initial release