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

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

# Interface ErasureCodingStep

All Known Implementing Classes:
  `ErasureDecodingStep`, `ErasureEncodingStep`, `HHErasureCodingStep`, `HHXORErasureDecodingStep`, `HHXORErasureEncodingStep`

@Private public interface ErasureCodingStep
Erasure coding step that's involved in encoding/decoding of a block group.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `finish()`
  Notify erasure coder that all the chunks of input blocks are processed so the coder can be able to update internal states, considering next step.
  `ECBlock[]`
  `getInputBlocks()`
  Input blocks of readable data involved in this step, may be data blocks or parity blocks.
  `ECBlock[]`
  `getOutputBlocks()`
  Output blocks of writable buffers involved in this step, may be data blocks or parity blocks.
  `void`
  `performCoding(ECChunk[] inputChunks, ECChunk[] outputChunks)`
  Perform encoding or decoding given the input chunks, and generated results will be written to the output chunks.

- ## Method Details

  - ### getInputBlocks

    ECBlock[] getInputBlocks()
    Input blocks of readable data involved in this step, may be data blocks or parity blocks.
    Returns:
      input blocks

  - ### getOutputBlocks

    ECBlock[] getOutputBlocks()
    Output blocks of writable buffers involved in this step, may be data blocks or parity blocks.
    Returns:
      output blocks

  - ### performCoding

    void performCoding(ECChunk[] inputChunks, ECChunk[] outputChunks) throws IOException
    Perform encoding or decoding given the input chunks, and generated results will be written to the output chunks.
    Parameters:
      `inputChunks` - inputChunks.
      `outputChunks` - outputChunks.
    Throws:
      `IOException` - raised on errors performing I/O.

  - ### finish

    void finish()
    Notify erasure coder that all the chunks of input blocks are processed so the coder can be able to update internal states, considering next step.