Package io.netty.channel.uring
Class SubmissionQueue
- java.lang.Object
-
- io.netty.channel.uring.SubmissionQueue
-
final class SubmissionQueue extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private booleanclosedprivate intenterFlags(package private) intenterRingFdprivate intheadprivate static VarHandleINT_HANDLEprivate java.nio.ByteBufferkflagsprivate java.nio.ByteBufferkHeadprivate java.nio.ByteBufferkTailprivate static InternalLoggerlogger(package private) longringAddress(package private) intringEntries(package private) intringFdprivate intringMask(package private) intringSizeprivate static intSQE_FD_FIELDprivate static intSQE_FLAGS_FIELDprivate static intSQE_IOPRIO_FIELDprivate static intSQE_LEN_FIELDprivate static intSQE_OP_CODE_FIELDprivate static intSQE_PERSONALITY_FIELD(package private) static intSQE_SIZEprivate static intSQE_UNION1_FIELDprivate static intSQE_UNION2_FIELDprivate static intSQE_UNION3_FIELDprivate static intSQE_UNION4_FIELDprivate static intSQE_UNION5_FIELDprivate static intSQE_UNION6_FIELDprivate static intSQE_USER_DATA_FIELDprivate java.nio.ByteBuffersubmissionQueueArrayprivate inttail
-
Constructor Summary
Constructors Constructor Description 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 Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) longaddCancel(long sqeToCancel, long udata)(package private) longaddEventFdRead(int fd, long bufferAddress, int pos, int limit, long udata)(package private) longaddLinkTimeout(long timeoutMemoryAddress, long extraData)(package private) longaddNop(byte flags, int nopFlags, long udata)(package private) longaddNop(byte flags, long udata)(package private) longaddTimeout(long timeoutMemoryAddress, long udata)private voidcheckClosed()(package private) voidclose()intcount()(package private) longenqueueSqe(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)(package private) intflags()private intioUringEnter(int toSubmit, int minComplete, int flags)private intioUringEnter0(int toSubmit, int minComplete, int f)intremaining()private static intsqeIndex(int tail, int ringMask)(package private) longsubmissionQueueArrayAddress()(package private) intsubmit()Submit entries.private intsubmit(int toSubmit, int minComplete, int flags)(package private) intsubmitAndGet()Submit entries and fetch completions.private intsubmitAndGet0(int minComplete)(package private) intsubmitAndGetNow()Submit entries and fetch completions.java.lang.StringtoString()(package private) voidtryRegisterRingFd()
-
-
-
Field Detail
-
logger
private static final InternalLogger logger
-
SQE_SIZE
static final int SQE_SIZE
- See Also:
- Constant Field Values
-
SQE_OP_CODE_FIELD
private static final int SQE_OP_CODE_FIELD
- See Also:
- Constant Field Values
-
SQE_FLAGS_FIELD
private static final int SQE_FLAGS_FIELD
- See Also:
- Constant Field Values
-
SQE_IOPRIO_FIELD
private static final int SQE_IOPRIO_FIELD
- See Also:
- Constant Field Values
-
SQE_FD_FIELD
private static final int SQE_FD_FIELD
- See Also:
- Constant Field Values
-
SQE_UNION1_FIELD
private static final int SQE_UNION1_FIELD
- See Also:
- Constant Field Values
-
SQE_UNION2_FIELD
private static final int SQE_UNION2_FIELD
- See Also:
- Constant Field Values
-
SQE_LEN_FIELD
private static final int SQE_LEN_FIELD
- See Also:
- Constant Field Values
-
SQE_UNION3_FIELD
private static final int SQE_UNION3_FIELD
- See Also:
- Constant Field Values
-
SQE_USER_DATA_FIELD
private static final int SQE_USER_DATA_FIELD
- See Also:
- Constant Field Values
-
SQE_UNION4_FIELD
private static final int SQE_UNION4_FIELD
- See Also:
- Constant Field Values
-
SQE_PERSONALITY_FIELD
private static final int SQE_PERSONALITY_FIELD
- See Also:
- Constant Field Values
-
SQE_UNION5_FIELD
private static final int SQE_UNION5_FIELD
- See Also:
- Constant Field Values
-
SQE_UNION6_FIELD
private static final int SQE_UNION6_FIELD
- See Also:
- Constant Field Values
-
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
-
-
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:
toStringin classjava.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()
-
-