Class RandomAccessInputView

java.lang.Object
org.apache.flink.runtime.memory.AbstractPagedInputView
org.apache.flink.runtime.io.disk.RandomAccessInputView
All Implemented Interfaces:
DataInput, org.apache.flink.core.memory.DataInputView, org.apache.flink.core.memory.SeekableDataInputView

public class RandomAccessInputView extends AbstractPagedInputView implements org.apache.flink.core.memory.SeekableDataInputView
  • Constructor Details

    • RandomAccessInputView

      public RandomAccessInputView(ArrayList<org.apache.flink.core.memory.MemorySegment> segments, int segmentSize)
    • RandomAccessInputView

      public RandomAccessInputView(ArrayList<org.apache.flink.core.memory.MemorySegment> segments, int segmentSize, int limitInLastSegment)
  • Method Details

    • setReadPosition

      public void setReadPosition(long position)
      Specified by:
      setReadPosition in interface org.apache.flink.core.memory.SeekableDataInputView
    • getReadPosition

      public long getReadPosition()
    • nextSegment

      protected org.apache.flink.core.memory.MemorySegment nextSegment(org.apache.flink.core.memory.MemorySegment current) throws EOFException
      Description copied from class: AbstractPagedInputView
      The method by which concrete subclasses realize page crossing. This method is invoked when the current page is exhausted and a new page is required to continue the reading. If no further page is available, this method must throw an EOFException.
      Specified by:
      nextSegment in class AbstractPagedInputView
      Parameters:
      current - The current page that was read to its limit. May be null, if this method is invoked for the first time.
      Returns:
      The next page from which the reading should continue. May not be null. If the input is exhausted, an EOFException must be thrown instead.
      Throws:
      EOFException - Thrown, if no further segment is available.
    • getLimitForSegment

      protected int getLimitForSegment(org.apache.flink.core.memory.MemorySegment segment)
      Description copied from class: AbstractPagedInputView
      Gets the limit for reading bytes from the given memory segment. This method must return the position of the byte after the last valid byte in the given memory segment. When the position returned by this method is reached, the view will attempt to switch to the next memory segment.
      Specified by:
      getLimitForSegment in class AbstractPagedInputView
      Parameters:
      segment - The segment to determine the limit for.
      Returns:
      The limit for the given memory segment.