| Interface | Description | 
|---|---|
| DataBlockEncoder | 
 Encoding of KeyValue. 
 | 
| DataBlockEncoder.EncodedSeeker | 
 An interface which enable to seek while underlying data is encoded. 
 | 
| HFileBlockDecodingContext | 
 A decoding context that is created by a reader's encoder, and is shared
 across the reader's all read operations. 
 | 
| HFileBlockEncodingContext | 
 An encoding context that is created by a writer's encoder, and is shared
 across the writer's whole lifetime. 
 | 
| Class | Description | 
|---|---|
| CopyKeyDataBlockEncoder | 
 Just copy data, do not do any kind of compression. 
 | 
| DiffKeyDeltaEncoder | 
 Compress using:
 - store size of common prefix
 - save column family once, it is same within HFile
 - use integer compression for key, value and prefix (7-bit encoding)
 - use bits to avoid duplication key length, value length
   and type if it same as previous
 - store in 3 bits length of timestamp field
 - allow diff in timestamp instead of actual value
 Format:
 - 1 byte:    flag
 - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)
 - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)
 - 1-5 bytes: prefix length
 - ... 
 | 
| DiffKeyDeltaEncoder.DiffCompressionState | |
| DiffKeyDeltaEncoder.DiffSeekerState | |
| EncodedDataBlock | 
 Encapsulates a data block compressed using a particular encoding algorithm. 
 | 
| EncodingState | 
 Keeps track of the encoding state. 
 | 
| FastDiffDeltaEncoder | 
 Encoder similar to  
DiffKeyDeltaEncoder but supposedly faster. | 
| FastDiffDeltaEncoder.FastDiffSeekerState | |
| HFileBlockDefaultDecodingContext | 
 A default implementation of  
HFileBlockDecodingContext. | 
| HFileBlockDefaultEncodingContext | 
 A default implementation of  
HFileBlockEncodingContext. | 
| PrefixKeyDeltaEncoder | 
 Compress key by storing size of common prefix with previous KeyValue
 and storing raw size of rest. 
 | 
| TestBufferedDataBlockEncoder | |
| TestChangingEncoding | 
 Tests changing data block encoding settings of a column family. 
 | 
| TestDataBlockEncoders | 
 Test all of the data block encoding algorithms for correctness. 
 | 
| TestEncodedSeekers | 
 Tests encoded seekers by loading and reading values. 
 | 
| TestLoadAndSwitchEncodeOnDisk | 
 Uses the load tester 
 | 
| TestPrefixTree | |
| TestPrefixTreeEncoding | 
 Tests scanning/seeking data with PrefixTree Encoding. 
 | 
| TestSeekBeforeWithReverseScan | |
| TestSeekToBlockWithEncoders | 
| Enum | Description | 
|---|---|
| DataBlockEncoding | 
 Provide access to all data block encoding algorithms. 
 | 
| Exception | Description | 
|---|---|
| EncoderBufferTooSmallException | 
 Internal error which indicates a bug in a data block encoding algorithm. 
 |