@Override public void readInto(Buffer buffer, long length) throws IOException { if (!withHeader) { addRequest(new StreamReadRequest( this, buffer, hasReachedEndOfFile, currentPosition, length, bufferSize)); currentPosition += length; } else { throw new IllegalArgumentException("Method readInto(Buffer buffer, long length) only support withoutHeader mode."); } }
@Override public BufferFileReader createBufferFileReader(FileIOChannel.ID channelID, RequestDoneCallback<Buffer> callback) throws IOException { checkState(!isShutdown.get(), "I/O-Manger is shut down."); return new AsynchronousBufferFileReader(channelID, readers[channelID.getThreadNum()].requestQueue, callback, bufferedReadSize); }
@Override public BufferFileReader createBufferFileReader(FileIOChannel.ID channelID, RequestDoneCallback<Buffer> callback) throws IOException { checkState(!isShutdown.get(), "I/O-Manger is shut down."); return new AsynchronousBufferFileReader(channelID, readers[channelID.getThreadNum()].requestQueue, callback); }
@Override public BufferFileReader createBufferFileReader(FileIOChannel.ID channelID, RequestDoneCallback<Buffer> callback) throws IOException { checkState(!isShutdown.get(), "I/O-Manger is shut down."); return new AsynchronousBufferFileReader(channelID, readers[channelID.getThreadNum()].requestQueue, callback); }
@Override public void readInto(Buffer buffer) throws IOException { if (withHeader) { // If write buffers with their headers, we don't know the real buffer size until the headers have been // fetched from the disk, as a result, we cannot update currentPosition. addRequest(new BufferReadRequest(this, buffer, hasReachedEndOfFile, bufferSize)); } else { throw new IllegalArgumentException("Method readInto(Buffer buffer) only support withHeader mode."); } }
@Override public BufferFileReader createBufferFileReader(FileIOChannel.ID channelID, RequestDoneCallback<Buffer> callback) throws IOException { checkState(!isShutdown.get(), "I/O-Manger is shut down."); return new AsynchronousBufferFileReader(channelID, readers[channelID.getThreadNum()].requestQueue, callback); }
@Override public void readInto(Buffer buffer) throws IOException { addRequest(new BufferReadRequest(this, buffer, hasReachedEndOfFile)); }
@Override public BufferFileReader createStreamFileReader(FileIOChannel.ID channelID, RequestDoneCallback<Buffer> callback) throws IOException { checkState(!isShutdown.get(), "I/O-Manger is shut down."); return new AsynchronousBufferFileReader(channelID, readers[channelID.getThreadNum()].requestQueue, callback, bufferedReadSize, false); }
@Override public void readInto(Buffer buffer) throws IOException { addRequest(new BufferReadRequest(this, buffer, hasReachedEndOfFile)); }
@Override public void readInto(Buffer buffer) throws IOException { addRequest(new BufferReadRequest(this, buffer, hasReachedEndOfFile)); }