Home / Class/ NioDatagramChannelTest Class — netty Architecture

NioDatagramChannelTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  c6088c23_71ad_dc30_77db_fe73458cf98f["NioDatagramChannelTest"]
  53877ff5_31e3_78ea_9b1d_118fbca7833f["NioDatagramChannelTest.java"]
  c6088c23_71ad_dc30_77db_fe73458cf98f -->|defined in| 53877ff5_31e3_78ea_9b1d_118fbca7833f
  6869023a_9d0c_97dd_6de2_c1f49312fcd1["testBindMultiple()"]
  c6088c23_71ad_dc30_77db_fe73458cf98f -->|method| 6869023a_9d0c_97dd_6de2_c1f49312fcd1
  48231f34_d8a6_699e_28bd_75514e8caea9["NioDatagramChannel()"]
  c6088c23_71ad_dc30_77db_fe73458cf98f -->|method| 48231f34_d8a6_699e_28bd_75514e8caea9
  0ddab53d_553c_677d_e90f_c3d09e7d5af6["NetworkChannel()"]
  c6088c23_71ad_dc30_77db_fe73458cf98f -->|method| 0ddab53d_553c_677d_e90f_c3d09e7d5af6
  cefdba0d_9463_dfe3_7f1b_f6a4b9de62fc["newInvalidOption()"]
  c6088c23_71ad_dc30_77db_fe73458cf98f -->|method| cefdba0d_9463_dfe3_7f1b_f6a4b9de62fc

Relationship Graph

Source Code

transport/src/test/java/io/netty/channel/socket/nio/NioDatagramChannelTest.java lines 38–84

public class NioDatagramChannelTest extends AbstractNioChannelTest<NioDatagramChannel> {

    /**
     * Test try to reproduce issue #1335
     */
    @Test
    public void testBindMultiple() throws Exception {
        DefaultChannelGroup channelGroup = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory());
        try {
            for (int i = 0; i < 100; i++) {
                Bootstrap udpBootstrap = new Bootstrap();
                udpBootstrap.group(group).channel(NioDatagramChannel.class)
                        .option(ChannelOption.SO_BROADCAST, true)
                        .handler(new ChannelInboundHandlerAdapter() {
                            @Override
                            public void channelRead(ChannelHandlerContext ctx, Object msg) {
                                // Discard
                                ReferenceCountUtil.release(msg);
                            }
                        });
                DatagramChannel datagramChannel = (DatagramChannel) udpBootstrap
                        .bind(new InetSocketAddress(0)).syncUninterruptibly().channel();
                channelGroup.add(datagramChannel);
            }
            assertEquals(100, channelGroup.size());
        } finally {
            channelGroup.close().sync();
            group.shutdownGracefully().sync();
        }
    }

    @Override
    protected NioDatagramChannel newNioChannel() {
        return new NioDatagramChannel();
    }

    @Override
    protected NetworkChannel jdkChannel(NioDatagramChannel channel) {
        return channel.javaChannel();
    }

    @Override
    protected SocketOption<?> newInvalidOption() {
        return StandardSocketOptions.TCP_NODELAY;
    }
}

Frequently Asked Questions

What is the NioDatagramChannelTest class?
NioDatagramChannelTest is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/socket/nio/NioDatagramChannelTest.java.
Where is NioDatagramChannelTest defined?
NioDatagramChannelTest is defined in transport/src/test/java/io/netty/channel/socket/nio/NioDatagramChannelTest.java at line 38.

Analyze Your Own Codebase

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

Try Supermodel Free