public interface CellOutputStream
Accepts a stream of Cells. This can be used to build a block of cells during compactions and
flushes, or to build a byte to send to the client. This could be backed by a
List<KeyValue>, but more efficient implementations will append results to a byte to
eliminate overhead, and possibly encode the cells further.
Implementation must copy the entire state of the Cell. If the written Cell is modified
immediately after the write method returns, the modifications must have absolutely no effect on
the copy of the Cell that was added in the write.
Let the implementation decide what to do. Usually means writing accumulated data into a byte
that can then be read from the implementation to be sent to disk, put in the block cache, or
sent over the network.