Package org.nustaq.offheap.bytez.malloc
Class MemoryBytez
java.lang.Object
org.nustaq.offheap.bytez.malloc.MemoryBytez
- All Implemented Interfaces:
BasicBytez
,ByteSink
,ByteSource
,Bytez
- Direct Known Subclasses:
MMFBytez
Date: 17.11.13
Time: 00:01
implementation of Bytez interface using unsafe on raw allocated memory
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]
boolean
compareAndSwapInt
(long offset, int expect, int newVal) boolean
compareAndSwapLong
(long offset, long expect, long newVal) void
copyTo
(BasicBytez other, long otherByteIndex, long myByteIndex, long lenBytes) boolean
byte
get
(long byteIndex) void
getArr
(long byteIndex, byte[] target, int elemoff, int numElems) copy to a byte arrayint
int
boolean
getBool
(long byteIndex) void
getBooleanArr
(long byteIndex, boolean[] target, int elemoff, int numElems) see getArrchar
getChar
(long byteIndex) void
getCharArr
(long byteIndex, char[] target, int elemoff, int numElems) see getArrdouble
getDouble
(long byteIndex) void
getDoubleArr
(long byteIndex, double[] target, int elemoff, int numElems) see getArrfloat
getFloat
(long byteIndex) void
getFloatArr
(long byteIndex, float[] target, int elemoff, int numElems) see getArrint
getInt
(long byteIndex) void
getIntArr
(long byteIndex, int[] target, int elemoff, int numElems) see getArrlong
long
getLong
(long byteIndex) void
getLongArr
(long byteIndex, long[] target, int elemoff, int numElems) see getArrshort
getShort
(long byteIndex) void
getShortArr
(long byteIndex, short[] target, int elemoff, int numElems) see getArrint
hashCode()
long
length()
static void
newInstance
(long size) void
put
(long byteIndex, byte value) void
putBool
(long byteIndex, boolean val) void
putChar
(long byteIndex, char c) void
putDouble
(long byteIndex, double d) void
putFloat
(long byteIndex, float f) void
putInt
(long byteIndex, int i) void
putLong
(long byteIndex, long l) void
putShort
(long byteIndex, short s) void
set
(long byteIndex, byte[] source, int elemoff, int numElems) void
setBoolean
(long byteIndex, boolean[] o, int elemoff, int numElems) void
setChar
(long byteIndex, char[] source, int elemoff, int numElems) void
setDouble
(long byteIndex, double[] source, int elemoff, int numElems) void
setFloat
(long byteIndex, float[] source, int elemoff, int numElems) void
setInt
(long byteIndex, int[] source, int elemoff, int numElems) void
setLong
(long byteIndex, long[] source, int elemoff, int numElems) void
setShort
(long byteIndex, short[] source, int elemoff, int numElems) slice
(long off, int len) byte[]
toBytes
(long startIndex, int len)
-
Constructor Details
-
MemoryBytez
protected MemoryBytez() -
MemoryBytez
public MemoryBytez(long len) -
MemoryBytez
-
-
Method Details
-
slice
-
get
public byte get(long byteIndex) - Specified by:
get
in interfaceBasicBytez
- Specified by:
get
in interfaceByteSource
-
getBool
public boolean getBool(long byteIndex) - Specified by:
getBool
in interfaceBasicBytez
-
getChar
public char getChar(long byteIndex) - Specified by:
getChar
in interfaceBasicBytez
-
getShort
public short getShort(long byteIndex) - Specified by:
getShort
in interfaceBasicBytez
-
getInt
public int getInt(long byteIndex) - Specified by:
getInt
in interfaceBasicBytez
-
getLong
public long getLong(long byteIndex) - Specified by:
getLong
in interfaceBasicBytez
-
getFloat
public float getFloat(long byteIndex) - Specified by:
getFloat
in interfaceBasicBytez
-
getDouble
public double getDouble(long byteIndex) - Specified by:
getDouble
in interfaceBasicBytez
-
put
public void put(long byteIndex, byte value) - Specified by:
put
in interfaceBasicBytez
- Specified by:
put
in interfaceByteSink
-
putBool
public void putBool(long byteIndex, boolean val) - Specified by:
putBool
in interfaceBasicBytez
-
putChar
public void putChar(long byteIndex, char c) - Specified by:
putChar
in interfaceBasicBytez
-
putShort
public void putShort(long byteIndex, short s) - Specified by:
putShort
in interfaceBasicBytez
-
putInt
public void putInt(long byteIndex, int i) - Specified by:
putInt
in interfaceBasicBytez
-
putLong
public void putLong(long byteIndex, long l) - Specified by:
putLong
in interfaceBasicBytez
-
putFloat
public void putFloat(long byteIndex, float f) - Specified by:
putFloat
in interfaceBasicBytez
-
putDouble
public void putDouble(long byteIndex, double d) - Specified by:
putDouble
in interfaceBasicBytez
-
length
public long length()- Specified by:
length
in interfaceBasicBytez
- Specified by:
length
in interfaceByteSink
- Specified by:
length
in interfaceByteSource
-
getArr
public void getArr(long byteIndex, byte[] target, int elemoff, int numElems) Description copied from interface:BasicBytez
copy to a byte array- Specified by:
getArr
in interfaceBasicBytez
- Parameters:
byteIndex
- - offset index in this buffer to start copyingtarget
- - array to copy toelemoff
- - offset in target arraynumElems
- - length to copy to
-
getCharArr
public void getCharArr(long byteIndex, char[] target, int elemoff, int numElems) Description copied from interface:BasicBytez
see getArr- Specified by:
getCharArr
in interfaceBasicBytez
-
getShortArr
public void getShortArr(long byteIndex, short[] target, int elemoff, int numElems) Description copied from interface:BasicBytez
see getArr- Specified by:
getShortArr
in interfaceBasicBytez
-
getIntArr
public void getIntArr(long byteIndex, int[] target, int elemoff, int numElems) Description copied from interface:BasicBytez
see getArr- Specified by:
getIntArr
in interfaceBasicBytez
-
getLongArr
public void getLongArr(long byteIndex, long[] target, int elemoff, int numElems) Description copied from interface:BasicBytez
see getArr- Specified by:
getLongArr
in interfaceBasicBytez
-
getFloatArr
public void getFloatArr(long byteIndex, float[] target, int elemoff, int numElems) Description copied from interface:BasicBytez
see getArr- Specified by:
getFloatArr
in interfaceBasicBytez
-
getDoubleArr
public void getDoubleArr(long byteIndex, double[] target, int elemoff, int numElems) Description copied from interface:BasicBytez
see getArr- Specified by:
getDoubleArr
in interfaceBasicBytez
-
getBooleanArr
public void getBooleanArr(long byteIndex, boolean[] target, int elemoff, int numElems) Description copied from interface:BasicBytez
see getArr- Specified by:
getBooleanArr
in interfaceBasicBytez
-
set
public void set(long byteIndex, byte[] source, int elemoff, int numElems) - Specified by:
set
in interfaceBasicBytez
-
setChar
public void setChar(long byteIndex, char[] source, int elemoff, int numElems) - Specified by:
setChar
in interfaceBasicBytez
-
setShort
public void setShort(long byteIndex, short[] source, int elemoff, int numElems) - Specified by:
setShort
in interfaceBasicBytez
-
setInt
public void setInt(long byteIndex, int[] source, int elemoff, int numElems) - Specified by:
setInt
in interfaceBasicBytez
-
setLong
public void setLong(long byteIndex, long[] source, int elemoff, int numElems) - Specified by:
setLong
in interfaceBasicBytez
-
setFloat
public void setFloat(long byteIndex, float[] source, int elemoff, int numElems) - Specified by:
setFloat
in interfaceBasicBytez
-
setDouble
public void setDouble(long byteIndex, double[] source, int elemoff, int numElems) - Specified by:
setDouble
in interfaceBasicBytez
-
setBoolean
public void setBoolean(long byteIndex, boolean[] o, int elemoff, int numElems) - Specified by:
setBoolean
in interfaceBasicBytez
-
copyTo
- Specified by:
copyTo
in interfaceBasicBytez
- Specified by:
copyTo
in interfaceByteSink
-
newInstance
- Specified by:
newInstance
in interfaceBasicBytez
-
compareAndSwapInt
public boolean compareAndSwapInt(long offset, int expect, int newVal) - Specified by:
compareAndSwapInt
in interfaceBytez
-
compareAndSwapLong
public boolean compareAndSwapLong(long offset, long expect, long newVal) - Specified by:
compareAndSwapLong
in interfaceBytez
-
toBytes
public byte[] toBytes(long startIndex, int len) -
asByteArray
public byte[] asByteArray()- Specified by:
asByteArray
in interfaceBytez
- Returns:
- return the underlying byte array, not supported by MallocBytez !. Use getArr to extract data by copy instead.
-
getBAOffsetIndex
public int getBAOffsetIndex()- Specified by:
getBAOffsetIndex
in interfaceBytez
- Returns:
- the start index inside the byte array returned by asByteArray, not supported by MallocBytez
-
getBALength
public int getBALength()- Specified by:
getBALength
in interfaceBytez
- Returns:
- the length inside the byte array returned by asByteArray, not supported by MallocBytez
-
hashCode
public int hashCode() -
equals
-
getLength
public long getLength() -
main
- Throws:
Exception
-