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.
-
-
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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidcloseAndDelete()voiddeleteChannel()org.apache.flink.runtime.io.disk.iomanager.FileIOChannel.IDgetChannelID()org.apache.flink.core.memory.MemorySegmentgetNextReturnedBlock()FileChannelgetNioFileChannel()LinkedBlockingQueue<org.apache.flink.core.memory.MemorySegment>getReturnQueue()longgetSize()booleanisClosed()voidreadBlock(org.apache.flink.core.memory.MemorySegment segment)voidrecycle(org.apache.flink.core.memory.MemorySegment segment)voidrequestFailed(org.apache.flink.runtime.io.network.buffer.Buffer buffer, IOException e)voidrequestSuccessful(org.apache.flink.runtime.io.network.buffer.Buffer request)voidseekToPosition(long position)
-
-
-
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:
readBlockin interfaceorg.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:
seekToPositionin interfaceorg.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:
getNextReturnedBlockin interfaceorg.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:
getReturnQueuein interfaceorg.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:
getChannelIDin interfaceorg.apache.flink.runtime.io.disk.iomanager.FileIOChannel
-
getSize
public long getSize() throws IOException- Specified by:
getSizein interfaceorg.apache.flink.runtime.io.disk.iomanager.FileIOChannel- Throws:
IOException
-
isClosed
public boolean isClosed()
- Specified by:
isClosedin interfaceorg.apache.flink.runtime.io.disk.iomanager.FileIOChannel
-
close
public void close() throws IOException- Specified by:
closein interfaceorg.apache.flink.runtime.io.disk.iomanager.FileIOChannel- Throws:
IOException
-
deleteChannel
public void deleteChannel()
- Specified by:
deleteChannelin interfaceorg.apache.flink.runtime.io.disk.iomanager.FileIOChannel
-
closeAndDelete
public void closeAndDelete() throws IOException- Specified by:
closeAndDeletein interfaceorg.apache.flink.runtime.io.disk.iomanager.FileIOChannel- Throws:
IOException
-
getNioFileChannel
public FileChannel getNioFileChannel()
- Specified by:
getNioFileChannelin interfaceorg.apache.flink.runtime.io.disk.iomanager.FileIOChannel
-
requestSuccessful
public void requestSuccessful(org.apache.flink.runtime.io.network.buffer.Buffer request)
- Specified by:
requestSuccessfulin interfaceorg.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:
requestFailedin interfaceorg.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:
recyclein interfaceorg.apache.flink.runtime.io.network.buffer.BufferRecycler
-
-