public class AsynchronousBlockWriter extends AsynchronousBlockWriterWithCallback implements BlockChannelWriter<MemorySegment>
closed, closeLock, exception, requestQueue, requestsNotReturned, resultHandler
fileChannel, id, LOG
|Modifier||Constructor and Description|
Creates a new block channel writer for the given channel.
|Modifier and Type||Method and Description|
Gets the next memory segment that has been written and is available again.
Gets the queue in which the memory segments are queued after the asynchronous write is completed.
addRequest, checkErroneous, close, closeAndDelete, handleProcessedBuffer, isClosed, registerAllRequestsProcessedListener
deleteChannel, getChannelID, getNioFileChannel, getSize
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
close, closeAndDelete, deleteChannel, getChannelID, getNioFileChannel, getSize, isClosed
protected AsynchronousBlockWriter(FileIOChannel.ID channelID, RequestQueue<org.apache.flink.runtime.io.disk.iomanager.WriteRequest> requestQueue, LinkedBlockingQueue<MemorySegment> returnSegments) throws IOException
channelID- The ID of the channel to write to.
requestQueue- The request queue of the asynchronous writer thread, to which the I/O requests are added.
returnSegments- The return queue, to which the processed Memory Segments are added.
IOException- Thrown, if the underlying file channel could not be opened exclusively.
public MemorySegment getNextReturnedBlock() throws IOException
NOTE: If this method is invoked without any segment ever returning (for example, because
AsynchronousBlockWriterWithCallback.writeBlock(MemorySegment) method has not been invoked accordingly), the method
may block forever.
IOException- Thrown, if an I/O error occurs in the writer while waiting for the request to return.
public LinkedBlockingQueue<MemorySegment> getReturnQueue()
Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.