Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 7.6% on proxy.golang.org
Top 1.5% dependent packages on proxy.golang.org
Top 4.7% dependent repos on proxy.golang.org

proxy.golang.org : github.com/gammazero/channelqueue

Package channelqueue implements a queue that uses channels for input and output to provide concurrent access to a re-sizable queue. This allows the queue to be used like a channel. Closing the input channel closes the output channel when all queued items are read, consistent with channel behavior. In other words channelqueue is a dynamically buffered channel with up to infinite capacity. ChannelQueue also supports circular buffer behavior when created using `NewRing`. When the buffer is full, writing an additional item discards the oldest buffered item. When specifying an unlimited buffer capacity use caution as the buffer is still limited by the resources available on the host system. The behavior of channelqueue differs from the behavior of a normal channel in one important way: After writing to the In() channel, the data may not be immediately available on the Out() channel (until the buffer goroutine is scheduled), and may be missed by a non-blocking select. This implementation is based on ideas/examples from: https://github.com/eapache/channels

Registry - Source - Documentation - JSON
purl: pkg:golang/github.com/gammazero/channelqueue
Keywords: buffered, channel, queue, synchronized
License: MIT
Latest release: 10 months ago
First release: over 4 years ago
Namespace: github.com/gammazero
Dependent packages: 14
Dependent repositories: 1
Stars: 8 on GitHub
Forks: 1 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 17 days ago

    Loading...
    Readme
    Loading...