Class SubmissionQueue
java.lang.Object
io.netty.channel.uring.SubmissionQueue
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate int(package private) intprivate intprivate static final VarHandleprivate final ByteBufferprivate final ByteBufferprivate final ByteBufferprivate static final InternalLogger(package private) final long(package private) final int(package private) final intprivate final int(package private) final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final int(package private) static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate final ByteBufferprivate int -
Constructor Summary
ConstructorsConstructorDescriptionSubmissionQueue(ByteBuffer khead, ByteBuffer ktail, int ringMask, int ringEntries, ByteBuffer kflags, ByteBuffer submissionQueueArray, int ringSize, long ringAddress, int ringFd) -
Method Summary
Modifier and TypeMethodDescription(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 void(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) intprivate static intsqeIndex(int tail, int ringMask) (package private) long(package private) intsubmit()Submit entries.private intsubmit(int toSubmit, int minComplete, int flags) (package private) intSubmit entries and fetch completions.private intsubmitAndGet0(int minComplete) (package private) intSubmit entries and fetch completions.toString()(package private) void
-
Field Details
-
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
-
kHead
-
kTail
-
kflags
-
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 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
-
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()
-