package com.sleepycat.je.log; public class FileManager { @MethodObject static class FileManager_writeToFile { protected void hook445() throws IOException, DatabaseException { if (_this.chunkedNIOSize > 0) { useData=data.duplicate(); origLimit=useData.limit(); useData.limit(useData.position()); while (useData.limit() < origLimit) { useData.limit((int)(Math.min(useData.limit() + _this.chunkedNIOSize,origLimit))); bytesWritten=channel.write(useData,destOffset); destOffset+=bytesWritten; totalBytesWritten+=bytesWritten; } } else { original(); } } } @MethodObject static class FileManager_readFromFile { protected void hook446() throws IOException { if (_this.chunkedNIOSize > 0) { readLength=readBuffer.limit(); currentPosition=offset; while (readBuffer.position() < readLength) { readBuffer.limit((int)(Math.min(readBuffer.limit() + _this.chunkedNIOSize,readLength))); bytesRead1=channel.read(readBuffer,currentPosition); if (bytesRead1 < 1) break; currentPosition+=bytesRead1; } } else { original(); } } } }