Class NativeRSRawDecoder

java.lang.Object
org.apache.hadoop.io.erasurecode.rawcoder.RawErasureDecoder
org.apache.hadoop.io.erasurecode.rawcoder.NativeRSRawDecoder

@Private public class NativeRSRawDecoder extends RawErasureDecoder
A Reed-Solomon raw decoder using Intel ISA-L library.
  • Field Details

  • Constructor Details

  • Method Details

    • performDecodeImpl

      protected void performDecodeImpl(ByteBuffer[] inputs, int[] inputOffsets, int dataLen, int[] erased, ByteBuffer[] outputs, int[] outputOffsets) throws IOException
      Throws:
      IOException
    • release

      public void release()
      Description copied from class: RawErasureDecoder
      Should be called when release this coder. Good chance to release encoding or decoding buffers
      Overrides:
      release in class RawErasureDecoder
    • preferDirectBuffer

      public boolean preferDirectBuffer()
      Description copied from class: RawErasureDecoder
      Tell if direct buffer is preferred or not. It's for callers to decide how to allocate coding chunk buffers, using DirectByteBuffer or bytes array. It will return false by default.
      Returns:
      true if native buffer is preferred for performance consideration, otherwise false.
    • doDecode

      protected void doDecode(org.apache.hadoop.io.erasurecode.rawcoder.ByteBufferDecodingState decodingState) throws IOException
      Description copied from class: RawErasureDecoder
      Perform the real decoding using Direct ByteBuffer.
      Specified by:
      doDecode in class RawErasureDecoder
      Parameters:
      decodingState - the decoding state
      Throws:
      IOException - raised on errors performing I/O.
    • doDecode

      protected void doDecode(org.apache.hadoop.io.erasurecode.rawcoder.ByteArrayDecodingState decodingState) throws IOException
      Description copied from class: RawErasureDecoder
      Perform the real decoding using bytes array, supporting offsets and lengths.
      Specified by:
      doDecode in class RawErasureDecoder
      Parameters:
      decodingState - the decoding state
      Throws:
      IOException - if the decoder is closed.