Package org.nustaq.offheap.bytez.malloc
Class MallocBytez
java.lang.Object
org.nustaq.offheap.bytez.malloc.MallocBytez
- All Implemented Interfaces:
BasicBytez,ByteSink,ByteSource,Bytez
public class MallocBytez extends java.lang.Object implements Bytez
Date: 17.11.13
Time: 00:01
implementation of Bytez interface using unsafe on raw allocated memory
-
Field Summary
Fields Modifier and Type Field Description protected longbaseAdressprotected longlength -
Constructor Summary
Constructors Constructor Description MallocBytez(long adr, long len) -
Method Summary
Modifier and Type Method Description byte[]asByteArray()voidclear()booleancompareAndSwapInt(long offset, int expect, int newVal)booleancompareAndSwapLong(long offset, long expect, long newVal)voidcopyTo(BasicBytez other, long otherByteIndex, long myByteIndex, long lenBytes)booleanequals(java.lang.Object obj)byteget(long byteIndex)voidgetArr(long byteIndex, byte[] target, int elemoff, int numElems)copy to a byte arrayintgetBALength()intgetBAOffsetIndex()longgetBaseAdress()booleangetBool(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 getArrlonggetLength()longgetLong(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()BasicByteznewInstance(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)voidsetBase(long adr, long len)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)MallocBytezslice(long off, int len)byte[]toBytes(long startIndex, int len)
-
Field Details
-
baseAdress
protected long baseAdress -
length
protected long length
-
-
Constructor Details
-
MallocBytez
public MallocBytez(long adr, long len)
-
-
Method Details
-
setBase
public void setBase(long adr, long len) -
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()- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)- Overrides:
equalsin classjava.lang.Object
-
getBaseAdress
public long getBaseAdress() -
getLength
public long getLength() -
clear
public void clear()
-