public abstract class ByteBufferVol extends Volume
Modifier and Type | Field and Description |
---|---|
protected boolean |
cleanerHackEnabled |
protected java.util.concurrent.locks.ReentrantLock |
growLock |
protected boolean |
readOnly |
protected java.nio.ByteBuffer[] |
slices |
protected int |
sliceShift |
protected int |
sliceSize |
protected int |
sliceSizeModMask |
closed, LOG, UNSAFE_VOL_FACTORY
Modifier | Constructor and Description |
---|---|
protected |
ByteBufferVol(boolean readOnly,
int sliceShift,
boolean cleanerHackEnabled) |
Modifier and Type | Method and Description |
---|---|
void |
clear(long startOffset,
long endOffset)
Set all bytes between
startOffset and endOffset to zero. |
void |
copyTo(long inputOffset,
Volume target,
long targetOffset,
long size)
Transfers data from this Volume into target volume.
|
byte |
getByte(long offset) |
void |
getData(long offset,
byte[] src,
int srcPos,
int srcSize) |
DataInput2.ByteBuffer |
getDataInput(long offset,
int size) |
DataInput2 |
getDataInputOverlap(long offset,
int size) |
int |
getInt(long offset) |
long |
getLong(long offset) |
long |
getPackedLong(long position)
Unpack long value from the Volume.
|
long |
getSixLong(long pos) |
protected java.nio.ByteBuffer |
getSlice(long offset) |
int |
getUnsignedByte(long offset) |
int |
getUnsignedShort(long offset) |
boolean |
isSliced() |
void |
putByte(long offset,
byte value) |
void |
putData(long offset,
byte[] src,
int srcPos,
int srcSize) |
void |
putData(long offset,
java.nio.ByteBuffer buf) |
void |
putDataOverlap(long offset,
byte[] data,
int pos,
int len) |
void |
putInt(long offset,
int value) |
void |
putLong(long offset,
long value) |
int |
putPackedLong(long pos,
long value)
Put packed long at given position.
|
void |
putSixLong(long pos,
long value) |
void |
putUnsignedByte(long offset,
int byt) |
void |
putUnsignedShort(long offset,
int value) |
int |
sliceSize() |
protected static byte |
toByte(int byt) |
protected static byte |
toByte(long l) |
protected static boolean |
unmap(java.nio.MappedByteBuffer b)
Hack to unmap MappedByteBuffer.
|
assertZeroes, clearOverlap, close, copyFrom, copyTo, copyTo, deleteFile, ensureAvailable, fileLoad, finalize, getFile, getFileLocked, hash, isClosed, isReadOnly, length, sync, truncate
protected final boolean cleanerHackEnabled
protected final java.util.concurrent.locks.ReentrantLock growLock
protected final int sliceShift
protected final int sliceSizeModMask
protected final int sliceSize
protected volatile java.nio.ByteBuffer[] slices
protected final boolean readOnly
protected ByteBufferVol(boolean readOnly, int sliceShift, boolean cleanerHackEnabled)
protected final java.nio.ByteBuffer getSlice(long offset)
public void putData(long offset, byte[] src, int srcPos, int srcSize)
public final void putData(long offset, java.nio.ByteBuffer buf)
public void copyTo(long inputOffset, Volume target, long targetOffset, long size)
Volume
public void getData(long offset, byte[] src, int srcPos, int srcSize)
public final DataInput2.ByteBuffer getDataInput(long offset, int size)
getDataInput
in class Volume
public void putDataOverlap(long offset, byte[] data, int pos, int len)
putDataOverlap
in class Volume
public DataInput2 getDataInputOverlap(long offset, int size)
getDataInputOverlap
in class Volume
public void putUnsignedShort(long offset, int value)
putUnsignedShort
in class Volume
public int getUnsignedShort(long offset)
getUnsignedShort
in class Volume
public int getUnsignedByte(long offset)
getUnsignedByte
in class Volume
public void putUnsignedByte(long offset, int byt)
putUnsignedByte
in class Volume
protected static byte toByte(int byt)
protected static byte toByte(long l)
public long getSixLong(long pos)
getSixLong
in class Volume
public void putSixLong(long pos, long value)
putSixLong
in class Volume
public int putPackedLong(long pos, long value)
Volume
putPackedLong
in class Volume
value
- to be writtenpublic long getPackedLong(long position)
Volume
result & DataIO.PACK_LONG_RESULT_MASK
to remove size;getPackedLong
in class Volume
position
- to read value frompublic void clear(long startOffset, long endOffset)
Volume
startOffset
and endOffset
to zero.
Area between offsets must be ready for write once clear finishes.public int sliceSize()
protected static boolean unmap(java.nio.MappedByteBuffer b)
Copyright © 2018. All Rights Reserved.