Class CompressedBlockChannelReader

java.lang.Object
org.apache.flink.table.runtime.io.CompressedBlockChannelReader
All Implemented Interfaces:
org.apache.flink.runtime.io.disk.iomanager.BlockChannelReader<org.apache.flink.core.memory.MemorySegment>, org.apache.flink.runtime.io.disk.iomanager.FileIOChannel, org.apache.flink.runtime.io.disk.iomanager.RequestDoneCallback<org.apache.flink.runtime.io.network.buffer.Buffer>, org.apache.flink.runtime.io.network.buffer.BufferRecycler

public class CompressedBlockChannelReader extends Object implements org.apache.flink.runtime.io.disk.iomanager.BlockChannelReader<org.apache.flink.core.memory.MemorySegment>, org.apache.flink.runtime.io.disk.iomanager.RequestDoneCallback<org.apache.flink.runtime.io.network.buffer.Buffer>, org.apache.flink.runtime.io.network.buffer.BufferRecycler
Compressed block channel reader provides a scenario where MemorySegment must be maintained.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.flink.runtime.io.network.buffer.BufferRecycler

    org.apache.flink.runtime.io.network.buffer.BufferRecycler.DummyBufferRecycler

    Nested classes/interfaces inherited from interface org.apache.flink.runtime.io.disk.iomanager.FileIOChannel

    org.apache.flink.runtime.io.disk.iomanager.FileIOChannel.Enumerator, org.apache.flink.runtime.io.disk.iomanager.FileIOChannel.ID
  • Constructor Summary

    Constructors
    Constructor
    Description
    CompressedBlockChannelReader(org.apache.flink.runtime.io.disk.iomanager.IOManager ioManager, org.apache.flink.runtime.io.disk.iomanager.FileIOChannel.ID channel, LinkedBlockingQueue<org.apache.flink.core.memory.MemorySegment> blockQueue, org.apache.flink.runtime.io.compression.BlockCompressionFactory codecFactory, int preferBlockSize, int segmentSize)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
     
    void
     
    org.apache.flink.runtime.io.disk.iomanager.FileIOChannel.ID
     
    org.apache.flink.core.memory.MemorySegment
     
     
    LinkedBlockingQueue<org.apache.flink.core.memory.MemorySegment>
     
    long
     
    boolean
     
    void
    readBlock(org.apache.flink.core.memory.MemorySegment segment)
     
    void
    recycle(org.apache.flink.core.memory.MemorySegment segment)
     
    void
    requestFailed(org.apache.flink.runtime.io.network.buffer.Buffer buffer, IOException e)
     
    void
    requestSuccessful(org.apache.flink.runtime.io.network.buffer.Buffer request)
     
    void
    seekToPosition(long position)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CompressedBlockChannelReader

      public CompressedBlockChannelReader(org.apache.flink.runtime.io.disk.iomanager.IOManager ioManager, org.apache.flink.runtime.io.disk.iomanager.FileIOChannel.ID channel, LinkedBlockingQueue<org.apache.flink.core.memory.MemorySegment> blockQueue, org.apache.flink.runtime.io.compression.BlockCompressionFactory codecFactory, int preferBlockSize, int segmentSize) throws IOException
      Throws:
      IOException
  • Method Details

    • readBlock

      public void readBlock(org.apache.flink.core.memory.MemorySegment segment) throws IOException
      Specified by:
      readBlock in interface org.apache.flink.runtime.io.disk.iomanager.BlockChannelReader<org.apache.flink.core.memory.MemorySegment>
      Throws:
      IOException
    • seekToPosition

      public void seekToPosition(long position) throws IOException
      Specified by:
      seekToPosition in interface org.apache.flink.runtime.io.disk.iomanager.BlockChannelReader<org.apache.flink.core.memory.MemorySegment>
      Throws:
      IOException
    • getNextReturnedBlock

      public org.apache.flink.core.memory.MemorySegment getNextReturnedBlock() throws IOException
      Specified by:
      getNextReturnedBlock in interface org.apache.flink.runtime.io.disk.iomanager.BlockChannelReader<org.apache.flink.core.memory.MemorySegment>
      Throws:
      IOException
    • getReturnQueue

      public LinkedBlockingQueue<org.apache.flink.core.memory.MemorySegment> getReturnQueue()
      Specified by:
      getReturnQueue in interface org.apache.flink.runtime.io.disk.iomanager.BlockChannelReader<org.apache.flink.core.memory.MemorySegment>
    • getChannelID

      public org.apache.flink.runtime.io.disk.iomanager.FileIOChannel.ID getChannelID()
      Specified by:
      getChannelID in interface org.apache.flink.runtime.io.disk.iomanager.FileIOChannel
    • getSize

      public long getSize() throws IOException
      Specified by:
      getSize in interface org.apache.flink.runtime.io.disk.iomanager.FileIOChannel
      Throws:
      IOException
    • isClosed

      public boolean isClosed()
      Specified by:
      isClosed in interface org.apache.flink.runtime.io.disk.iomanager.FileIOChannel
    • close

      public void close() throws IOException
      Specified by:
      close in interface org.apache.flink.runtime.io.disk.iomanager.FileIOChannel
      Throws:
      IOException
    • deleteChannel

      public void deleteChannel()
      Specified by:
      deleteChannel in interface org.apache.flink.runtime.io.disk.iomanager.FileIOChannel
    • closeAndDelete

      public void closeAndDelete() throws IOException
      Specified by:
      closeAndDelete in interface org.apache.flink.runtime.io.disk.iomanager.FileIOChannel
      Throws:
      IOException
    • getNioFileChannel

      public FileChannel getNioFileChannel()
      Specified by:
      getNioFileChannel in interface org.apache.flink.runtime.io.disk.iomanager.FileIOChannel
    • requestSuccessful

      public void requestSuccessful(org.apache.flink.runtime.io.network.buffer.Buffer request)
      Specified by:
      requestSuccessful in interface org.apache.flink.runtime.io.disk.iomanager.RequestDoneCallback<org.apache.flink.runtime.io.network.buffer.Buffer>
    • requestFailed

      public void requestFailed(org.apache.flink.runtime.io.network.buffer.Buffer buffer, IOException e)
      Specified by:
      requestFailed in interface org.apache.flink.runtime.io.disk.iomanager.RequestDoneCallback<org.apache.flink.runtime.io.network.buffer.Buffer>
    • recycle

      public void recycle(org.apache.flink.core.memory.MemorySegment segment)
      Specified by:
      recycle in interface org.apache.flink.runtime.io.network.buffer.BufferRecycler