Represents a temporary bucket of barcodes whose records will be written together and then collated later in memory.


Given a BufReader<T> from which to read a set of records that should reside in the same collated bucket, this function will collate the records by cell barcode, filling them into a chunk of memory exactly as they will reside on disk. If compress is true the collated chunk will be compressed, and then the result will be written to the output guarded by owriter.

Read an input chunk from reader and write the resulting records to the corresponding in-memory buffers local_buffers. As soon as any buffer reaches flush_limit, flush the buffer by writing it to the output_cache.