|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jruby.ext.ffi.SwappedMemoryIO
public final class SwappedMemoryIO
Field Summary | |
---|---|
protected static int |
ADDRESS_SIZE
|
protected static int |
LONG_SIZE
|
Method Summary | |
---|---|
java.nio.ByteBuffer |
asByteBuffer()
Creates a view of this memory object as a java NIO byte buffer. |
SwappedMemoryIO |
dup()
Duplicates this MemoryIO, including its contents. |
boolean |
equals(java.lang.Object obj)
|
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 |
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. |
DirectMemoryIO |
getMemoryIO(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. |
byte[] |
getZeroTerminatedByteArray(long offset,
int maxlen)
Reads a zero terminated byte array (e.g. |
int |
hashCode()
|
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. |
java.nio.ByteOrder |
order()
Gets the ByteOrder this MemoryIO instance will read/write
values to memory in. |
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 |
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 |
putMemoryIO(long offset,
MemoryIO value)
Writes a pointer 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. |
SwappedMemoryIO |
slice(long offset)
Creates a new MemoryIO pointing to a subset of the memory area of this MemoryIO. |
SwappedMemoryIO |
slice(long offset,
long size)
Creates a new MemoryIO pointing to a subset of the memory area of this MemoryIO. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final int LONG_SIZE
protected static final int ADDRESS_SIZE
Method Detail |
---|
public final java.nio.ByteOrder order()
MemoryIO
ByteOrder
this MemoryIO
instance will read/write
values to memory in.
order
in interface MemoryIO
public final long getAddress()
getAddress
in interface DirectMemoryIO
public SwappedMemoryIO slice(long offset)
MemoryIO
slice
in interface MemoryIO
offset
- The offset within the existing memory area to start the
new MemoryIO at.
public SwappedMemoryIO slice(long offset, long size)
MemoryIO
slice
in interface MemoryIO
offset
- The offset within the existing memory area to start the
new MemoryIO at.size
- The size of the new slice.
public SwappedMemoryIO dup()
MemoryIO
dup
in interface MemoryIO
public final java.nio.ByteBuffer asByteBuffer()
MemoryIO
asByteBuffer
in interface MemoryIO
public final boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public final int hashCode()
hashCode
in class java.lang.Object
public final boolean isNull()
MemoryIO
isNull
in interface MemoryIO
public final boolean isDirect()
MemoryIO
isDirect
in interface MemoryIO
public final byte getByte(long offset)
MemoryIO
getByte
in interface MemoryIO
offset
- The offset within the memory area to read the value.
public final short getShort(long offset)
MemoryIO
getShort
in interface MemoryIO
offset
- The offset within the memory area to read the value.
public final int getInt(long offset)
MemoryIO
getInt
in interface MemoryIO
offset
- The offset within the memory area to read the value.
public final long getLong(long offset)
MemoryIO
getLong
in interface MemoryIO
offset
- The offset within the memory area to read the value.
public final long getNativeLong(long offset)
MemoryIO
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.
getNativeLong
in interface MemoryIO
offset
- The offset within the memory area to read the value.
public final float getFloat(long offset)
MemoryIO
getFloat
in interface MemoryIO
offset
- The offset within the memory area to read the value.
public final double getDouble(long offset)
MemoryIO
getDouble
in interface MemoryIO
offset
- The offset within the memory area to read the value.
public final long getAddress(long offset)
MemoryIO
getAddress
in interface MemoryIO
offset
- The offset within the memory area to read the value.
public final DirectMemoryIO getMemoryIO(long offset)
MemoryIO
getMemoryIO
in interface MemoryIO
offset
- The offset within the memory area to read the value.
public final void putByte(long offset, byte value)
MemoryIO
putByte
in interface MemoryIO
offset
- The offset within the memory area to write the value.value
- The 8 bit integer value to write to the memory location.public final void putShort(long offset, short value)
MemoryIO
putShort
in interface MemoryIO
offset
- The offset within the memory area to write the value.value
- The 16 bit integer value to write to the memory location.public final void putInt(long offset, int value)
MemoryIO
putInt
in interface MemoryIO
offset
- The offset within the memory area to write the value.value
- The 32 bit integer value to write to the memory location.public final void putLong(long offset, long value)
MemoryIO
putLong
in interface MemoryIO
offset
- The offset within the memory area to write the value.value
- The 64 bit integer value to write to the memory location.public final void putNativeLong(long offset, long value)
MemoryIO
putNativeLong
in interface MemoryIO
offset
- The offset within the memory area to write the value.value
- The native long integer value to write to the memory location.public final void putAddress(long offset, long value)
MemoryIO
putAddress
in interface MemoryIO
offset
- The offset within the memory area to write the value.value
- The pointer value to write to the memory location.public final void putFloat(long offset, float value)
MemoryIO
putFloat
in interface MemoryIO
offset
- The offset within the memory area to write the value.value
- The 32 bit float value to write to the memory location.public final void putDouble(long offset, double value)
MemoryIO
putDouble
in interface MemoryIO
offset
- The offset within the memory area to write the value.value
- The 64 bit float value to write to the memory location.public final void putMemoryIO(long offset, MemoryIO value)
MemoryIO
putMemoryIO
in interface MemoryIO
offset
- The offset within the memory area to write the value.value
- The pointer value to write to the memory location.public final void get(long offset, byte[] dst, int off, int len)
MemoryIO
get
in interface MemoryIO
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.public final void put(long offset, byte[] src, int off, int len)
MemoryIO
put
in interface MemoryIO
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.public final void get(long offset, short[] dst, int off, int len)
MemoryIO
get
in interface MemoryIO
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.public final void put(long offset, short[] src, int off, int len)
MemoryIO
put
in interface MemoryIO
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.public final void get(long offset, int[] dst, int off, int len)
MemoryIO
get
in interface MemoryIO
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.public final void put(long offset, int[] src, int off, int len)
MemoryIO
put
in interface MemoryIO
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.public final void get(long offset, long[] dst, int off, int len)
MemoryIO
get
in interface MemoryIO
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.public final void put(long offset, long[] src, int off, int len)
MemoryIO
put
in interface MemoryIO
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.public final void get(long offset, float[] dst, int off, int len)
MemoryIO
get
in interface MemoryIO
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.public final void put(long offset, float[] src, int off, int len)
MemoryIO
put
in interface MemoryIO
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.public final void get(long offset, double[] dst, int off, int len)
MemoryIO
get
in interface MemoryIO
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.public final void put(long offset, double[] src, int off, int len)
MemoryIO
put
in interface MemoryIO
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.public final int indexOf(long offset, byte value)
MemoryIO
indexOf
in interface MemoryIO
offset
- The offset within the memory area to start searching.value
- The value to search for.
public final int indexOf(long offset, byte value, int maxlen)
MemoryIO
indexOf
in interface MemoryIO
offset
- The offset within the memory area to start searching.value
- The value to search for.
public final void setMemory(long offset, long size, byte value)
MemoryIO
setMemory
in interface MemoryIO
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.public final byte[] getZeroTerminatedByteArray(long offset)
MemoryIO
getZeroTerminatedByteArray
in interface MemoryIO
offset
- The offset within the memory area of the start of the string.
public final byte[] getZeroTerminatedByteArray(long offset, int maxlen)
MemoryIO
getZeroTerminatedByteArray
in interface MemoryIO
offset
- The offset within the memory area of the start of the string.maxlen
- The maximum length to search for the zero byte terminator.
public void putZeroTerminatedByteArray(long offset, byte[] bytes, int off, int len)
MemoryIO
putZeroTerminatedByteArray
in interface MemoryIO
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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |