testCqOverflow() — netty Function Reference
Architecture documentation for the testCqOverflow() function in SubmissionQueueTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD d182d7a1_1b2f_daa1_0533_e1b4dc52e945["testCqOverflow()"] fd25db8c_3569_d733_e052_a05bfd7b5f45["SubmissionQueueTest"] d182d7a1_1b2f_daa1_0533_e1b4dc52e945 -->|defined in| fd25db8c_3569_d733_e052_a05bfd7b5f45 style d182d7a1_1b2f_daa1_0533_e1b4dc52e945 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
transport-native-io_uring/src/test/java/io/netty/channel/uring/SubmissionQueueTest.java lines 128–165
@Test
@DisabledIf("setUpCQSizeUnavailable")
public void testCqOverflow() {
int cqSize = 2;
RingBuffer ringBuffer = Native.createRingBuffer(2, cqSize, Native.IORING_SETUP_CQSIZE);
try {
assertNotNull(ringBuffer);
ringBuffer.enable();
assertNotEquals(0, ringBuffer.features() & Native.IORING_FEAT_NODROP);
CompletionQueue completionQueue = ringBuffer.ioUringCompletionQueue();
assertEquals(cqSize, completionQueue.ringEntries);
SubmissionQueue submissionQueue = ringBuffer.ioUringSubmissionQueue();
assertThat(submissionQueue.addNop((byte) 0, 1)).isNotZero();
assertThat(submissionQueue.addNop((byte) 0, 1)).isNotZero();
submissionQueue.submitAndGet();
assertEquals(0, submissionQueue.flags() & Native.IORING_SQ_CQ_OVERFLOW);
assertThat(submissionQueue.addNop((byte) 0, 1)).isNotZero();
submissionQueue.submitAndGet();
assertNotEquals(0, ringBuffer.ioUringSubmissionQueue().flags() & Native.IORING_SQ_CQ_OVERFLOW);
// The completion queue should have only had space for 2 events
int processed = completionQueue.process((res, flags, udata, extraCqeData) -> { });
assertEquals(2, processed);
// submit again to ensure we flush the event that did overflow
submissionQueue.submitAndGetNow();
processed = completionQueue.process((res, flags, udata, extraCqeData) -> { });
assertEquals(1, processed);
// Everything was processed and so the overflow flag should have been cleared
assertEquals(0, submissionQueue.flags() & Native.IORING_SQ_CQ_OVERFLOW);
} finally {
ringBuffer.close();
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does testCqOverflow() do?
testCqOverflow() is a function in the netty codebase, defined in transport-native-io_uring/src/test/java/io/netty/channel/uring/SubmissionQueueTest.java.
Where is testCqOverflow() defined?
testCqOverflow() is defined in transport-native-io_uring/src/test/java/io/netty/channel/uring/SubmissionQueueTest.java at line 128.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free