BSD-3-Clause licensed by Mitchell Rosen
Maintained by Mitchell Rosen
This version can be pinned in stack with:timer-wheel-0.1.0@sha256:1b00830ee0cc7b5f9352dda804e3234c5b57f25ff383a1f5579183d483b8606e,2196

Module documentation for 0.1.0

This library provides a timer wheel data structure for

  • O(1) registering IO actions to fire after a given amount of time

  • O(1) canceling registered actions

It is similar to TimerManager from 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. However, until 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.

Changes

Changelog

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.1.0] - 2018-07-18

Added

  • Initial release