Package com.qfs.chunk

Interface IChunkBinding

All Known Implementing Classes:
ChunkSetBinding

public interface IChunkBinding
Represent the binding between two chunks.
Author:
ActiveViam
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    copy(int srcPos, int destPos, int length)
    Uses the binding to contiguously copy data from the source to the destination.
    void
    transfer(int[] rowsMapping, int numRows)
    Transfers a set of rows from our source chunk towards our destination chunk.
    void
    transferContiguously(int[] sourceRows, int numRows)
    Transfers a number of rows from the source chunk and into the destination chunk, where they are written from 0 to n.
  • Method Details

    • copy

      void copy(int srcPos, int destPos, int length)
      Uses the binding to contiguously copy data from the source to the destination.
      Parameters:
      srcPos - start position in the source
      destPos - start position in the destination
      length - length of the copy
    • transferContiguously

      void transferContiguously(int[] sourceRows, int numRows)
      Transfers a number of rows from the source chunk and into the destination chunk, where they are written from 0 to n.
      Parameters:
      sourceRows - the indexes of the rows to transfer the data from
      numRows - the number of rows to transfer
    • transfer

      void transfer(int[] rowsMapping, int numRows)
      Transfers a set of rows from our source chunk towards our destination chunk.

      The mapping from the source rows to the target rows is described with an array of 2*n slots. Each even slot contains the index of the row to be copied from the source chunk and the following odd slot contains the index of the row into which the source data will be transferred.

      Parameters:
      rowsMapping - the mapping from source rows to target rows, as explained above
      numRows - the number of rows to transfer