Class SpillingBuffer

java.lang.Object
org.apache.flink.runtime.memory.AbstractPagedOutputView
org.apache.flink.runtime.io.disk.SpillingBuffer
All Implemented Interfaces:
DataOutput, org.apache.flink.core.memory.DataOutputView, org.apache.flink.core.memory.MemorySegmentWritable

public class SpillingBuffer extends AbstractPagedOutputView
An output view that buffers written data in memory pages and spills them when they are full.
  • Constructor Details

    • SpillingBuffer

      public SpillingBuffer(IOManager ioManager, org.apache.flink.core.memory.MemorySegmentSource memSource, int segmentSize)
  • Method Details

    • nextSegment

      protected org.apache.flink.core.memory.MemorySegment nextSegment(org.apache.flink.core.memory.MemorySegment current, int positionInCurrent) throws IOException
      Description copied from class: AbstractPagedOutputView
      This method must return a segment. If no more segments are available, it must throw an EOFException.
      Specified by:
      nextSegment in class AbstractPagedOutputView
      Parameters:
      current - The current memory segment
      positionInCurrent - The position in the segment, one after the last valid byte.
      Returns:
      The next memory segment.
      Throws:
      IOException
    • flip

      public org.apache.flink.core.memory.DataInputView flip() throws IOException
      Throws:
      IOException
    • close

      public List<org.apache.flink.core.memory.MemorySegment> close() throws IOException
      Returns:
      A list with all memory segments that have been taken from the memory segment source.
      Throws:
      IOException