27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
channels
|
|
========
|
|
|
|
[](https://travis-ci.org/eapache/channels)
|
|
[](https://godoc.org/github.com/eapache/channels)
|
|
[](https://eapache.github.io/conduct.html)
|
|
|
|
A collection of helper functions and special types for working with and
|
|
extending [Go](https://golang.org/)'s existing channels. Due to limitations
|
|
of Go's type system, importing this library directly is often not practical for
|
|
production code. It serves equally well, however, as a reference guide and
|
|
template for implementing many common idioms; if you use it in this way I would
|
|
appreciate the inclusion of some sort of credit in the resulting code.
|
|
|
|
See https://godoc.org/github.com/eapache/channels for full documentation or
|
|
https://gopkg.in/eapache/channels.v1 for a versioned import path.
|
|
|
|
Requires Go version 1.1 or later, as certain necessary elements of the `reflect`
|
|
package were not present in 1.0.
|
|
|
|
Most of the buffered channel types in this package are backed by a very fast
|
|
queue implementation that used to be built into this package but has now been
|
|
extracted into its own package at https://github.com/eapache/queue.
|
|
|
|
*Note:* Several types in this package provide so-called "infinite" buffers. Be
|
|
very careful using these, as no buffer is truly infinite. If such a buffer
|
|
grows too large your program will run out of memory and crash. Caveat emptor.
|