broadcast-chan: Broadcast channel type that avoids 0 reader space leaks.

[ bsd3, library, system ] [ Propose Tags ]

A variation of Control.Concurrent.Chan from base, which allows to the easy creation of broadcast channels without the space-leaks that may arise from using Control.Concurrent.Chan.dupChan. The Control.Concurrent.Chan.Chan type from Control.Concurrent.Chan consists of both a read and write end. This presents a problem when one wants to have a broadcast channel that, at times, has zero listeners. To write to a Control.Concurrent.Chan.Chan there must always be a read end and this read end will hold ALL messages alive until read. The simple solution applied in this module is to separate read and write ends. As a result, any messages written to the write end can be immediately garbage collected if there are no active read ends, avoding space leaks.

Versions [faq] 0.1.0, 0.1.1, 0.2.0, 0.2.0.1, 0.2.0.2, 0.2.1
Dependencies base (==4.*) [details]
License BSD-3-Clause
Copyright Copyright © 2014 Merijn Verstraaten
Author Merijn Verstraaten
Maintainer Merijn Verstraaten <merijn@inconsistent.nl>
Revised Revision 1 made by HerbertValerioRiedel at Mon Sep 24 15:24:56 UTC 2018
Category System
Home page https://github.com/merijn/broadcast-chan
Bug tracker https://github.com/merijn/broadcast-chan/issues
Source repo head: hg clone https://bitbucket.org/merijnv/broadcast-chan
head: hg clone git+ssh://github.com:merijn/broadcast-chan
Uploaded by MerijnVerstraaten at Mon Sep 15 00:42:24 UTC 2014
Distributions Arch:0.2.1, NixOS:0.2.1
Downloads 2937 total (203 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

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