The rolling-queue package

[Tags: bsd3, library]

This package provides a FIFO channel for STM supporting a size limit. When this limit is reached, older entries are discarded to make way for newer entries.

The motivation for this is logging. If log entries are written to a plain TChan, the program will use a lot of memory if it produces log entries faster than they can be processed. If log entries are written to a bounded channel where writes block (e.g. the stm-chans package), the program may deadlock if the log channel fills up. With Data.STM.RollingQueue, old entries will be discarded instead.

Possible improvements (not available in Data.STM.RollingQueue) include:

Properties

Version0.1
Change logNone available
Dependenciesbase (==4.*), stm [details]
LicenseBSD3
CopyrightCopyright (c) Joseph Adams 2012
AuthorJoey Adams
Maintainerjoeyadams3.14159@gmail.com
CategoryData
Home pagehttps://github.com/joeyadams/haskell-rolling-queue
Source repositoryhead: git clone git://github.com/joeyadams/haskell-rolling-queue.git
UploadedThu Feb 16 09:11:29 UTC 2012 by JoeyAdams
DistributionsNixOS:0.1
Downloads538 total (15 in last 30 days)
Votes
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees