timer-wheel-0.1.0: timer-wheel.cabal
cabal-version: 2.0
name: timer-wheel
version: 0.1.0
category: Data
description:
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.
synopsis: A timer wheel
author: Mitchell Rosen
maintainer: Mitchell Rosen <mitchellwrosen@gmail.com>
homepage: https://github.com/mitchellwrosen/timer-wheel
bug-reports: https://github.com/mitchellwrosen/timer-wheel/issues
copyright: (c) 2018, Mitchell Rosen
license: BSD3
license-file: LICENSE
build-type: Simple
tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3
extra-source-files:
.travis.yml
CHANGELOG.md
source-repository head
type: git
location: git://github.com/mitchellwrosen/timer-wheel.git
library
build-depends:
atomic-primops ^>= 0.8
, base ^>= 4.9 || ^>= 4.10 || ^>= 4.11
, ghc-prim ^>= 0.5
, primitive ^>= 0.6
, psqueues ^>= 0.2.7
if !impl(ghc >= 8.4)
build-depends:
clock ^>= 0.7
default-language:
Haskell2010
exposed-modules:
Data.TimerWheel
ghc-options:
-fprint-expanded-synonyms
-fprint-explicit-foralls
-fprint-explicit-kinds
-fprint-unicode-syntax
-Wall
-Wcompat
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wmissing-local-signatures
-Wnoncanonical-monad-instances
-Wnoncanonical-monadfail-instances
-Wredundant-constraints
if impl(ghc >= 8.4)
ghc-options:
-Wpartial-fields
-Wmissing-export-lists
hs-source-dirs:
src
other-modules:
Entries
Supply