Class 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)  
    • Constructor Detail

      • 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 Detail

      • 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