Home / Class/ DatagramPacketDecoderTest Class — netty Architecture

DatagramPacketDecoderTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  19f12646_72d0_1a47_33f0_67d539cfb9a9["DatagramPacketDecoderTest"]
  686d8fb3_7da3_c81e_f357_d09db22bacfa["DatagramPacketDecoderTest.java"]
  19f12646_72d0_1a47_33f0_67d539cfb9a9 -->|defined in| 686d8fb3_7da3_c81e_f357_d09db22bacfa
  074b74a9_308f_e5cb_4ce7_3c3db2e60195["setUp()"]
  19f12646_72d0_1a47_33f0_67d539cfb9a9 -->|method| 074b74a9_308f_e5cb_4ce7_3c3db2e60195
  052c2138_0974_71ec_120f_2d58f3b7721a["tearDown()"]
  19f12646_72d0_1a47_33f0_67d539cfb9a9 -->|method| 052c2138_0974_71ec_120f_2d58f3b7721a
  5849ca86_303e_d771_1afd_e5110b5d1ebb["testDecode()"]
  19f12646_72d0_1a47_33f0_67d539cfb9a9 -->|method| 5849ca86_303e_d771_1afd_e5110b5d1ebb
  307c6678_2d06_eb82_0ebd_2ba84c9831f7["testIsNotSharable()"]
  19f12646_72d0_1a47_33f0_67d539cfb9a9 -->|method| 307c6678_2d06_eb82_0ebd_2ba84c9831f7
  2de3310a_1744_8b9d_1dc1_c8c5b631f27d["testIsSharable()"]
  19f12646_72d0_1a47_33f0_67d539cfb9a9 -->|method| 2de3310a_1744_8b9d_1dc1_c8c5b631f27d

Relationship Graph

Source Code

codec-base/src/test/java/io/netty/handler/codec/DatagramPacketDecoderTest.java lines 37–96

public class DatagramPacketDecoderTest {

    private EmbeddedChannel channel;

    @BeforeEach
    public void setUp() {
        channel = new EmbeddedChannel(
                new DatagramPacketDecoder(
                        new StringDecoder(CharsetUtil.UTF_8)));
    }

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

    @Test
    public void testDecode() {
        InetSocketAddress recipient = SocketUtils.socketAddress("127.0.0.1", 10000);
        InetSocketAddress sender = SocketUtils.socketAddress("127.0.0.1", 20000);
        ByteBuf content = Unpooled.wrappedBuffer("netty".getBytes(CharsetUtil.UTF_8));
        assertTrue(channel.writeInbound(new DatagramPacket(content, recipient, sender)));
        assertEquals("netty", channel.readInbound());
    }

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

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

    private static void testIsSharable(boolean sharable) {
        MessageToMessageDecoder<ByteBuf> wrapped = new TestMessageToMessageDecoder(sharable);
        DatagramPacketDecoder decoder = new DatagramPacketDecoder(wrapped);
        assertEquals(wrapped.isSharable(), decoder.isSharable());
    }

    private static final class TestMessageToMessageDecoder extends MessageToMessageDecoder<ByteBuf> {

        private final boolean sharable;

        TestMessageToMessageDecoder(boolean sharable) {
            this.sharable = sharable;
        }

        @Override
        protected void decode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out) throws Exception {
            // NOOP
        }

        @Override
        public boolean isSharable() {
            return sharable;
        }
    }
}

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free