Package org.lwjgl.util.lmdb
Class MDBVal
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.util.lmdb.MDBVal
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,org.lwjgl.system.NativeResource
,org.lwjgl.system.Pointer
public class MDBVal extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResource
Generic structure used for passing keys and data in and out of the database.Values returned from the database are valid only until a subsequent update operation, or the end of the transaction. Do not modify or free them, they commonly point into the database itself.
Key sizes must be between 1 and
env_get_maxkeysize
inclusive. The same applies to data sizes in databases with theDUPSORT
flag. Other data items can in theory be from 0 to0xffffffff
bytes long.Member documentation
mv_size
– Size of the data item.mv_data
– Address of the data item.
Layout
struct MDB_val { size_t mv_size; void * mv_data; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MDBVal.Buffer
An array ofMDBVal
structs.
-
Constructor Summary
Constructors Constructor Description MDBVal(java.nio.ByteBuffer container)
Creates aMDBVal
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MDBVal
calloc()
Returns a newMDBVal
instance allocated withmemCalloc
.static MDBVal.Buffer
calloc(int capacity)
Returns a newMDBVal.Buffer
instance allocated withmemCalloc
.static MDBVal
callocStack()
Returns a newMDBVal
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static MDBVal.Buffer
callocStack(int capacity)
Returns a newMDBVal.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static MDBVal.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newMDBVal.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static MDBVal
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newMDBVal
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static MDBVal
create()
Returns a newMDBVal
instance allocated withBufferUtils
.static MDBVal.Buffer
create(int capacity)
Returns a newMDBVal.Buffer
instance allocated withBufferUtils
.static MDBVal
create(long address)
Returns a newMDBVal
instance for the specified memory address.static MDBVal.Buffer
create(long address, int capacity)
Create aMDBVal.Buffer
instance at the specified memory.static MDBVal
createSafe(long address)
static MDBVal.Buffer
createSafe(long address, int capacity)
static MDBVal
malloc()
Returns a newMDBVal
instance allocated withmemAlloc
.static MDBVal.Buffer
malloc(int capacity)
Returns a newMDBVal.Buffer
instance allocated withmemAlloc
.static MDBVal
mallocStack()
Returns a newMDBVal
instance allocated on the thread-localMemoryStack
.static MDBVal.Buffer
mallocStack(int capacity)
Returns a newMDBVal.Buffer
instance allocated on the thread-localMemoryStack
.static MDBVal.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newMDBVal.Buffer
instance allocated on the specifiedMemoryStack
.static MDBVal
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newMDBVal
instance allocated on the specifiedMemoryStack
.java.nio.ByteBuffer
mv_data()
Returns aByteBuffer
view of the data pointed to by themv_data
field.MDBVal
mv_data(java.nio.ByteBuffer value)
Sets the address of the specifiedByteBuffer
to themv_data
field.long
mv_size()
Returns the value of themv_size
field.MDBVal
mv_size(long value)
Sets the specified value to themv_size
field.static java.nio.ByteBuffer
nmv_data(long struct)
Unsafe version ofmv_data
.static void
nmv_data(long struct, java.nio.ByteBuffer value)
Unsafe version ofmv_data
.static long
nmv_size(long struct)
Unsafe version ofmv_size()
.static void
nmv_size(long struct, long value)
Sets the specified value to themv_size
field of the specifiedstruct
.MDBVal
set(long mv_size, java.nio.ByteBuffer mv_data)
Initializes this struct with the specified values.MDBVal
set(MDBVal src)
Copies the specified struct data to this struct.int
sizeof()
-
-
-
Constructor Detail
-
MDBVal
public MDBVal(java.nio.ByteBuffer container)
Creates aMDBVal
instance at the current position of the specifiedByteBuffer
container. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
mv_size
public long mv_size()
Returns the value of themv_size
field.
-
mv_data
@Nullable public java.nio.ByteBuffer mv_data()
Returns aByteBuffer
view of the data pointed to by themv_data
field.
-
mv_size
public MDBVal mv_size(long value)
Sets the specified value to themv_size
field.
-
mv_data
public MDBVal mv_data(@Nullable java.nio.ByteBuffer value)
Sets the address of the specifiedByteBuffer
to themv_data
field.
-
set
public MDBVal set(long mv_size, @Nullable java.nio.ByteBuffer mv_data)
Initializes this struct with the specified values.
-
set
public MDBVal set(MDBVal src)
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
public static MDBVal malloc()
Returns a newMDBVal
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static MDBVal calloc()
Returns a newMDBVal
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static MDBVal create()
Returns a newMDBVal
instance allocated withBufferUtils
.
-
create
public static MDBVal create(long address)
Returns a newMDBVal
instance for the specified memory address.
-
createSafe
@Nullable public static MDBVal createSafe(long address)
-
malloc
public static MDBVal.Buffer malloc(int capacity)
Returns a newMDBVal.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static MDBVal.Buffer calloc(int capacity)
Returns a newMDBVal.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static MDBVal.Buffer create(int capacity)
Returns a newMDBVal.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static MDBVal.Buffer create(long address, int capacity)
Create aMDBVal.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static MDBVal.Buffer createSafe(long address, int capacity)
-
mallocStack
public static MDBVal mallocStack()
Returns a newMDBVal
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static MDBVal callocStack()
Returns a newMDBVal
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static MDBVal mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newMDBVal
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static MDBVal callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newMDBVal
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static MDBVal.Buffer mallocStack(int capacity)
Returns a newMDBVal.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static MDBVal.Buffer callocStack(int capacity)
Returns a newMDBVal.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static MDBVal.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newMDBVal.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static MDBVal.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newMDBVal.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
nmv_size
public static long nmv_size(long struct)
Unsafe version ofmv_size()
.
-
nmv_data
@Nullable public static java.nio.ByteBuffer nmv_data(long struct)
Unsafe version ofmv_data
.
-
nmv_size
public static void nmv_size(long struct, long value)
Sets the specified value to themv_size
field of the specifiedstruct
.
-
nmv_data
public static void nmv_data(long struct, @Nullable java.nio.ByteBuffer value)
Unsafe version ofmv_data
.
-
-