Class SubmissionQueue


  • final class SubmissionQueue
    extends java.lang.Object
    • Field Detail

      • INT_HANDLE

        private static final VarHandle INT_HANDLE
      • kHead

        private final java.nio.ByteBuffer kHead
      • kTail

        private final java.nio.ByteBuffer kTail
      • kflags

        private final java.nio.ByteBuffer kflags
      • submissionQueueArray

        private final java.nio.ByteBuffer submissionQueueArray
      • ringEntries

        final int ringEntries
      • ringMask

        private final int ringMask
      • ringSize

        final int ringSize
      • ringAddress

        final long ringAddress
      • ringFd

        final int ringFd
      • enterRingFd

        int enterRingFd
      • enterFlags

        private int enterFlags
      • head

        private int head
      • tail

        private int tail
      • closed

        private boolean closed
    • Constructor Detail

      • SubmissionQueue

        SubmissionQueue​(java.nio.ByteBuffer khead,
                        java.nio.ByteBuffer ktail,
                        int ringMask,
                        int ringEntries,
                        java.nio.ByteBuffer kflags,
                        java.nio.ByteBuffer submissionQueueArray,
                        int ringSize,
                        long ringAddress,
                        int ringFd)
    • Method Detail

      • flags

        int flags()
      • submissionQueueArrayAddress

        long submissionQueueArrayAddress()
      • close

        void close()
      • checkClosed

        private void checkClosed()
      • tryRegisterRingFd

        void tryRegisterRingFd()
      • enqueueSqe

        long enqueueSqe​(byte opcode,
                        byte flags,
                        short ioPrio,
                        int fd,
                        long union1,
                        long union2,
                        int len,
                        int union3,
                        long udata,
                        short union4,
                        short personality,
                        int union5,
                        long union6)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • sqeIndex

        private static int sqeIndex​(int tail,
                                    int ringMask)
      • addNop

        long addNop​(byte flags,
                    long udata)
      • addNop

        long addNop​(byte flags,
                    int nopFlags,
                    long udata)
      • addTimeout

        long addTimeout​(long timeoutMemoryAddress,
                        long udata)
      • addLinkTimeout

        long addLinkTimeout​(long timeoutMemoryAddress,
                            long extraData)
      • addEventFdRead

        long addEventFdRead​(int fd,
                            long bufferAddress,
                            int pos,
                            int limit,
                            long udata)
      • addCancel

        long addCancel​(long sqeToCancel,
                       long udata)
      • submit

        int submit()
        Submit entries.
        Returns:
        the number of submitted entries.
      • submitAndGet

        int submitAndGet()
        Submit entries and fetch completions. This method will block until there is at least one completion ready to be processed.
        Returns:
        the number of submitted entries.
      • submitAndGetNow

        int submitAndGetNow()
        Submit entries and fetch completions.
        Returns:
        the number of submitted entries.
      • submitAndGet0

        private int submitAndGet0​(int minComplete)
      • submit

        private int submit​(int toSubmit,
                           int minComplete,
                           int flags)
      • ioUringEnter

        private int ioUringEnter​(int toSubmit,
                                 int minComplete,
                                 int flags)
      • ioUringEnter0

        private int ioUringEnter0​(int toSubmit,
                                  int minComplete,
                                  int f)
      • count

        public int count()
      • remaining

        public int remaining()