Home / Function/ setup() — netty Function Reference

setup() — netty Function Reference

Architecture documentation for the setup() function in DefaultChannelPipelineDuplexHandlerBenchmark.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  11581a31_8819_da8a_47ac_bcf90616fc72["setup()"]
  191ff36a_e081_3fd5_1f17_c0403ac3c58c["DefaultChannelPipelineDuplexHandlerBenchmark"]
  11581a31_8819_da8a_47ac_bcf90616fc72 -->|defined in| 191ff36a_e081_3fd5_1f17_c0403ac3c58c
  style 11581a31_8819_da8a_47ac_bcf90616fc72 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

microbench/src/main/java/io/netty/microbench/channel/DefaultChannelPipelineDuplexHandlerBenchmark.java lines 47–104

    @Setup
    public void setup() {
        channel = new EmbeddedChannel() {
            @Override
            public void runPendingTasks() {
                // NO-OP to reduce noise on flush
            }
        };
        // disabling auto-read to reduce noise on flush
        channel.config().setAutoRead(false);
        pipeline = channel.pipeline();
        pipeline.addLast(new ChannelInboundHandlerAdapter() {
            @Override
            public void channelReadComplete(final ChannelHandlerContext ctx) {
                ctx.fireChannelReadComplete();
            }
        });
        // Duplex handlers implements both out/in interfaces causing a scalability issue
        // see https://bugs.openjdk.org/browse/JDK-8180450
        if (duplex) {
            pipeline.addLast(new ChannelDuplexHandler() {
                @Override
                public void channelReadComplete(final ChannelHandlerContext ctx) {
                    ctx.fireChannelReadComplete();
                }

                @Override
                public void flush(final ChannelHandlerContext ctx) {
                    ctx.flush();
                }
            });
            pipeline.addLast(new ChannelDuplexHandler() {
                @Override
                public void channelReadComplete(final ChannelHandlerContext ctx) {
                    ctx.flush();
                }
            });
        } else {
            pipeline.addLast(new ChannelInboundHandlerAdapter() {
                @Override
                public void channelReadComplete(final ChannelHandlerContext ctx) {
                    ctx.fireChannelReadComplete();
                }
            });
            pipeline.addLast(new ChannelOutboundHandlerAdapter() {
                @Override
                public void flush(final ChannelHandlerContext ctx) {
                    ctx.flush();
                }
            });
            pipeline.addLast(new ChannelInboundHandlerAdapter() {
                @Override
                public void channelReadComplete(final ChannelHandlerContext ctx) {
                    ctx.flush();
                }
            });
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does setup() do?
setup() is a function in the netty codebase, defined in microbench/src/main/java/io/netty/microbench/channel/DefaultChannelPipelineDuplexHandlerBenchmark.java.
Where is setup() defined?
setup() is defined in microbench/src/main/java/io/netty/microbench/channel/DefaultChannelPipelineDuplexHandlerBenchmark.java at line 47.

Analyze Your Own Codebase

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

Try Supermodel Free