Class KQueueEventArray


  • final class KQueueEventArray
    extends java.lang.Object
    Represents an array of kevent structures, backed by offheap memory.
     struct kevent {
      uintptr_t ident;
      short     keventFilter;
      u_short   flags;
      u_int     fflags;
      intptr_t  data;
      void      *udata;
     };
     
    • Field Detail

      • KQUEUE_EVENT_SIZE

        private static final int KQUEUE_EVENT_SIZE
      • KQUEUE_IDENT_OFFSET

        private static final int KQUEUE_IDENT_OFFSET
      • KQUEUE_FILTER_OFFSET

        private static final int KQUEUE_FILTER_OFFSET
      • KQUEUE_FFLAGS_OFFSET

        private static final int KQUEUE_FFLAGS_OFFSET
      • KQUEUE_FLAGS_OFFSET

        private static final int KQUEUE_FLAGS_OFFSET
      • KQUEUE_DATA_OFFSET

        private static final int KQUEUE_DATA_OFFSET
      • KQUEUE_UDATA_OFFSET

        private static final int KQUEUE_UDATA_OFFSET
      • memory

        private java.nio.ByteBuffer memory
      • memoryAddress

        private long memoryAddress
      • size

        private int size
      • capacity

        private int capacity
    • Constructor Detail

      • KQueueEventArray

        KQueueEventArray​(int capacity)
    • Method Detail

      • memoryAddress

        long memoryAddress()
        Return the memoryAddress which points to the start of this KQueueEventArray.
      • capacity

        int capacity()
        Return the capacity of the KQueueEventArray which represent the maximum number of kevents that can be stored in it.
      • size

        int size()
      • clear

        void clear()
      • evSet

        void evSet​(int ident,
                   short filter,
                   short flags,
                   int fflags,
                   long data,
                   long udata)
      • reallocIfNeeded

        private void reallocIfNeeded()
      • realloc

        void realloc​(boolean throwIfFail)
        Increase the storage of this KQueueEventArray.
      • free

        void free()
        Free this KQueueEventArray. Any usage after calling this method may segfault the JVM!
      • getKEventOffset

        private static int getKEventOffset​(int index)
      • getKEventOffsetAddress

        private long getKEventOffsetAddress​(int index)
      • getShort

        private short getShort​(int index,
                               int offset)
      • flags

        short flags​(int index)
      • filter

        short filter​(int index)
      • fflags

        short fflags​(int index)
      • fd

        int fd​(int index)
      • data

        long data​(int index)
      • udata

        long udata​(int index)
      • getLong

        private long getLong​(int index,
                             int offset)
      • calculateBufferCapacity

        private static int calculateBufferCapacity​(int capacity)
      • evSet

        private static void evSet​(long keventAddress,
                                  int ident,
                                  short filter,
                                  short flags,
                                  int fflags,
                                  long data,
                                  long udata)