cabal-version: 3.0 author: Mitchell Rosen bug-reports: https://github.com/awkward-squad/timer-wheel/issues build-type: Simple category: Data description: This library provides a timer wheel data structure for registering one-shot or recurring @IO@ actions to fire after a given amount of time. . It is similar to @TimerManager@ from @GHC.Event@, but supports recurring actions, and can scale to handle many more registered actions. copyright: (c) 2018-2023 Mitchell Rosen, Travis Staton homepage: https://github.com/awkward-squad/timer-wheel license-file: LICENSE license: BSD-3-Clause maintainer: Mitchell Rosen , Travis Staton name: timer-wheel synopsis: A timer wheel tested-with: GHC == 9.4.7, GHC == 9.6.3, GHC == 9.8.1 version: 1.0.0 extra-source-files: CHANGELOG.md README.md source-repository head type: git location: git://github.com/awkward-squad/timer-wheel.git common component build-depends: base ^>= 4.12 || ^>= 4.13 || ^>= 4.14 || ^>= 4.15 || ^>= 4.16 || ^>= 4.17 || ^>= 4.18 || ^>= 4.19, default-extensions: BangPatterns BlockArguments DeriveAnyClass DeriveGeneric DerivingStrategies DuplicateRecordFields FlexibleInstances GeneralizedNewtypeDeriving LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude NumericUnderscores OverloadedStrings ScopedTypeVariables TupleSections TypeApplications ViewPatterns default-language: Haskell2010 ghc-options: -Weverything -Wno-all-missed-specialisations -Wno-implicit-prelude -Wno-missing-import-lists -Wno-unsafe -- Buggy false-positives on unused-top-binds if impl(ghc == 8.6.*) || impl(ghc == 8.8.*) ghc-options: -Wno-unused-top-binds if impl(ghc >= 8.10) ghc-options: -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module if impl(ghc >= 9.2) ghc-options: -Wno-missing-kind-signatures if impl(ghc >= 9.8) ghc-options: -Wno-missing-role-annotations library import: component build-depends: atomic-primops ^>= 0.8, ki ^>= 1.0.0, primitive ^>= 0.7 || ^>= 0.8 || ^>= 0.9, exposed-modules: TimerWheel hs-source-dirs: src other-modules: TimerWheel.Internal.Bucket TimerWheel.Internal.Counter TimerWheel.Internal.Nanoseconds TimerWheel.Internal.Prelude TimerWheel.Internal.Timestamp test-suite tests import: component build-depends: ki, random ^>= 1.2, timer-wheel, ghc-options: -threaded -with-rtsopts=-N2 hs-source-dirs: test main-is: Main.hs type: exitcode-stdio-1.0 benchmark bench import: component build-depends: ki, random ^>= 1.2, tasty-bench, timer-wheel, ghc-options: -fproc-alignment=64 -rtsopts -threaded "-with-rtsopts=-N2 -T -A32m" hs-source-dirs: bench main-is: Main.hs type: exitcode-stdio-1.0