broadcast-chan: Broadcast channel type that avoids 0 reader space leaks.
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 | 0.1.0, 0.1.1 |
---|---|
Dependencies | base (==4.*) [details] |
License | BSD-3-Clause |
Copyright | Copyright © 2014 Merijn Verstraaten |
Author | Merijn Verstraaten |
Maintainer | Merijn Verstraaten <merijn@inconsistent.nl> |
Category | System |
Home page | https://github.com/merijn/broadcast-chan |
Bug tracker | https://github.com/merijn/broadcast-chan/issues |
Source repo | head: git clone ssh://github.com:merijn/broadcast-chan.git head: hg clone git+ssh://github.com:merijn/broadcast-chan.git head: hg clone https://bitbucket.org/merijnv/broadcast-chan |
Uploaded | by MerijnVerstraaten at Thu Jul 7 08:06:47 UTC 2016 |
Distributions | LTSHaskell:0.1.1, NixOS:0.1.1, Stackage:0.1.1, openSUSE:0.1.1 |
Downloads | 1191 total (8 in the last 30 days) |
Rating | (no votes yet) [estimated by rule of succession] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] Hackage Matrix CI |
Downloads
- broadcast-chan-0.1.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)