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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]booleancompareAndSwapInt(long offset, int expect, int newVal) booleancompareAndSwapLong(long offset, long expect, long newVal) voidcopyTo(BasicBytez other, long otherByteIndex, long myByteIndex, long lenBytes) booleanbyteget(long byteIndex) voidgetArr(long byteIndex, byte[] target, int elemoff, int numElems) copy to a byte arrayintintbooleangetBool(long byteIndex) voidgetBooleanArr(long byteIndex, boolean[] target, int elemoff, int numElems) see getArrchargetChar(long byteIndex) voidgetCharArr(long byteIndex, char[] target, int elemoff, int numElems) see getArrdoublegetDouble(long byteIndex) voidgetDoubleArr(long byteIndex, double[] target, int elemoff, int numElems) see getArrfloatgetFloat(long byteIndex) voidgetFloatArr(long byteIndex, float[] target, int elemoff, int numElems) see getArrintgetInt(long byteIndex) voidgetIntArr(long byteIndex, int[] target, int elemoff, int numElems) see getArrlonglonggetLong(long byteIndex) voidgetLongArr(long byteIndex, long[] target, int elemoff, int numElems) see getArrshortgetShort(long byteIndex) voidgetShortArr(long byteIndex, short[] target, int elemoff, int numElems) see getArrinthashCode()longlength()static voidnewInstance(long size) voidput(long byteIndex, byte value) voidputBool(long byteIndex, boolean val) voidputChar(long byteIndex, char c) voidputDouble(long byteIndex, double d) voidputFloat(long byteIndex, float f) voidputInt(long byteIndex, int i) voidputLong(long byteIndex, long l) voidputShort(long byteIndex, short s) voidset(long byteIndex, byte[] source, int elemoff, int numElems) voidsetBoolean(long byteIndex, boolean[] o, int elemoff, int numElems) voidsetChar(long byteIndex, char[] source, int elemoff, int numElems) voidsetDouble(long byteIndex, double[] source, int elemoff, int numElems) voidsetFloat(long byteIndex, float[] source, int elemoff, int numElems) voidsetInt(long byteIndex, int[] source, int elemoff, int numElems) voidsetLong(long byteIndex, long[] source, int elemoff, int numElems) voidsetShort(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:
getin interfaceBasicBytez- Specified by:
getin interfaceByteSource
-
getBool
public boolean getBool(long byteIndex) - Specified by:
getBoolin interfaceBasicBytez
-
getChar
public char getChar(long byteIndex) - Specified by:
getCharin interfaceBasicBytez
-
getShort
public short getShort(long byteIndex) - Specified by:
getShortin interfaceBasicBytez
-
getInt
public int getInt(long byteIndex) - Specified by:
getIntin interfaceBasicBytez
-
getLong
public long getLong(long byteIndex) - Specified by:
getLongin interfaceBasicBytez
-
getFloat
public float getFloat(long byteIndex) - Specified by:
getFloatin interfaceBasicBytez
-
getDouble
public double getDouble(long byteIndex) - Specified by:
getDoublein interfaceBasicBytez
-
put
public void put(long byteIndex, byte value) - Specified by:
putin interfaceBasicBytez- Specified by:
putin interfaceByteSink
-
putBool
public void putBool(long byteIndex, boolean val) - Specified by:
putBoolin interfaceBasicBytez
-
putChar
public void putChar(long byteIndex, char c) - Specified by:
putCharin interfaceBasicBytez
-
putShort
public void putShort(long byteIndex, short s) - Specified by:
putShortin interfaceBasicBytez
-
putInt
public void putInt(long byteIndex, int i) - Specified by:
putIntin interfaceBasicBytez
-
putLong
public void putLong(long byteIndex, long l) - Specified by:
putLongin interfaceBasicBytez
-
putFloat
public void putFloat(long byteIndex, float f) - Specified by:
putFloatin interfaceBasicBytez
-
putDouble
public void putDouble(long byteIndex, double d) - Specified by:
putDoublein interfaceBasicBytez
-
length
public long length()- Specified by:
lengthin interfaceBasicBytez- Specified by:
lengthin interfaceByteSink- Specified by:
lengthin interfaceByteSource
-
getArr
public void getArr(long byteIndex, byte[] target, int elemoff, int numElems) Description copied from interface:BasicBytezcopy to a byte array- Specified by:
getArrin 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:BasicBytezsee getArr- Specified by:
getCharArrin interfaceBasicBytez
-
getShortArr
public void getShortArr(long byteIndex, short[] target, int elemoff, int numElems) Description copied from interface:BasicBytezsee getArr- Specified by:
getShortArrin interfaceBasicBytez
-
getIntArr
public void getIntArr(long byteIndex, int[] target, int elemoff, int numElems) Description copied from interface:BasicBytezsee getArr- Specified by:
getIntArrin interfaceBasicBytez
-
getLongArr
public void getLongArr(long byteIndex, long[] target, int elemoff, int numElems) Description copied from interface:BasicBytezsee getArr- Specified by:
getLongArrin interfaceBasicBytez
-
getFloatArr
public void getFloatArr(long byteIndex, float[] target, int elemoff, int numElems) Description copied from interface:BasicBytezsee getArr- Specified by:
getFloatArrin interfaceBasicBytez
-
getDoubleArr
public void getDoubleArr(long byteIndex, double[] target, int elemoff, int numElems) Description copied from interface:BasicBytezsee getArr- Specified by:
getDoubleArrin interfaceBasicBytez
-
getBooleanArr
public void getBooleanArr(long byteIndex, boolean[] target, int elemoff, int numElems) Description copied from interface:BasicBytezsee getArr- Specified by:
getBooleanArrin interfaceBasicBytez
-
set
public void set(long byteIndex, byte[] source, int elemoff, int numElems) - Specified by:
setin interfaceBasicBytez
-
setChar
public void setChar(long byteIndex, char[] source, int elemoff, int numElems) - Specified by:
setCharin interfaceBasicBytez
-
setShort
public void setShort(long byteIndex, short[] source, int elemoff, int numElems) - Specified by:
setShortin interfaceBasicBytez
-
setInt
public void setInt(long byteIndex, int[] source, int elemoff, int numElems) - Specified by:
setIntin interfaceBasicBytez
-
setLong
public void setLong(long byteIndex, long[] source, int elemoff, int numElems) - Specified by:
setLongin interfaceBasicBytez
-
setFloat
public void setFloat(long byteIndex, float[] source, int elemoff, int numElems) - Specified by:
setFloatin interfaceBasicBytez
-
setDouble
public void setDouble(long byteIndex, double[] source, int elemoff, int numElems) - Specified by:
setDoublein interfaceBasicBytez
-
setBoolean
public void setBoolean(long byteIndex, boolean[] o, int elemoff, int numElems) - Specified by:
setBooleanin interfaceBasicBytez
-
copyTo
- Specified by:
copyToin interfaceBasicBytez- Specified by:
copyToin interfaceByteSink
-
newInstance
- Specified by:
newInstancein interfaceBasicBytez
-
compareAndSwapInt
public boolean compareAndSwapInt(long offset, int expect, int newVal) - Specified by:
compareAndSwapIntin interfaceBytez
-
compareAndSwapLong
public boolean compareAndSwapLong(long offset, long expect, long newVal) - Specified by:
compareAndSwapLongin interfaceBytez
-
toBytes
public byte[] toBytes(long startIndex, int len) -
asByteArray
public byte[] asByteArray()- Specified by:
asByteArrayin 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:
getBAOffsetIndexin interfaceBytez- Returns:
- the start index inside the byte array returned by asByteArray, not supported by MallocBytez
-
getBALength
public int getBALength()- Specified by:
getBALengthin 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
-