A ring-based buffer implementation that provides contention-free writing of
1..n colors. In this case, colors refer to the unique attribute that separates one topic of data from another. Global data, which is visible to all topics may also be written to this buffer. Given the ring-buffer design, data is never de-allocated from the buffer when it is no longer needed. Instead, it is assumed that old data will be consumed from the buffer before that space in the buffer is reclaimed.
Since this is a multi-colored buffer, it has multiple tails -- one for each color.
The amount of free space available in the buffer at any time is the delta between the head and maximum physical extent of the buffer, plus the delta from the beginning of the physical buffer in memory to the closest tail.
@author Mike Brock
@since Errai v2.0