Package io.netty.incubator.channel.uring
Class IOUringCompletionQueue
- java.lang.Object
-
- io.netty.incubator.channel.uring.IOUringCompletionQueue
-
final class IOUringCompletionQueue extends java.lang.Object
Completion queue implementation for io_uring.
-
-
Field Summary
Fields Modifier and Type Field Description private long
completionQueueArrayAddress
private static int
CQE_FLAGS_FIELD
private static int
CQE_RES_FIELD
private static int
CQE_SIZE
private static int
CQE_USER_DATA_FIELD
private long
kHeadAddress
private long
kTailAddress
(package private) long
ringAddress
(package private) int
ringFd
private int
ringHead
private int
ringMask
(package private) int
ringSize
-
Constructor Summary
Constructors Constructor Description IOUringCompletionQueue(long kHeadAddress, long kTailAddress, long kRingMaskAddress, long kRingEntriesAddress, long kOverflowAddress, long completionQueueArrayAddress, int ringSize, long ringAddress, int ringFd)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) boolean
hasCompletions()
Returnstrue
if any completion event is ready to be processed byprocess(IOUringCompletionQueueCallback)
,false
otherwise.(package private) void
ioUringWaitCqe()
Block until there is at least one completion ready to be processed.(package private) int
process(IOUringCompletionQueueCallback callback)
Process the completion events in theIOUringCompletionQueue
and return the number of processed events.
-
-
-
Field Detail
-
CQE_USER_DATA_FIELD
private static final int CQE_USER_DATA_FIELD
- See Also:
- Constant Field Values
-
CQE_RES_FIELD
private static final int CQE_RES_FIELD
- See Also:
- Constant Field Values
-
CQE_FLAGS_FIELD
private static final int CQE_FLAGS_FIELD
- See Also:
- Constant Field Values
-
CQE_SIZE
private static final int CQE_SIZE
- See Also:
- Constant Field Values
-
kHeadAddress
private final long kHeadAddress
-
kTailAddress
private final long kTailAddress
-
completionQueueArrayAddress
private final long completionQueueArrayAddress
-
ringSize
final int ringSize
-
ringAddress
final long ringAddress
-
ringFd
final int ringFd
-
ringMask
private final int ringMask
-
ringHead
private int ringHead
-
-
Method Detail
-
hasCompletions
boolean hasCompletions()
Returnstrue
if any completion event is ready to be processed byprocess(IOUringCompletionQueueCallback)
,false
otherwise.
-
process
int process(IOUringCompletionQueueCallback callback)
Process the completion events in theIOUringCompletionQueue
and return the number of processed events.
-
ioUringWaitCqe
void ioUringWaitCqe()
Block until there is at least one completion ready to be processed.
-
-