Home / Function/ mustCallInitializerExtensions() — netty Function Reference

mustCallInitializerExtensions() — netty Function Reference

Architecture documentation for the mustCallInitializerExtensions() function in ServerBootstrapTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  7998833b_0ad4_de6a_47d6_2a6cb97dfde0["mustCallInitializerExtensions()"]
  ea70f915_ade9_644f_5c4a_f1b52d559227["ServerBootstrapTest"]
  7998833b_0ad4_de6a_47d6_2a6cb97dfde0 -->|defined in| ea70f915_ade9_644f_5c4a_f1b52d559227
  style 7998833b_0ad4_de6a_47d6_2a6cb97dfde0 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport/src/test/java/io/netty/bootstrap/ServerBootstrapTest.java lines 220–277

    @Test
    void mustCallInitializerExtensions() throws Exception {
        LocalAddress addr = new LocalAddress(ServerBootstrapTest.class);
        final AtomicReference<Channel> expectedServerChannel = new AtomicReference<Channel>();
        final AtomicReference<Channel> expectedChildChannel = new AtomicReference<Channel>();
        EventLoopGroup group = new MultiThreadIoEventLoopGroup(1, LocalIoHandler.newFactory());
        final ServerBootstrap sb = new ServerBootstrap();
        sb.group(group);
        sb.channel(LocalServerChannel.class);
        sb.handler(new ChannelInitializer<Channel>() {
            @Override
            protected void initChannel(Channel ch) throws Exception {
                expectedServerChannel.set(ch);
            }
        });
        sb.childHandler(new ChannelInitializer<Channel>() {
            @Override
            protected void initChannel(Channel ch) throws Exception {
                expectedChildChannel.set(ch);
            }
        });

        StubChannelInitializerExtension.clearThreadLocals();
        group.submit(new Runnable() {
            @Override
            public void run() {
                StubChannelInitializerExtension.clearThreadLocals();
            }
        }).sync();

        Channel serverChannel = sb.bind(addr).syncUninterruptibly().channel();

        assertNull(StubChannelInitializerExtension.lastSeenClientChannel.get());
        assertNull(StubChannelInitializerExtension.lastSeenChildChannel.get());
        assertSame(expectedServerChannel.get(), StubChannelInitializerExtension.lastSeenListenerChannel.get());
        assertSame(serverChannel, StubChannelInitializerExtension.lastSeenListenerChannel.get());

        Bootstrap cb = new Bootstrap();
        cb.group(group)
                .channel(LocalChannel.class)
                .handler(new ChannelInboundHandlerAdapter());
        Channel clientChannel = cb.connect(addr).syncUninterruptibly().channel();

        assertSame(clientChannel, StubChannelInitializerExtension.lastSeenClientChannel.get());
        group.submit(new Callable<Object>() {
            @Override
            public Object call() throws Exception {
                assertSame(expectedChildChannel.get(), StubChannelInitializerExtension.lastSeenChildChannel.get());
                return null;
            }
        }).sync();
        assertSame(expectedServerChannel.get(), StubChannelInitializerExtension.lastSeenListenerChannel.get());
        assertSame(serverChannel, StubChannelInitializerExtension.lastSeenListenerChannel.get());

        serverChannel.close().syncUninterruptibly();
        clientChannel.close().syncUninterruptibly();
        group.shutdownGracefully();
    }

Domain

Subdomains

Frequently Asked Questions

What does mustCallInitializerExtensions() do?
mustCallInitializerExtensions() is a function in the netty codebase, defined in transport/src/test/java/io/netty/bootstrap/ServerBootstrapTest.java.
Where is mustCallInitializerExtensions() defined?
mustCallInitializerExtensions() is defined in transport/src/test/java/io/netty/bootstrap/ServerBootstrapTest.java at line 220.

Analyze Your Own Codebase

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

Try Supermodel Free