Class 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 the DUPSORT flag. Other data items can in theory be from 0 to 0xffffffff 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 of MDBVal structs.
      • Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer

        org.lwjgl.system.Pointer.Default
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ALIGNOF
      The struct alignment in bytes.
      static int MV_DATA
      MV_SIZE
      The struct member offsets.
      static int SIZEOF
      The struct size in bytes.
      • Fields inherited from interface org.lwjgl.system.Pointer

        BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
    • Constructor Summary

      Constructors 
      Constructor Description
      MDBVal​(java.nio.ByteBuffer container)
      Creates a MDBVal instance at the current position of the specified ByteBuffer container.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static MDBVal calloc()
      Returns a new MDBVal instance allocated with memCalloc.
      static MDBVal.Buffer calloc​(int capacity)
      Returns a new MDBVal.Buffer instance allocated with memCalloc.
      static MDBVal callocStack()
      Returns a new MDBVal instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      static MDBVal.Buffer callocStack​(int capacity)
      Returns a new MDBVal.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      static MDBVal.Buffer callocStack​(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new MDBVal.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      static MDBVal callocStack​(org.lwjgl.system.MemoryStack stack)
      Returns a new MDBVal instance allocated on the specified MemoryStack and initializes all its bits to zero.
      static MDBVal create()
      Returns a new MDBVal instance allocated with BufferUtils.
      static MDBVal.Buffer create​(int capacity)
      Returns a new MDBVal.Buffer instance allocated with BufferUtils.
      static MDBVal create​(long address)
      Returns a new MDBVal instance for the specified memory address.
      static MDBVal.Buffer create​(long address, int capacity)
      Create a MDBVal.Buffer instance at the specified memory.
      static MDBVal createSafe​(long address)
      Like create, but returns null if address is NULL.
      static MDBVal.Buffer createSafe​(long address, int capacity)
      Like create, but returns null if address is NULL.
      static MDBVal malloc()
      Returns a new MDBVal instance allocated with memAlloc.
      static MDBVal.Buffer malloc​(int capacity)
      Returns a new MDBVal.Buffer instance allocated with memAlloc.
      static MDBVal mallocStack()
      Returns a new MDBVal instance allocated on the thread-local MemoryStack.
      static MDBVal.Buffer mallocStack​(int capacity)
      Returns a new MDBVal.Buffer instance allocated on the thread-local MemoryStack.
      static MDBVal.Buffer mallocStack​(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new MDBVal.Buffer instance allocated on the specified MemoryStack.
      static MDBVal mallocStack​(org.lwjgl.system.MemoryStack stack)
      Returns a new MDBVal instance allocated on the specified MemoryStack.
      java.nio.ByteBuffer mv_data()
      Returns a ByteBuffer view of the data pointed to by the mv_data field.
      MDBVal mv_data​(java.nio.ByteBuffer value)
      Sets the address of the specified ByteBuffer to the mv_data field.
      long mv_size()
      Returns the value of the mv_size field.
      MDBVal mv_size​(long value)
      Sets the specified value to the mv_size field.
      static java.nio.ByteBuffer nmv_data​(long struct)
      Unsafe version of mv_data.
      static void nmv_data​(long struct, java.nio.ByteBuffer value)
      Unsafe version of mv_data.
      static long nmv_size​(long struct)
      Unsafe version of mv_size().
      static void nmv_size​(long struct, long value)
      Sets the specified value to the mv_size field of the specified struct.
      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()  
      • Methods inherited from interface org.lwjgl.system.NativeResource

        close, free
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from class org.lwjgl.system.Pointer.Default

        address, equals, hashCode, toString
      • Methods inherited from class org.lwjgl.system.Struct

        clear, free, isNull
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • MV_SIZE, MV_DATA

        The struct member offsets.
    • Constructor Detail

      • MDBVal

        public MDBVal​(java.nio.ByteBuffer container)
        Creates a MDBVal instance at the current position of the specified ByteBuffer 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 class org.lwjgl.system.Struct
      • mv_size

        public long mv_size()
        Returns the value of the mv_size field.
      • mv_data

        @Nullable
        public java.nio.ByteBuffer mv_data()
        Returns a ByteBuffer view of the data pointed to by the mv_data field.
      • mv_size

        public MDBVal mv_size​(long value)
        Sets the specified value to the mv_size field.
      • mv_data

        public MDBVal mv_data​(@Nullable
                              java.nio.ByteBuffer value)
        Sets the address of the specified ByteBuffer to the mv_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 new MDBVal instance allocated with memAlloc. The instance must be explicitly freed.
      • calloc

        public static MDBVal calloc()
        Returns a new MDBVal instance allocated with memCalloc. The instance must be explicitly freed.
      • create

        public static MDBVal create()
        Returns a new MDBVal instance allocated with BufferUtils.
      • create

        public static MDBVal create​(long address)
        Returns a new MDBVal instance for the specified memory address.
      • createSafe

        @Nullable
        public static MDBVal createSafe​(long address)
        Like create, but returns null if address is NULL.
      • malloc

        public static MDBVal.Buffer malloc​(int capacity)
        Returns a new MDBVal.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
        Parameters:
        capacity - the buffer capacity
      • calloc

        public static MDBVal.Buffer calloc​(int capacity)
        Returns a new MDBVal.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
        Parameters:
        capacity - the buffer capacity
      • create

        public static MDBVal.Buffer create​(int capacity)
        Returns a new MDBVal.Buffer instance allocated with BufferUtils.
        Parameters:
        capacity - the buffer capacity
      • create

        public static MDBVal.Buffer create​(long address,
                                           int capacity)
        Create a MDBVal.Buffer instance at the specified memory.
        Parameters:
        address - the memory address
        capacity - the buffer capacity
      • createSafe

        @Nullable
        public static MDBVal.Buffer createSafe​(long address,
                                               int capacity)
        Like create, but returns null if address is NULL.
      • mallocStack

        public static MDBVal mallocStack()
        Returns a new MDBVal instance allocated on the thread-local MemoryStack.
      • callocStack

        public static MDBVal callocStack()
        Returns a new MDBVal instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      • mallocStack

        public static MDBVal mallocStack​(org.lwjgl.system.MemoryStack stack)
        Returns a new MDBVal instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
      • callocStack

        public static MDBVal callocStack​(org.lwjgl.system.MemoryStack stack)
        Returns a new MDBVal instance allocated on the specified MemoryStack 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 new MDBVal.Buffer instance allocated on the thread-local MemoryStack.
        Parameters:
        capacity - the buffer capacity
      • callocStack

        public static MDBVal.Buffer callocStack​(int capacity)
        Returns a new MDBVal.Buffer instance allocated on the thread-local MemoryStack 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 new MDBVal.Buffer instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • callocStack

        public static MDBVal.Buffer callocStack​(int capacity,
                                                org.lwjgl.system.MemoryStack stack)
        Returns a new MDBVal.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • nmv_size

        public static long nmv_size​(long struct)
        Unsafe version of mv_size().
      • nmv_data

        @Nullable
        public static java.nio.ByteBuffer nmv_data​(long struct)
        Unsafe version of mv_data.
      • nmv_size

        public static void nmv_size​(long struct,
                                    long value)
        Sets the specified value to the mv_size field of the specified struct.
      • nmv_data

        public static void nmv_data​(long struct,
                                    @Nullable
                                    java.nio.ByteBuffer value)
        Unsafe version of mv_data.