@Override public void blockingWriteDirect(ByteBuffer bytes,boolean sync, boolean releaseBuffer) throws Exception { this.sequentialFile.blockingWriteDirect(bytes, sync, releaseBuffer); }
@Override public void blockingWriteDirect(ByteBuffer bytes,boolean sync, boolean releaseBuffer) throws Exception { this.sequentialFile.blockingWriteDirect(bytes, sync, releaseBuffer); }
private void flush(boolean releaseWritingBuffer) throws Exception { if (writingChannel != null) { try { if (sequentialFile.isOpen()) { try { sequentialFile.position(0); // To Fix the size of the file writingChannel.writerIndex(writingChannel.capacity()); final ByteBuffer byteBuffer = bufferWrite; final int readerIndex = writingChannel.readerIndex(); byteBuffer.clear().position(readerIndex).limit(readerIndex + writingChannel.readableBytes()); sequentialFile.blockingWriteDirect(byteBuffer, true, false); } finally { sequentialFile.close(); newDataFiles.add(currentFile); } } } finally { if (releaseWritingBuffer) { //deterministic release of native resources fileFactory.releaseDirectBuffer(bufferWrite); writingChannel = null; bufferWrite = null; } } } }
private void flush(boolean releaseWritingBuffer) throws Exception { if (writingChannel != null) { try { if (sequentialFile.isOpen()) { try { sequentialFile.position(0); // To Fix the size of the file writingChannel.writerIndex(writingChannel.capacity()); final ByteBuffer byteBuffer = bufferWrite; final int readerIndex = writingChannel.readerIndex(); byteBuffer.clear().position(readerIndex).limit(readerIndex + writingChannel.readableBytes()); sequentialFile.blockingWriteDirect(byteBuffer, true, false); } finally { sequentialFile.close(); newDataFiles.add(currentFile); } } } finally { if (releaseWritingBuffer) { //deterministic release of native resources fileFactory.releaseDirectBuffer(bufferWrite); writingChannel = null; bufferWrite = null; } } } }