private void setDumpBuffer(RandomAccessFile file) throws IOException { long length = file.length(); try { if (length > Integer.MAX_VALUE) { dumpBuffer = new LongMemoryMappedData(file, length); } else { dumpBuffer = new MemoryMappedData(file, length); } } catch (IOException ex) { if (ex.getCause() instanceof OutOfMemoryError) { dumpBuffer = new FileData(file, length); } else { throw ex; } } }
private int loadBufferIfNeeded(long index) { int i = (int) (index % (ENTRY_SIZE * BUFFER_SIZE)); long newOffset = index - i; if (offset != newOffset) { try { if (bufferModified) { file.seek(offset); file.write(buf,0,getBufferSize(offset)); bufferModified = false; } file.seek(newOffset); file.readFully(buf,0,getBufferSize(newOffset)); } catch (IOException ex) { ex.printStackTrace(); } offset = newOffset; } return i; }
private int loadBufferIfNeeded(long index) { int i = (int) (index % (ENTRY_SIZE * BUFFER_SIZE)); long newOffset = index - i; if (offset != newOffset) { try { if (bufferModified) { file.seek(offset); file.write(buf,0,getBufferSize(offset)); bufferModified = false; } file.seek(newOffset); file.readFully(buf,0,getBufferSize(newOffset)); } catch (IOException ex) { ex.printStackTrace(); } offset = newOffset; } return i; }
private int loadBufferIfNeeded(long index) { int i = (int) (index % (ENTRY_SIZE * BUFFER_SIZE)); long newOffset = index - i; if (offset != newOffset) { try { if (bufferModified) { file.seek(offset); file.write(buf,0,getBufferSize(offset)); bufferModified = false; } file.seek(newOffset); file.readFully(buf,0,getBufferSize(newOffset)); } catch (IOException ex) { ex.printStackTrace(); } offset = newOffset; } return i; }
private void setDumpBuffer(RandomAccessFile file) throws IOException { long length = file.length(); try { if (length > Integer.MAX_VALUE) { dumpBuffer = new LongMemoryMappedData(file, length); } else { dumpBuffer = new MemoryMappedData(file, length); } } catch (IOException ex) { if (ex.getCause() instanceof OutOfMemoryError) { dumpBuffer = new FileData(file, length); } else { throw ex; } } }
private void setDumpBuffer(RandomAccessFile file) throws IOException { long length = file.length(); try { if (length > Integer.MAX_VALUE) { dumpBuffer = new LongMemoryMappedData(file, length); } else { dumpBuffer = new MemoryMappedData(file, length); } } catch (IOException ex) { if (ex.getCause() instanceof OutOfMemoryError) { dumpBuffer = new FileData(file, length); } else { throw ex; } } }
public synchronized byte getByte(long index) { int i = loadBufferIfNeeded(index); return buf[i]; }
public synchronized void putInt(long index, int data) { int i = loadBufferIfNeeded(index); buf[i++] = (byte) (data >>> 24); buf[i++] = (byte) (data >>> 16); buf[i++] = (byte) (data >>> 8); buf[i++] = (byte) (data >>> 0); bufferModified = true; }
public synchronized void putLong(long index, long data) { int i = loadBufferIfNeeded(index); buf[i++] = (byte) (data >>> 56); buf[i++] = (byte) (data >>> 48); buf[i++] = (byte) (data >>> 40); buf[i++] = (byte) (data >>> 32); buf[i++] = (byte) (data >>> 24); buf[i++] = (byte) (data >>> 16); buf[i++] = (byte) (data >>> 8); buf[i++] = (byte) (data >>> 0); bufferModified = true; }
public synchronized void putInt(long index, int data) { int i = loadBufferIfNeeded(index); buf[i++] = (byte) (data >>> 24); buf[i++] = (byte) (data >>> 16); buf[i++] = (byte) (data >>> 8); buf[i++] = (byte) (data >>> 0); bufferModified = true; }
public synchronized void putByte(long index, byte data) { int i = loadBufferIfNeeded(index); buf[i] = data; bufferModified = true; }
public synchronized byte getByte(long index) { int i = loadBufferIfNeeded(index); return buf[i]; }
public synchronized void putLong(long index, long data) { int i = loadBufferIfNeeded(index); buf[i++] = (byte) (data >>> 56); buf[i++] = (byte) (data >>> 48); buf[i++] = (byte) (data >>> 40); buf[i++] = (byte) (data >>> 32); buf[i++] = (byte) (data >>> 24); buf[i++] = (byte) (data >>> 16); buf[i++] = (byte) (data >>> 8); buf[i++] = (byte) (data >>> 0); bufferModified = true; }
public synchronized void putByte(long index, byte data) { int i = loadBufferIfNeeded(index); buf[i] = data; bufferModified = true; }
public synchronized int getInt(long index) { int i = loadBufferIfNeeded(index); int ch1 = ((int) buf[i++]) & 0xFF; int ch2 = ((int) buf[i++]) & 0xFF; int ch3 = ((int) buf[i++]) & 0xFF; int ch4 = ((int) buf[i]) & 0xFF; return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0)); }
public synchronized int getInt(long index) { int i = loadBufferIfNeeded(index); int ch1 = ((int) buf[i++]) & 0xFF; int ch2 = ((int) buf[i++]) & 0xFF; int ch3 = ((int) buf[i++]) & 0xFF; int ch4 = ((int) buf[i]) & 0xFF; return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0)); }
public synchronized long getLong(long index) { int i = loadBufferIfNeeded(index); return (((long)buf[i++] << 56) + ((long)(buf[i++] & 255) << 48) + ((long)(buf[i++] & 255) << 40) + ((long)(buf[i++] & 255) << 32) + ((long)(buf[i++] & 255) << 24) + ((buf[i++] & 255) << 16) + ((buf[i++] & 255) << 8) + ((buf[i++] & 255) << 0)); }
public synchronized long getLong(long index) { int i = loadBufferIfNeeded(index); return (((long)buf[i++] << 56) + ((long)(buf[i++] & 255) << 48) + ((long)(buf[i++] & 255) << 40) + ((long)(buf[i++] & 255) << 32) + ((long)(buf[i++] & 255) << 24) + ((buf[i++] & 255) << 16) + ((buf[i++] & 255) << 8) + ((buf[i++] & 255) << 0)); }
public synchronized byte getByte(long index) { int i = loadBufferIfNeeded(index); return buf[i]; }
public synchronized void putLong(long index, long data) { int i = loadBufferIfNeeded(index); buf[i++] = (byte) (data >>> 56); buf[i++] = (byte) (data >>> 48); buf[i++] = (byte) (data >>> 40); buf[i++] = (byte) (data >>> 32); buf[i++] = (byte) (data >>> 24); buf[i++] = (byte) (data >>> 16); buf[i++] = (byte) (data >>> 8); buf[i++] = (byte) (data >>> 0); bufferModified = true; }