equeue-0: equeue.cabal
cabal-version: 2.2
name: equeue
version: 0
synopsis: Application level triggered, and edge triggered event multiqueues.
description:
A system for providing late binding for how different types of events are handled.
.
It is often important for an application to control how it consumes updates for optimal
processing, but event sources are typically in control of delivery. The EQueue abstraction
allows the consumer to provide an implimentation that balances delivery for its needs.
To do this, it distinguishes events into two types, level and edge triggered.
.
Level triggered events are used where the resulting state is cared about and a pure model
of how events combine is available as a Semigroup instance. The transitions it took to get
to the new state between dequeues is not of interest.
.
Edge triggered events are where the sequence of occurences are of importance, or a
pure model is not available.
homepage: https://oss.xkcd.com/
bug-reports: https://code.xkrd.net/AlON/equeue/issues
license: BSD-3-Clause
license-file: LICENSE
author: davean
maintainer: oss@xkcd.com
copyright: Copyright (C) 2018 davean
category: Concurrency
extra-source-files: CHANGELOG.md
source-repository head
type: git
location: https://code.xkrd.net/AlON/equeue.git
library
hs-source-dirs: src
default-language: Haskell2010
exposed-modules:
Control.Concurrent.EQueue
, Control.Concurrent.EQueue.Class
, Control.Concurrent.EQueue.Simple
, Control.Concurrent.EQueue.STMEQueue
build-depends:
base >= 4.8 && < 4.13
, contravariant ^>= 1.5
, containers ^>= 0.6
, mtl ^>= 2.2
, semigroups ^>= 0.18
, stm ^>= 2.5
test-suite test-equeue
type: exitcode-stdio-1.0
default-language: Haskell2010
hs-source-dirs: test
main-is: test.hs
build-depends:
base >= 4.8 && < 4.13
, containers
, contravariant
, delay ^>= 0
, equeue
, semigroups
, stm
, tasty >= 1.1 && < 1.3
, tasty-hunit ^>= 0.10
, time >= 1.8 && < 1.10