Package com.kenai.jffi
Class HeapInvocationBuffer.DefaultEncoder
java.lang.Object
com.kenai.jffi.HeapInvocationBuffer.Encoder
com.kenai.jffi.HeapInvocationBuffer.DefaultEncoder
- Enclosing class:
HeapInvocationBuffer
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal int
getBufferSize
(CallContext callContext) Gets the size in bytes of the buffer required for the functionfinal int
putAddress
(byte[] buffer, int offset, long value) Encodes a native memory address value into the byte array.final int
putByte
(byte[] buffer, int offset, int value) Encodes a byte value into the byte array.final int
putDouble
(byte[] buffer, int offset, double value) Encodes a double value into the byte array.final int
putFloat
(byte[] buffer, int offset, float value) Encodes a float value into the byte array.final int
putInt
(byte[] buffer, int offset, int value) Encodes an int value into the byte array.final int
putLong
(byte[] buffer, int offset, long value) Encodes a long value into the byte array.final int
putShort
(byte[] buffer, int offset, int value) Encodes a short value into the byte array.int
skipAddress
(int offset) Methods inherited from class com.kenai.jffi.HeapInvocationBuffer.Encoder
getInstance
-
Field Details
-
io
-
-
Constructor Details
-
DefaultEncoder
-
-
Method Details
-
getBufferSize
Description copied from class:HeapInvocationBuffer.Encoder
Gets the size in bytes of the buffer required for the function- Specified by:
getBufferSize
in classHeapInvocationBuffer.Encoder
-
putByte
public final int putByte(byte[] buffer, int offset, int value) Description copied from class:HeapInvocationBuffer.Encoder
Encodes a byte value into the byte array.- Specified by:
putByte
in classHeapInvocationBuffer.Encoder
- Parameters:
buffer
- The destination byte buffer to place the encoded value.offset
- The offset within the destination buffer to place the value.value
- The value to encode.- Returns:
- The number of bytes consumed in encoding the value.
-
putShort
public final int putShort(byte[] buffer, int offset, int value) Description copied from class:HeapInvocationBuffer.Encoder
Encodes a short value into the byte array.- Specified by:
putShort
in classHeapInvocationBuffer.Encoder
- Parameters:
buffer
- The destination byte buffer to place the encoded value.offset
- The offset within the destination buffer to place the value.value
- The value to encode.- Returns:
- The number of bytes consumed in encoding the value.
-
putInt
public final int putInt(byte[] buffer, int offset, int value) Description copied from class:HeapInvocationBuffer.Encoder
Encodes an int value into the byte array.- Specified by:
putInt
in classHeapInvocationBuffer.Encoder
- Parameters:
buffer
- The destination byte buffer to place the encoded value.offset
- The offset within the destination buffer to place the value.value
- The value to encode.- Returns:
- The number of bytes consumed in encoding the value.
-
putLong
public final int putLong(byte[] buffer, int offset, long value) Description copied from class:HeapInvocationBuffer.Encoder
Encodes a long value into the byte array.- Specified by:
putLong
in classHeapInvocationBuffer.Encoder
- Parameters:
buffer
- The destination byte buffer to place the encoded value.offset
- The offset within the destination buffer to place the value.value
- The value to encode.- Returns:
- The number of bytes consumed in encoding the value.
-
putFloat
public final int putFloat(byte[] buffer, int offset, float value) Description copied from class:HeapInvocationBuffer.Encoder
Encodes a float value into the byte array.- Specified by:
putFloat
in classHeapInvocationBuffer.Encoder
- Parameters:
buffer
- The destination byte buffer to place the encoded value.offset
- The offset within the destination buffer to place the value.value
- The value to encode.- Returns:
- The number of bytes consumed in encoding the value.
-
putDouble
public final int putDouble(byte[] buffer, int offset, double value) Description copied from class:HeapInvocationBuffer.Encoder
Encodes a double value into the byte array.- Specified by:
putDouble
in classHeapInvocationBuffer.Encoder
- Parameters:
buffer
- The destination byte buffer to place the encoded value.offset
- The offset within the destination buffer to place the value.value
- The value to encode.- Returns:
- The number of bytes consumed in encoding the value.
-
putAddress
public final int putAddress(byte[] buffer, int offset, long value) Description copied from class:HeapInvocationBuffer.Encoder
Encodes a native memory address value into the byte array.- Specified by:
putAddress
in classHeapInvocationBuffer.Encoder
- Parameters:
buffer
- The destination byte buffer to place the encoded value.offset
- The offset within the destination buffer to place the value.value
- The value to encode.- Returns:
- The number of bytes consumed in encoding the value.
-
skipAddress
public int skipAddress(int offset) - Specified by:
skipAddress
in classHeapInvocationBuffer.Encoder
-