Home / Class/ UnixChannelUtilTest Class — netty Architecture

UnixChannelUtilTest Class — netty Architecture

Architecture documentation for the UnixChannelUtilTest class in UnixChannelUtilTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  aa3e1068_46d1_03b8_888e_0b89ac0899c6["UnixChannelUtilTest"]
  54994604_0211_1a63_747e_ce2953c4f35c["UnixChannelUtilTest.java"]
  aa3e1068_46d1_03b8_888e_0b89ac0899c6 -->|defined in| 54994604_0211_1a63_747e_ce2953c4f35c
  3ca8a4a0_4136_a156_9f03_fd9727369ee9["testPooledAllocatorIsBufferCopyNeededForWrite()"]
  aa3e1068_46d1_03b8_888e_0b89ac0899c6 -->|method| 3ca8a4a0_4136_a156_9f03_fd9727369ee9
  87c943a9_8918_adf1_52d5_00e4026cba35["testUnPooledAllocatorIsBufferCopyNeededForWrite()"]
  aa3e1068_46d1_03b8_888e_0b89ac0899c6 -->|method| 87c943a9_8918_adf1_52d5_00e4026cba35
  d9c5a5fa_7cbf_c658_11d8_259c4f831c9a["testIsBufferCopyNeededForWrite()"]
  aa3e1068_46d1_03b8_888e_0b89ac0899c6 -->|method| d9c5a5fa_7cbf_c658_11d8_259c4f831c9a
  03b22a1f_d199_1b3a_6eef_af663af827ee["assertCompositeByteBufIsBufferCopyNeededForWrite()"]
  aa3e1068_46d1_03b8_888e_0b89ac0899c6 -->|method| 03b22a1f_d199_1b3a_6eef_af663af827ee

Relationship Graph

Source Code

transport-native-unix-common/src/test/java/io/netty/channel/unix/UnixChannelUtilTest.java lines 35–88

public class UnixChannelUtilTest {

    private static final int IOV_MAX = 1024;

    @Test
    public void testPooledAllocatorIsBufferCopyNeededForWrite() {
        testIsBufferCopyNeededForWrite(PooledByteBufAllocator.DEFAULT);
    }

    @Test
    public void testUnPooledAllocatorIsBufferCopyNeededForWrite() {
        testIsBufferCopyNeededForWrite(UnpooledByteBufAllocator.DEFAULT);
    }

    private static void testIsBufferCopyNeededForWrite(ByteBufAllocator alloc) {
        ByteBuf byteBuf = alloc.directBuffer();
        assertFalse(isBufferCopyNeededForWrite(byteBuf, IOV_MAX));
        assertFalse(isBufferCopyNeededForWrite(byteBuf.asReadOnly(), IOV_MAX));
        assertTrue(byteBuf.release());

        byteBuf = alloc.heapBuffer();
        assertTrue(isBufferCopyNeededForWrite(byteBuf, IOV_MAX));
        assertTrue(isBufferCopyNeededForWrite(byteBuf.asReadOnly(), IOV_MAX));
        assertTrue(byteBuf.release());

        assertCompositeByteBufIsBufferCopyNeededForWrite(alloc, 2, 0, false);
        assertCompositeByteBufIsBufferCopyNeededForWrite(alloc, IOV_MAX + 1, 0, true);
        assertCompositeByteBufIsBufferCopyNeededForWrite(alloc, 0, 2, true);
        assertCompositeByteBufIsBufferCopyNeededForWrite(alloc, 1, 1, true);
    }

    private static void assertCompositeByteBufIsBufferCopyNeededForWrite(ByteBufAllocator alloc, int numDirect,
                                                                         int numHeap, boolean expected) {
        CompositeByteBuf comp = alloc.compositeBuffer(numDirect + numHeap);
        List<ByteBuf> byteBufs = new LinkedList<ByteBuf>();

        while (numDirect > 0) {
            byteBufs.add(alloc.directBuffer(1));
            numDirect--;
        }
        while (numHeap > 0) {
            byteBufs.add(alloc.heapBuffer(1));
            numHeap--;
        }

        Collections.shuffle(byteBufs);
        for (ByteBuf byteBuf : byteBufs) {
            comp.addComponent(byteBuf);
        }

        assertEquals(expected, isBufferCopyNeededForWrite(comp, IOV_MAX), byteBufs.toString());
        assertTrue(comp.release());
    }
}

Frequently Asked Questions

What is the UnixChannelUtilTest class?
UnixChannelUtilTest is a class in the netty codebase, defined in transport-native-unix-common/src/test/java/io/netty/channel/unix/UnixChannelUtilTest.java.
Where is UnixChannelUtilTest defined?
UnixChannelUtilTest is defined in transport-native-unix-common/src/test/java/io/netty/channel/unix/UnixChannelUtilTest.java at line 35.

Analyze Your Own Codebase

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

Try Supermodel Free