@InterfaceAudience.Private public class PrefixTreeCodec extends Object implements DataBlockEncoder
This class is created via reflection in DataBlockEncoding enum. Update the enum if class name or package changes.
PrefixTreeDataBlockEncoder implementation of DataBlockEncoder. This is the primary entry point for PrefixTree encoding and decoding. Encoding is delegated to instances ofPrefixTreeEncoder
, and decoding is delegated to instances of
CellSearcher
.
Encoder and decoder instances are
created and recycled by static PtEncoderFactory and PtDecoderFactory.DataBlockEncoder.EncodedSeeker
Constructor and Description |
---|
PrefixTreeCodec()
no-arg constructor for reflection
|
public ByteBuffer decodeKeyValues(DataInputStream source, HFileBlockDecodingContext decodingCtx) throws IOException
decodeKeyValues
in interface DataBlockEncoder
IOException
public ByteBuffer decodeKeyValues(DataInputStream source, int allocateHeaderLength, int skipLastBytes, HFileBlockDecodingContext decodingCtx) throws IOException
IOException
public Cell getFirstKeyCellInBlock(ByteBuff block)
getFirstKeyCellInBlock
in interface DataBlockEncoder
public HFileBlockEncodingContext newDataBlockEncodingContext(DataBlockEncoding encoding, byte[] header, HFileContext meta)
newDataBlockEncodingContext
in interface DataBlockEncoder
public HFileBlockDecodingContext newDataBlockDecodingContext(HFileContext meta)
newDataBlockDecodingContext
in interface DataBlockEncoder
public DataBlockEncoder.EncodedSeeker createSeeker(CellComparator comparator, HFileBlockDecodingContext decodingCtx)
createSeeker
in interface DataBlockEncoder
public int encode(Cell cell, HFileBlockEncodingContext encodingCtx, DataOutputStream out) throws IOException
encode
in interface DataBlockEncoder
IOException
public void startBlockEncoding(HFileBlockEncodingContext blkEncodingCtx, DataOutputStream out) throws IOException
startBlockEncoding
in interface DataBlockEncoder
IOException
public void endBlockEncoding(HFileBlockEncodingContext encodingCtx, DataOutputStream out, byte[] uncompressedBytesWithHeader) throws IOException
endBlockEncoding
in interface DataBlockEncoder
IOException
Copyright © 2007–2017 The Apache Software Foundation. All rights reserved.