Home / Function/ testCqe() — netty Function Reference

testCqe() — netty Function Reference

Architecture documentation for the testCqe() function in SubmissionQueueTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  bf38fac6_f98c_503c_0b38_3878bc10d3a0["testCqe()"]
  fd25db8c_3569_d733_e052_a05bfd7b5f45["SubmissionQueueTest"]
  bf38fac6_f98c_503c_0b38_3878bc10d3a0 -->|defined in| fd25db8c_3569_d733_e052_a05bfd7b5f45
  style bf38fac6_f98c_503c_0b38_3878bc10d3a0 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport-native-io_uring/src/test/java/io/netty/channel/uring/SubmissionQueueTest.java lines 203–251

    @ParameterizedTest
    @EnumSource(CqeSize.class)
    public void testCqe(CqeSize cqeSize) {
        assumeTrue(Native.ioUringSetupSupportsFlags(cqeSize.setupFlag()));

        RingBuffer ringBuffer = Native.createRingBuffer(8, cqeSize.setupFlag());
        ringBuffer.enable();
        try {
            SubmissionQueue submissionQueue = ringBuffer.ioUringSubmissionQueue();
            final CompletionQueue completionQueue = ringBuffer.ioUringCompletionQueue();

            assertNotNull(ringBuffer);
            assertNotNull(submissionQueue);
            assertNotNull(completionQueue);

            long result;
            if (cqeSize == CqeSize.MIXED) {
                result = submissionQueue.addNop((byte) 0, Native.IORING_NOP_CQE32, 1);
            } else {
                result = submissionQueue.addNop((byte) 0, 1);
            }
            assertThat(result).isNotZero();
            assertThat(submissionQueue.addNop((byte) 0, 1)).isNotZero();

            assertEquals(2, submissionQueue.submitAndGet());
            assertEquals(cqeSize == CqeSize.MIXED ? 3 : 2, completionQueue.count());
            int processed = completionQueue.process(new CompletionCallback() {
                private boolean first = true;
                @Override
                public void handle(int res, int flags, long udata, ByteBuffer extraCqeData) {
                    assertEquals(0, res);
                    assertEquals(cqeSize == CqeSize.MIXED && first ? Native.IORING_CQE_F_32 : 0, flags);
                    assertEquals(1, udata);
                    if (cqeSize == CqeSize.LARGE || (cqeSize == CqeSize.MIXED && first)) {
                        assertNotNull(extraCqeData);
                        assertEquals(0, extraCqeData.position());
                        assertEquals(16, extraCqeData.limit());
                    } else {
                        assertNull(extraCqeData);
                    }
                    first = false;
                }
            });
            assertEquals(2, processed);
            assertFalse(completionQueue.hasCompletions());
        } finally {
            ringBuffer.close();
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does testCqe() do?
testCqe() is a function in the netty codebase, defined in transport-native-io_uring/src/test/java/io/netty/channel/uring/SubmissionQueueTest.java.
Where is testCqe() defined?
testCqe() is defined in transport-native-io_uring/src/test/java/io/netty/channel/uring/SubmissionQueueTest.java at line 203.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free