Home / Class/ DatagramPacketEncoderTest Class — netty Architecture

DatagramPacketEncoderTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  3ec3cf93_5e07_7630_68e5_0325d87217a1["DatagramPacketEncoderTest"]
  91a16f84_98ee_c1bf_3e6a_d4eafc757f91["DatagramPacketEncoderTest.java"]
  3ec3cf93_5e07_7630_68e5_0325d87217a1 -->|defined in| 91a16f84_98ee_c1bf_3e6a_d4eafc757f91
  26430072_85be_8718_37b1_c46933685617["setUp()"]
  3ec3cf93_5e07_7630_68e5_0325d87217a1 -->|method| 26430072_85be_8718_37b1_c46933685617
  8568d193_c592_88a0_f3f6_a41b73e5597a["tearDown()"]
  3ec3cf93_5e07_7630_68e5_0325d87217a1 -->|method| 8568d193_c592_88a0_f3f6_a41b73e5597a
  4bef0b67_549e_18b3_f69d_5e05054841cb["testEncode()"]
  3ec3cf93_5e07_7630_68e5_0325d87217a1 -->|method| 4bef0b67_549e_18b3_f69d_5e05054841cb
  74c057aa_0157_a4e8_5140_fbb6e2903c2a["testEncodeWithSenderIsNull()"]
  3ec3cf93_5e07_7630_68e5_0325d87217a1 -->|method| 74c057aa_0157_a4e8_5140_fbb6e2903c2a
  0e72cd52_de28_0516_92a9_5fbec3316a34["testUnmatchedMessageType()"]
  3ec3cf93_5e07_7630_68e5_0325d87217a1 -->|method| 0e72cd52_de28_0516_92a9_5fbec3316a34
  c92da235_d509_74de_5a40_e9e35f9dd7f1["testUnmatchedType()"]
  3ec3cf93_5e07_7630_68e5_0325d87217a1 -->|method| c92da235_d509_74de_5a40_e9e35f9dd7f1
  77d05c20_26fd_8fde_51d7_23afe845b3b9["testIsNotSharable()"]
  3ec3cf93_5e07_7630_68e5_0325d87217a1 -->|method| 77d05c20_26fd_8fde_51d7_23afe845b3b9
  6047ae56_748c_8d93_c467_aab8fe2e8891["testIsSharable()"]
  3ec3cf93_5e07_7630_68e5_0325d87217a1 -->|method| 6047ae56_748c_8d93_c467_aab8fe2e8891
  249009e6_3ffe_0124_dfa5_738cc053eac5["testSharable()"]
  3ec3cf93_5e07_7630_68e5_0325d87217a1 -->|method| 249009e6_3ffe_0124_dfa5_738cc053eac5

Relationship Graph

Source Code

codec-base/src/test/java/io/netty/handler/codec/DatagramPacketEncoderTest.java lines 36–139

public class DatagramPacketEncoderTest {

    private EmbeddedChannel channel;

    @BeforeEach
    public void setUp() {
        channel = new EmbeddedChannel(
                new DatagramPacketEncoder<String>(
                        new StringEncoder(CharsetUtil.UTF_8)));
    }

    @AfterEach
    public void tearDown() {
        assertFalse(channel.finish());
    }

    @Test
    public void testEncode() {
        testEncode(false);
    }

    @Test
    public void testEncodeWithSenderIsNull() {
        testEncode(true);
    }

    private void testEncode(boolean senderIsNull) {
        InetSocketAddress recipient = SocketUtils.socketAddress("127.0.0.1", 10000);
        InetSocketAddress sender = senderIsNull ? null : SocketUtils.socketAddress("127.0.0.1", 20000);
        assertTrue(channel.writeOutbound(
                new DefaultAddressedEnvelope<String, InetSocketAddress>("netty", recipient, sender)));
        DatagramPacket packet = channel.readOutbound();
        try {
            assertEquals("netty", packet.content().toString(CharsetUtil.UTF_8));
            assertEquals(recipient, packet.recipient());
            assertEquals(sender, packet.sender());
        } finally {
            packet.release();
        }
    }

    @Test
    public void testUnmatchedMessageType() {
        InetSocketAddress recipient = SocketUtils.socketAddress("127.0.0.1", 10000);
        InetSocketAddress sender = SocketUtils.socketAddress("127.0.0.1", 20000);
        DefaultAddressedEnvelope<Long, InetSocketAddress> envelope =
                new DefaultAddressedEnvelope<Long, InetSocketAddress>(1L, recipient, sender);
        assertTrue(channel.writeOutbound(envelope));
        DefaultAddressedEnvelope<Long, InetSocketAddress> output = channel.readOutbound();
        try {
            assertSame(envelope, output);
        } finally {
            output.release();
        }
    }

    @Test
    public void testUnmatchedType() {
        String netty = "netty";
        assertTrue(channel.writeOutbound(netty));
        assertSame(netty, channel.readOutbound());
    }

    @Test
    public void testIsNotSharable() {
        testSharable(false);
    }

    @Test
    public void testIsSharable() {
        testSharable(true);
    }

    private static void testSharable(boolean sharable) {
        MessageToMessageEncoder<AddressedEnvelope<ByteBuf, InetSocketAddress>> wrapped =
                new TestMessageToMessageEncoder(sharable);

        DatagramPacketEncoder<AddressedEnvelope<ByteBuf, InetSocketAddress>> encoder =
                new DatagramPacketEncoder<AddressedEnvelope<ByteBuf, InetSocketAddress>>(wrapped);
        assertEquals(wrapped.isSharable(), encoder.isSharable());
    }

Frequently Asked Questions

What is the DatagramPacketEncoderTest class?
DatagramPacketEncoderTest is a class in the netty codebase, defined in codec-base/src/test/java/io/netty/handler/codec/DatagramPacketEncoderTest.java.
Where is DatagramPacketEncoderTest defined?
DatagramPacketEncoderTest is defined in codec-base/src/test/java/io/netty/handler/codec/DatagramPacketEncoderTest.java at line 36.

Analyze Your Own Codebase

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

Try Supermodel Free