equeue: Application level triggered, and edge triggered event multiqueues.

[ bsd3, concurrency, library ] [ Propose Tags ]

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.

Versions [faq] 0
Change log CHANGELOG.md
Dependencies base (>=4.8 && <4.14), containers (==0.6.*), contravariant (==1.5.*), mtl (==2.2.*), semigroups (>=0.18 && <0.20), stm (==2.5.*) [details]
License BSD-3-Clause
Copyright Copyright (C) 2018 davean
Author davean
Maintainer oss@xkcd.com
Revised Revision 1 made by davean at 2020-01-16T20:23:34Z
Category Concurrency
Home page https://oss.xkcd.com/
Bug tracker https://code.xkrd.net/AlON/equeue/issues
Source repo head: git clone https://code.xkrd.net/AlON/equeue.git
Uploaded by davean at 2019-01-01T06:49:54Z
Distributions NixOS:0
Downloads 384 total (1 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-01-01 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees