Use a ring channel to avoid blocking write of events (#2082)
* Use a ring channel to avoid blocking write of events * Add eapache/channels dependency
This commit is contained in:
parent
33475b7184
commit
9bcb5b08ea
35 changed files with 2833 additions and 78 deletions
27
vendor/github.com/eapache/channels/README.md
generated
vendored
Normal file
27
vendor/github.com/eapache/channels/README.md
generated
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue