|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Memory
Abstracted memory operations.
This abstracts read/write operations to either a native memory area, or a java ByteBuffer.
Method Summary | |
---|---|
void |
get(long offset,
byte[] dst,
int off,
int len)
Reads an array of bytes from the memory area at the specified offset. |
void |
get(long offset,
double[] dst,
int off,
int len)
Reads an array of doubles from the memory area at the specified offset. |
void |
get(long offset,
float[] dst,
int off,
int len)
Reads an array of floats from the memory area at the specified offset. |
void |
get(long offset,
int[] dst,
int off,
int len)
Reads an array of ints from the memory area at the specified offset. |
void |
get(long offset,
long[] dst,
int off,
int len)
Reads an array of longs from the memory area at the specified offset. |
void |
get(long offset,
short[] dst,
int off,
int len)
Reads an array of shorts from the memory area at the specified offset. |
long |
getAddress(long offset)
Reads a pointer value at the specified offset within the memory area. |
byte |
getByte(long offset)
Reads an 8 bit integer value from the memory area. |
double |
getDouble(long offset)
Reads a double value from the memory area. |
float |
getFloat(long offset)
Reads a float value from the memory area. |
int |
getInt(long offset)
Reads a 32 bit integer value from the memory area. |
long |
getLong(long offset)
Reads a 64 bit integer value from the memory area. |
DirectMemory |
getMemory(long offset)
Reads a pointer value at the specified offset within the memory area, and wraps it in an abstract memory accessor. |
long |
getNativeLong(long offset)
Reads a native long integer value from the memory area. |
short |
getShort(long offset)
Reads a 16 bit integer value from the memory area. |
byte[] |
getZeroTerminatedByteArray(long offset)
Reads a zero terminated byte array (e.g. an ascii or utf-8 string) |
int |
indexOf(long offset,
byte value)
Gets the first index within the memory area of a particular 8 bit value. |
int |
indexOf(long offset,
byte value,
int maxlen)
Gets the first index within the memory area of a particular 8 bit value. |
boolean |
isDirect()
Checks if the memory area is a native memory pointer. |
boolean |
isNull()
Checks if the memory area is NULL. |
void |
put(long offset,
byte[] src,
int off,
int len)
Writes an array of bytes to the memory area at the specified offset. |
void |
put(long offset,
double[] src,
int off,
int len)
Writes an array of doubles to the memory area at the specified offset. |
void |
put(long offset,
float[] src,
int off,
int len)
Writes an array of floats to the memory area at the specified offset. |
void |
put(long offset,
int[] src,
int off,
int len)
Writes an array of ints to the memory area at the specified offset. |
void |
put(long offset,
long[] src,
int off,
int len)
Writes an array of longs to the memory area at the specified offset. |
void |
put(long offset,
short[] src,
int off,
int len)
Writes an array of shorts to the memory area at the specified offset. |
void |
putAddress(long offset,
long value)
Writes a pointer value to the memory area at the specified offset. |
void |
putAddress(long offset,
Memory value)
Writes a pointer value to the memory area at the specified offset. |
void |
putByte(long offset,
byte value)
Writes an 8 bit integer value to the memory area at the specified offset. |
void |
putDouble(long offset,
double value)
Writes a 64 bit float value to the memory area at the specified offset. |
void |
putFloat(long offset,
float value)
Writes a 32 bit float value to the memory area at the specified offset. |
void |
putInt(long offset,
int value)
Writes a 32 bit integer value to the memory area at the specified offset. |
void |
putLong(long offset,
long value)
Writes a 64 bit integer value to the memory area at the specified offset. |
void |
putNativeLong(long offset,
long value)
Writes a native long integer value to the memory area at the specified offset. |
void |
putShort(long offset,
short value)
Writes a 16 bit integer value to the memory area at the specified offset. |
void |
putZeroTerminatedByteArray(long offset,
byte[] bytes,
int off,
int len)
Writes a byte array to memory, and appends a zero terminator |
void |
setMemory(long offset,
long size,
byte value)
Sets the contents of the memory area to the value. |
Memory |
slice(long offset)
Creates a new MemoryIO pointing to a subset of the memory area of this MemoryIO. |
Method Detail |
---|
boolean isNull()
boolean isDirect()
Memory slice(long offset)
offset
- The offset within the existing memory area to start the
new MemoryIO at.
byte getByte(long offset)
offset
- The offset within the memory area to read the value.
short getShort(long offset)
offset
- The offset within the memory area to read the value.
int getInt(long offset)
offset
- The offset within the memory area to read the value.
long getLong(long offset)
offset
- The offset within the memory area to read the value.
long getNativeLong(long offset)
A native long is 32bits on either ILP32 or LLP64 architectures, and 64 bits on an LP64 architecture.
This means that it will always read a 32bit value on Windows, but on Unix systems such as MacOS or Linux, it will read a 32bit value on 32bit systems, and a 64bit value on 64bit systems.
offset
- The offset within the memory area to read the value.
float getFloat(long offset)
offset
- The offset within the memory area to read the value.
double getDouble(long offset)
offset
- The offset within the memory area to read the value.
long getAddress(long offset)
offset
- The offset within the memory area to read the value.
DirectMemory getMemory(long offset)
offset
- The offset within the memory area to read the value.
byte[] getZeroTerminatedByteArray(long offset)
offset
- The offset within the memory area of the start of the string.
void putByte(long offset, byte value)
offset
- The offset within the memory area to write the value.value
- The 8 bit integer value to write to the memory location.void putShort(long offset, short value)
offset
- The offset within the memory area to write the value.value
- The 16 bit integer value to write to the memory location.void putInt(long offset, int value)
offset
- The offset within the memory area to write the value.value
- The 32 bit integer value to write to the memory location.void putLong(long offset, long value)
offset
- The offset within the memory area to write the value.value
- The 64 bit integer value to write to the memory location.void putNativeLong(long offset, long value)
offset
- The offset within the memory area to write the value.value
- The native long integer value to write to the memory location.void putFloat(long offset, float value)
offset
- The offset within the memory area to write the value.value
- The 32 bit float value to write to the memory location.void putDouble(long offset, double value)
offset
- The offset within the memory area to write the value.value
- The 64 bit float value to write to the memory location.void putAddress(long offset, Memory value)
offset
- The offset within the memory area to write the value.value
- The pointer value to write to the memory location.void putAddress(long offset, long value)
offset
- The offset within the memory area to write the value.value
- The pointer value to write to the memory location.void putZeroTerminatedByteArray(long offset, byte[] bytes, int off, int len)
offset
- The offset within the memory area of the start of the string.bytes
- The byte array to write to the memory.off
- The offset with the byte array to start copying.len
- The number of bytes of the byte array to write to the memory area. (not including zero byte)void get(long offset, byte[] dst, int off, int len)
offset
- The offset within the memory area to read the bytes.dst
- The output byte array to place the data.off
- The offset within the byte array to start copying.len
- The length of data to read.void put(long offset, byte[] src, int off, int len)
offset
- The offset within the memory area to start writing the bytes.src
- The byte array to write to the memory area.off
- The offset within the byte array to start copying.len
- The length of data to write.void get(long offset, short[] dst, int off, int len)
offset
- The offset within the memory area to read the shorts.dst
- The output array to place the data in.off
- The offset within the array to start copying.len
- The number of shorts to read.void put(long offset, short[] src, int off, int len)
offset
- The offset within the memory area to start writing the shorts.src
- The array to write to the memory area.off
- The offset within the array to start copying.len
- The number of shorts to write.void get(long offset, int[] dst, int off, int len)
offset
- The offset within the memory area to read the ints.dst
- The output array to place the data in.off
- The offset within the array to start copying.len
- The number of ints to read.void put(long offset, int[] src, int off, int len)
offset
- The offset within the memory area to start writing the ints.src
- The array to write to the memory area.off
- The offset within the array to start copying.len
- The number of ints to write.void get(long offset, long[] dst, int off, int len)
offset
- The offset within the memory area to read the longs.dst
- The output array to place the data in.off
- The offset within the array to start copying.len
- The number of longs to read.void put(long offset, long[] src, int off, int len)
offset
- The offset within the memory area to start writing the longs.src
- The array to write to the memory area.off
- The offset within the array to start copying.len
- The number of longs to write.void get(long offset, float[] dst, int off, int len)
offset
- The offset within the memory area to read the floats.dst
- The output array to place the data in.off
- The offset within the array to start copying.len
- The number of floats to read.void put(long offset, float[] src, int off, int len)
offset
- The offset within the memory area to start writing the floats.src
- The array to write to the memory area.off
- The offset within the array to start copying.len
- The number of floats to write.void get(long offset, double[] dst, int off, int len)
offset
- The offset within the memory area to read the doubles.dst
- The output array to place the data in.off
- The offset within the array to start copying.len
- The number of doubles to read.void put(long offset, double[] src, int off, int len)
offset
- The offset within the memory area to start writing the doubles.src
- The array to write to the memory area.off
- The offset within the array to start copying.len
- The number of doubles to write.int indexOf(long offset, byte value)
offset
- The offset within the memory area to start searching.value
- The value to search for.
int indexOf(long offset, byte value, int maxlen)
offset
- The offset within the memory area to start searching.value
- The value to search for.
void setMemory(long offset, long size, byte value)
offset
- The offset within the memory area to start writing.size
- The number of bytes to set to the value.value
- The value to set each byte to.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |