Home / Function/ testTrafficShapping0() — netty Function Reference

testTrafficShapping0() — netty Function Reference

Architecture documentation for the testTrafficShapping0() function in TrafficShapingHandlerTest.java from the netty codebase.

Function java Buffer Search calls 2 called by 9

Entity Profile

Dependency Diagram

graph TD
  15b5a759_6f92_1fc8_4003_b9bc533f45d2["testTrafficShapping0()"]
  89b0606a_219d_4de0_ef55_0f86426aafb3["TrafficShapingHandlerTest"]
  15b5a759_6f92_1fc8_4003_b9bc533f45d2 -->|defined in| 89b0606a_219d_4de0_ef55_0f86426aafb3
  10a02e5a_8b37_a336_5546_fcd13e8b0aa0["testNoTrafficShapping()"]
  10a02e5a_8b37_a336_5546_fcd13e8b0aa0 -->|calls| 15b5a759_6f92_1fc8_4003_b9bc533f45d2
  9e9db304_6fcc_01b0_297d_06f1d584a682["testWriteTrafficShapping()"]
  9e9db304_6fcc_01b0_297d_06f1d584a682 -->|calls| 15b5a759_6f92_1fc8_4003_b9bc533f45d2
  843703ca_65b2_ba15_f670_303f35ddecc5["testReadTrafficShapping()"]
  843703ca_65b2_ba15_f670_303f35ddecc5 -->|calls| 15b5a759_6f92_1fc8_4003_b9bc533f45d2
  90f04944_7cdd_66d8_ec2c_4bad43f5ce31["testWrite1TrafficShapping()"]
  90f04944_7cdd_66d8_ec2c_4bad43f5ce31 -->|calls| 15b5a759_6f92_1fc8_4003_b9bc533f45d2
  fdb11d66_dc79_d514_44e8_a61532e04b5c["testRead1TrafficShapping()"]
  fdb11d66_dc79_d514_44e8_a61532e04b5c -->|calls| 15b5a759_6f92_1fc8_4003_b9bc533f45d2
  7ded4b52_9519_7f3a_7191_52cc1c988916["testWriteGlobalTrafficShapping()"]
  7ded4b52_9519_7f3a_7191_52cc1c988916 -->|calls| 15b5a759_6f92_1fc8_4003_b9bc533f45d2
  8cef2b65_a06b_da07_a37a_93b6875460a4["testReadGlobalTrafficShapping()"]
  8cef2b65_a06b_da07_a37a_93b6875460a4 -->|calls| 15b5a759_6f92_1fc8_4003_b9bc533f45d2
  503172e1_7515_719f_2b96_1bd3020235eb["testAutoReadTrafficShapping()"]
  503172e1_7515_719f_2b96_1bd3020235eb -->|calls| 15b5a759_6f92_1fc8_4003_b9bc533f45d2
  429979ff_3ffe_c204_17e9_e457124e234a["testAutoReadGlobalTrafficShapping()"]
  429979ff_3ffe_c204_17e9_e457124e234a -->|calls| 15b5a759_6f92_1fc8_4003_b9bc533f45d2
  0c95a3ac_3a8f_22d5_5d59_ae6ea1b0d0aa["ServerHandler()"]
  15b5a759_6f92_1fc8_4003_b9bc533f45d2 -->|calls| 0c95a3ac_3a8f_22d5_5d59_ae6ea1b0d0aa
  d21bb16a_f424_d60b_0ea4_7b015c302b29["ClientHandler()"]
  15b5a759_6f92_1fc8_4003_b9bc533f45d2 -->|calls| d21bb16a_f424_d60b_0ea4_7b015c302b29
  style 15b5a759_6f92_1fc8_4003_b9bc533f45d2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

testsuite/src/main/java/io/netty/testsuite/transport/socket/TrafficShapingHandlerTest.java lines 332–438

    private static void testTrafficShapping0(
            ServerBootstrap sb, Bootstrap cb, final boolean additionalExecutor,
            final boolean limitRead, final boolean limitWrite, final boolean globalLimit, int[] autoRead,
            long[] minimalWaitBetween, int[] multipleMessage) throws Throwable {

        currentTestRun++;
        logger.info("TEST: " + currentTestName + " RUN: " + currentTestRun +
                    " Exec: " + additionalExecutor + " Read: " + limitRead + " Write: " + limitWrite + " Global: "
                    + globalLimit);
        final ServerHandler sh = new ServerHandler(autoRead, multipleMessage);
        Promise<Boolean> promise = group.next().newPromise();
        final ClientHandler ch = new ClientHandler(promise, minimalWaitBetween, multipleMessage,
                                                   autoRead);

        final AbstractTrafficShapingHandler handler;
        if (limitRead) {
            if (globalLimit) {
                handler = new GlobalTrafficShapingHandler(groupForGlobal, 0, bandwidthFactor * messageSize, check);
            } else {
                handler = new ChannelTrafficShapingHandler(0, bandwidthFactor * messageSize, check);
            }
        } else if (limitWrite) {
            if (globalLimit) {
                handler = new GlobalTrafficShapingHandler(groupForGlobal, bandwidthFactor * messageSize, 0, check);
            } else {
                handler = new ChannelTrafficShapingHandler(bandwidthFactor * messageSize, 0, check);
            }
        } else {
            handler = null;
        }

        sb.childHandler(new ChannelInitializer<SocketChannel>() {
            @Override
            protected void initChannel(SocketChannel c) throws Exception {
                if (limitRead) {
                    c.pipeline().addLast(TRAFFIC, handler);
                }
                c.pipeline().addLast(sh);
            }
        });
        cb.handler(new ChannelInitializer<SocketChannel>() {
            @Override
            protected void initChannel(SocketChannel c) throws Exception {
                if (limitWrite) {
                    c.pipeline().addLast(TRAFFIC, handler);
                }
                c.pipeline().addLast(ch);
            }
        });

        Channel sc = sb.bind().sync().channel();
        Channel cc = cb.connect(sc.localAddress()).sync().channel();

        int totalNb = 0;
        for (int i = 1; i < multipleMessage.length; i++) {
            totalNb += multipleMessage[i];
        }
        Long start = TrafficCounter.milliSecondFromNano();
        int nb = multipleMessage[0];
        for (int i = 0; i < nb; i++) {
            cc.write(cc.alloc().buffer().writeBytes(data));
        }
        cc.flush();

        promise.await();
        Long stop = TrafficCounter.milliSecondFromNano();
        assertTrue(promise.isSuccess(), "Error during execution of TrafficShapping: " + promise.cause());

        float average = (totalNb * messageSize) / (float) (stop - start);
        logger.info("TEST: " + currentTestName + " RUN: " + currentTestRun +
                    " Average of traffic: " + average + " compare to " + bandwidthFactor);
        sh.channel.close().sync();
        ch.channel.close().sync();
        sc.close().sync();
        if (autoRead != null) {
            // for extra release call in AutoRead
            Thread.sleep(minimalms);
        }

        if (autoRead == null && minimalWaitBetween != null) {
            assertTrue(average <= maxfactor,

Domain

Subdomains

Frequently Asked Questions

What does testTrafficShapping0() do?
testTrafficShapping0() is a function in the netty codebase, defined in testsuite/src/main/java/io/netty/testsuite/transport/socket/TrafficShapingHandlerTest.java.
Where is testTrafficShapping0() defined?
testTrafficShapping0() is defined in testsuite/src/main/java/io/netty/testsuite/transport/socket/TrafficShapingHandlerTest.java at line 332.
What does testTrafficShapping0() call?
testTrafficShapping0() calls 2 function(s): ClientHandler, ServerHandler.
What calls testTrafficShapping0()?
testTrafficShapping0() is called by 9 function(s): testAutoReadGlobalTrafficShapping, testAutoReadTrafficShapping, testNoTrafficShapping, testRead1TrafficShapping, testReadGlobalTrafficShapping, testReadTrafficShapping, testWrite1TrafficShapping, testWriteGlobalTrafficShapping, and 1 more.

Analyze Your Own Codebase

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

Try Supermodel Free