Class SubmissionQueue

java.lang.Object
io.netty.channel.uring.SubmissionQueue

final class SubmissionQueue extends Object
  • Field Details

    • logger

      private static final InternalLogger logger
    • SQE_SIZE

      static final int SQE_SIZE
      See Also:
    • SQE_OP_CODE_FIELD

      private static final int SQE_OP_CODE_FIELD
      See Also:
    • SQE_FLAGS_FIELD

      private static final int SQE_FLAGS_FIELD
      See Also:
    • SQE_IOPRIO_FIELD

      private static final int SQE_IOPRIO_FIELD
      See Also:
    • SQE_FD_FIELD

      private static final int SQE_FD_FIELD
      See Also:
    • SQE_UNION1_FIELD

      private static final int SQE_UNION1_FIELD
      See Also:
    • SQE_UNION2_FIELD

      private static final int SQE_UNION2_FIELD
      See Also:
    • SQE_LEN_FIELD

      private static final int SQE_LEN_FIELD
      See Also:
    • SQE_UNION3_FIELD

      private static final int SQE_UNION3_FIELD
      See Also:
    • SQE_USER_DATA_FIELD

      private static final int SQE_USER_DATA_FIELD
      See Also:
    • SQE_UNION4_FIELD

      private static final int SQE_UNION4_FIELD
      See Also:
    • SQE_PERSONALITY_FIELD

      private static final int SQE_PERSONALITY_FIELD
      See Also:
    • SQE_UNION5_FIELD

      private static final int SQE_UNION5_FIELD
      See Also:
    • SQE_UNION6_FIELD

      private static final int SQE_UNION6_FIELD
      See Also:
    • INT_HANDLE

      private static final VarHandle INT_HANDLE
    • kHead

      private final ByteBuffer kHead
    • kTail

      private final ByteBuffer kTail
    • kflags

      private final ByteBuffer kflags
    • submissionQueueArray

      private final 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
    • tail

      private int tail
    • closed

      private boolean closed
  • Constructor Details

    • SubmissionQueue

      SubmissionQueue(ByteBuffer khead, ByteBuffer ktail, int ringMask, int ringEntries, ByteBuffer kflags, ByteBuffer submissionQueueArray, int ringSize, long ringAddress, int ringFd)
  • Method Details

    • 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 String toString()
      Overrides:
      toString in class 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()