Class CompletionQueue

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

final class CompletionQueue extends java.lang.Object
Completion queue implementation for io_uring.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private boolean
     
    private final java.nio.ByteBuffer
     
    private static final int
     
    private static final int
     
    private static final int
     
    private final int
     
    private final java.nio.ByteBuffer[]
     
    private static final VarHandle
     
    private final java.nio.ByteBuffer
     
    private final java.nio.ByteBuffer
     
    private final java.nio.ByteBuffer
     
    (package private) final long
     
    (package private) final int
     
    (package private) final int
     
    (package private) final int
     
    private int
     
    private final int
     
    (package private) final int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    CompletionQueue(java.nio.ByteBuffer kHead, java.nio.ByteBuffer kTail, int ringMask, int ringEntries, java.nio.ByteBuffer kflags, java.nio.ByteBuffer completionQueueArray, int ringSize, long ringAddress, int ringFd, int ringCapacity, int cqeLength, boolean extraCqeDataNeeded)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) void
     
    (package private) int
     
    private static int
    cqeIdx(int ringHead, int ringMask)
     
    private java.nio.ByteBuffer
    extraCqeData(int cqeIdx)
     
    (package private) int
     
    (package private) boolean
    Returns true if any completion event is ready to be processed by process(CompletionCallback), false otherwise.
    (package private) long
    Process the completion events in the CompletionQueue and return the number of processed events.
    java.lang.String
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • INT_HANDLE

      private static final VarHandle INT_HANDLE
    • CQE_USER_DATA_FIELD

      private static final int CQE_USER_DATA_FIELD
      See Also:
    • CQE_RES_FIELD

      private static final int CQE_RES_FIELD
      See Also:
    • CQE_FLAGS_FIELD

      private static final int CQE_FLAGS_FIELD
      See Also:
    • khead

      private final java.nio.ByteBuffer khead
    • ktail

      private final java.nio.ByteBuffer ktail
    • kflags

      private final java.nio.ByteBuffer kflags
    • completionQueueArray

      private final java.nio.ByteBuffer completionQueueArray
    • extraCqeData

      private final java.nio.ByteBuffer[] extraCqeData
    • ringSize

      final int ringSize
    • ringAddress

      final long ringAddress
    • ringFd

      final int ringFd
    • ringEntries

      final int ringEntries
    • ringCapacity

      final int ringCapacity
    • cqeLength

      private final int cqeLength
    • ringMask

      private final int ringMask
    • ringHead

      private int ringHead
    • closed

      private boolean closed
  • Constructor Details

    • CompletionQueue

      CompletionQueue(java.nio.ByteBuffer kHead, java.nio.ByteBuffer kTail, int ringMask, int ringEntries, java.nio.ByteBuffer kflags, java.nio.ByteBuffer completionQueueArray, int ringSize, long ringAddress, int ringFd, int ringCapacity, int cqeLength, boolean extraCqeDataNeeded)
  • Method Details

    • close

      void close()
    • flags

      int flags()
    • hasCompletions

      boolean hasCompletions()
      Returns true if any completion event is ready to be processed by process(CompletionCallback), false otherwise.
    • count

      int count()
    • process

      long process(CompletionCallback callback)
      Process the completion events in the CompletionQueue and return the number of processed events.
    • extraCqeData

      private java.nio.ByteBuffer extraCqeData(int cqeIdx)
    • toString

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

      private static int cqeIdx(int ringHead, int ringMask)