testTrafficShapping0() — netty Function Reference
Architecture documentation for the testTrafficShapping0() function in TrafficShapingHandlerTest.java from the netty codebase.
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
Defined In
Called By
Source
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