XORErasureDecoder (Apache Hadoop Common 3.5.0 API)
Description: declaration: package: org.apache.hadoop.io.erasurecode.coder, class: XORErasureDecoder

Package org.apache.hadoop.io.erasurecode.coder

# Class XORErasureDecoder

java.lang.Object
org.apache.hadoop.conf.Configured
org.apache.hadoop.io.erasurecode.coder.ErasureDecoder
org.apache.hadoop.io.erasurecode.coder.XORErasureDecoder

All Implemented Interfaces:
  `Configurable`, `ErasureCoder`

@Private public class XORErasureDecoder extends ErasureDecoder
Xor erasure decoder that decodes a block group. It implements `ErasureCoder`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `XORErasureDecoder(ErasureCoderOptions options)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected ECBlock[]`
  `getOutputBlocks(ECBlockGroup blockGroup)`
  Which blocks were erased ?
  `protected ErasureCodingStep`
  `prepareDecodingStep(ECBlockGroup blockGroup)`
  Perform decoding against a block blockGroup.

  ### Methods inherited from class org.apache.hadoop.io.erasurecode.coder.ErasureDecoder

  `calculateCoding, getErasedIndexes, getInputBlocks, getNumDataUnits, getNumErasedBlocks, getNumErasedBlocks, getNumParityUnits, getOptions, preferDirectBuffer, release`

  ### Methods inherited from class org.apache.hadoop.conf.Configured

  `getConf, setConf`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.hadoop.conf.Configurable

  `getConf, setConf`

- ## Constructor Details

  - ### XORErasureDecoder

    public XORErasureDecoder(ErasureCoderOptions options)

- ## Method Details

  - ### prepareDecodingStep

    protected ErasureCodingStep prepareDecodingStep(ECBlockGroup blockGroup)
    Description copied from class: `ErasureDecoder`
    Perform decoding against a block blockGroup.
    Specified by:
      `prepareDecodingStep` in class `ErasureDecoder`
    Parameters:
      `blockGroup` - blockGroup.
    Returns:
      decoding step for caller to do the real work

  - ### getOutputBlocks

    protected ECBlock[] getOutputBlocks(ECBlockGroup blockGroup)
    Which blocks were erased ? For XOR it's simple we only allow and return one erased block, either data or parity.
    Overrides:
      `getOutputBlocks` in class `ErasureDecoder`
    Parameters:
      `blockGroup` - blockGroup.
    Returns:
      output blocks to recover