The broadcast-chan package

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

Warnings:

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.

Properties

Versions0.1.0, 0.1.1, 1.0.0
Change logNone available
Dependenciesbase (==4.*) [details]
LicenseBSD3
CopyrightCopyright © 2014 Merijn Verstraaten
AuthorMerijn Verstraaten
MaintainerMerijn Verstraaten <merijn@inconsistent.nl>
CategorySystem
Home pagehttps://github.com/merijn/broadcast-chan
Bug trackerhttps://github.com/merijn/broadcast-chan/issues
Source repositoryhead: git clone ssh://github.com:merijn/broadcast-chan.git
head: hg clone https://bitbucket.org/merijnv/broadcast-chan
UploadedTue May 16 15:51:01 UTC 2017 by MerijnVerstraaten

Modules

Flags

NameDescriptionDefaultType
benchmark

Benchmarks depend on an unreleased version of Criterion, making them unbuildable without sanboxes.

DisabledManual
sync

Benchmarks synchronisation primitives used in main benchmark.

DisabledAutomatic
threaded

Run benchmarks with threaded backend.

DisabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees