github.com/gammazero/bigchan (go): Package bigchan implements a channel that uses a buffer between input and output.  The buffer can have any capacity specified, from 0 (unbuffered) to infinite.  This provides channel functionality with any buffer capacity desired, and without taking up large amounts of storage when little is used.  If the specified buffer capacity is small, or unbuffered, the implementation is provided by a normal chan.  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 bigchan 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.  The ReadAny() function provides a way to read data is any is available. Alternatively, the following is an example of how to handle this in your own select block:  This implementation is based on ideas/examples from: https://github.com/eapache/channels
Keywords: deprecated|obsolete