Home / Class/ NioServerDomainSocketChannelTest Class — netty Architecture

NioServerDomainSocketChannelTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  c690aba4_88d4_67bf_6e0a_2ef650c45464["NioServerDomainSocketChannelTest"]
  7ad89d67_13b3_132b_459d_584909545963["NioServerDomainSocketChannelTest.java"]
  c690aba4_88d4_67bf_6e0a_2ef650c45464 -->|defined in| 7ad89d67_13b3_132b_459d_584909545963
  04d5814a_e413_e10e_b498_91927a9dc84d["testCloseOnError()"]
  c690aba4_88d4_67bf_6e0a_2ef650c45464 -->|method| 04d5814a_e413_e10e_b498_91927a9dc84d
  3d3805fb_f11a_fcf0_f393_35f30687a246["testIsActiveFalseAfterClose()"]
  c690aba4_88d4_67bf_6e0a_2ef650c45464 -->|method| 3d3805fb_f11a_fcf0_f393_35f30687a246
  6170ac5b_cad8_a7e7_4886_e92b75c03900["testCreateChannelFromJdkChannel()"]
  c690aba4_88d4_67bf_6e0a_2ef650c45464 -->|method| 6170ac5b_cad8_a7e7_4886_e92b75c03900
  5a90c6c5_4f4f_1e97_1d6b_bb30ea1d9232["NioServerDomainSocketChannel()"]
  c690aba4_88d4_67bf_6e0a_2ef650c45464 -->|method| 5a90c6c5_4f4f_1e97_1d6b_bb30ea1d9232
  5003f2f8_0889_9d7b_3383_5dcf4c0fa5d9["NetworkChannel()"]
  c690aba4_88d4_67bf_6e0a_2ef650c45464 -->|method| 5003f2f8_0889_9d7b_3383_5dcf4c0fa5d9
  80043bf9_53a6_2309_c7d8_dd98b10cebe8["newInvalidOption()"]
  c690aba4_88d4_67bf_6e0a_2ef650c45464 -->|method| 80043bf9_53a6_2309_c7d8_dd98b10cebe8
  cd28fbe3_8ba8_08dc_90e2_2bb8edb7a7b5["File()"]
  c690aba4_88d4_67bf_6e0a_2ef650c45464 -->|method| cd28fbe3_8ba8_08dc_90e2_2bb8edb7a7b5

Relationship Graph

Source Code

transport/src/test/java/io/netty/channel/socket/nio/NioServerDomainSocketChannelTest.java lines 43–129

@EnabledForJreRange(min = JRE.JAVA_16)
public class NioServerDomainSocketChannelTest extends AbstractNioDomainChannelTest<NioServerDomainSocketChannel> {

    @Test
    public void testCloseOnError() throws Exception {
        ServerSocketChannel jdkChannel = NioServerDomainSocketChannel.newChannel(SelectorProvider.provider());
        NioServerDomainSocketChannel serverSocketChannel = new NioServerDomainSocketChannel(jdkChannel);
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory());
        File file = newRandomTmpFile();
        try {
            group.register(serverSocketChannel).syncUninterruptibly();
            serverSocketChannel.bind(newUnixDomainSocketAddress(file.getAbsolutePath()))
                    .syncUninterruptibly();
            assertFalse(serverSocketChannel.closeOnReadError(new IOException()));
            serverSocketChannel.close().syncUninterruptibly();
        } finally {
            group.shutdownGracefully();
            file.delete();
        }
    }

    @Test
    public void testIsActiveFalseAfterClose() throws Exception {
        NioServerDomainSocketChannel serverSocketChannel = new NioServerDomainSocketChannel();
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory());
        File file = newRandomTmpFile();
        try {
            group.register(serverSocketChannel).syncUninterruptibly();
            Channel channel = serverSocketChannel.bind(
                    newUnixDomainSocketAddress(file.getAbsolutePath()))
                    .syncUninterruptibly().channel();
            assertTrue(channel.isActive());
            assertTrue(channel.isOpen());
            channel.close().syncUninterruptibly();
            assertFalse(channel.isOpen());
            assertFalse(channel.isActive());
        } finally {
            group.shutdownGracefully();
            file.delete();
        }
    }

    @ParameterizedTest
    @ValueSource(booleans = { false, true })
    public void testCreateChannelFromJdkChannel(boolean bindJdkChannel) throws Exception {
        File file = newRandomTmpFile();
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, NioIoHandler.newFactory());
        try {
            SocketAddress localAddress = newUnixDomainSocketAddress(file.getAbsolutePath());
            ServerSocketChannel jdkChannel = NioServerDomainSocketChannel.newChannel(SelectorProvider.provider());
            if (bindJdkChannel) {
                jdkChannel.bind(localAddress);
            }
            NioServerDomainSocketChannel serverSocketChannel = new NioServerDomainSocketChannel(jdkChannel);
            group.register(serverSocketChannel).syncUninterruptibly();
            assertTrue(serverSocketChannel.isOpen());

            assertEquals(bindJdkChannel, serverSocketChannel.isActive());

            serverSocketChannel.close().syncUninterruptibly();
            assertFalse(serverSocketChannel.isOpen());
            assertFalse(serverSocketChannel.isActive());
        } finally {
            group.shutdownGracefully();
            file.delete();
        }
    }

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

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

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

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free