public class IOManagerAsync extends IOManager implements Thread.UncaughtExceptionHandler
IOManager
that uses asynchronous I/O.IOManager.IOMode
Constructor and Description |
---|
IOManagerAsync()
Constructs a new asynchronous I/O manger, writing files to the system 's temp directory.
|
IOManagerAsync(String tempDir)
Constructs a new asynchronous I/O manger, writing file to the given directory.
|
IOManagerAsync(String[] tempDirs)
Constructs a new asynchronous I/O manger, writing file round robin across the given directories.
|
createBlockChannelReader, createBlockChannelWriter, createChannel, createChannelEnumerator, deleteChannel, getNextPathNum, getNumberOfSpillingDirectories, getSpillingDirectories, getSpillingDirectoriesPaths
public IOManagerAsync()
public IOManagerAsync(String tempDir)
tempDir
- The directory to write temporary files to.public IOManagerAsync(String[] tempDirs)
tempDirs
- The directories to write temporary files to.public void shutdown()
public boolean isProperlyShutDown()
isProperlyShutDown
in class IOManager
public void uncaughtException(Thread t, Throwable e)
uncaughtException
in interface Thread.UncaughtExceptionHandler
public BlockChannelWriter<MemorySegment> createBlockChannelWriter(FileIOChannel.ID channelID, LinkedBlockingQueue<MemorySegment> returnQueue) throws IOException
IOManager
createBlockChannelWriter
in class IOManager
channelID
- The descriptor for the channel to write to.returnQueue
- The queue to put the written buffers into.IOException
- Thrown, if the channel for the writer could not be opened.public BlockChannelWriterWithCallback<MemorySegment> createBlockChannelWriter(FileIOChannel.ID channelID, RequestDoneCallback<MemorySegment> callback) throws IOException
IOManager
createBlockChannelWriter
in class IOManager
channelID
- The descriptor for the channel to write to.callback
- The callback to be called forIOException
- Thrown, if the channel for the writer could not be opened.public BlockChannelReader<MemorySegment> createBlockChannelReader(FileIOChannel.ID channelID, LinkedBlockingQueue<MemorySegment> returnQueue) throws IOException
createBlockChannelReader
in class IOManager
channelID
- The descriptor for the channel to write to.returnQueue
- The queue to put the full buffers into.IOException
- Thrown, if the channel for the reader could not be opened.public BufferFileWriter createBufferFileWriter(FileIOChannel.ID channelID) throws IOException
createBufferFileWriter
in class IOManager
IOException
public BufferFileReader createBufferFileReader(FileIOChannel.ID channelID, RequestDoneCallback<Buffer> callback) throws IOException
createBufferFileReader
in class IOManager
IOException
public BufferFileSegmentReader createBufferFileSegmentReader(FileIOChannel.ID channelID, RequestDoneCallback<FileSegment> callback) throws IOException
createBufferFileSegmentReader
in class IOManager
IOException
public BulkBlockChannelReader createBulkBlockChannelReader(FileIOChannel.ID channelID, List<MemorySegment> targetSegments, int numBlocks) throws IOException
If a channel is not to be read in one bulk, but in multiple smaller batches, a
BlockChannelReader
should be used.
createBulkBlockChannelReader
in class IOManager
channelID
- The descriptor for the channel to write to.targetSegments
- The list to take the segments from into which to read the data.numBlocks
- The number of blocks in the channel to read.IOException
- Thrown, if the channel for the reader could not be opened.Copyright © 2014–2019 The Apache Software Foundation. All rights reserved.