Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

49 lines (43 sloc) 1.705 kB
name: rolling-queue
version: 0.1
synopsis: Bounded channel for STM that discards old entries when full
description:
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:
.
* Discard lower-priority entries first.
.
* Discard every other entry, so some of the older entries will still be
available.
homepage: https://github.com/joeyadams/haskell-rolling-queue
license: BSD3
license-file: LICENSE
author: Joey Adams
maintainer: joeyadams3.14159@gmail.com
copyright: Copyright (c) Joseph Adams 2012
category: Data
build-type: Simple
cabal-version: >=1.8
extra-source-files:
testing/trivial.hs
testing/trivial.expected
source-repository head
type: git
location: git://github.com/joeyadams/haskell-rolling-queue.git
library
exposed-modules:
Data.STM.RollingQueue
build-depends: base == 4.*
, stm
, stm-tlist
ghc-options: -Wall -O2
Jump to Line
Something went wrong with that request. Please try again.