org.apache.hadoop.hbase.io
Interface CellOutputStream

All Known Subinterfaces:
Codec.Encoder
All Known Implementing Classes:
BaseEncoder, KeyValueCodec.KeyValueEncoder, KeyValueCodecWithTags.KeyValueEncoder

@InterfaceAudience.Private
@InterfaceStability.Evolving
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, but more efficient implementations will append results to a byte[] to eliminate overhead, and possibly encode the cells further.

To read Cells, use CellScanner

See Also:
CellScanner

Method Summary
 void flush()
          Let the implementation decide what to do.
 void write(Cell cell)
          Implementation must copy the entire state of the Cell.
 

Method Detail

write

void write(Cell cell)
           throws IOException
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.

Parameters:
cell - Cell to write out
Throws:
IOException

flush

void flush()
           throws IOException
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.

Throws:
IOException


Copyright © 2007-2015 The Apache Software Foundation. All Rights Reserved.