SocketObjectEchoTest Class — netty Architecture
Architecture documentation for the SocketObjectEchoTest class in SocketObjectEchoTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 6232f272_0884_1a0c_5042_b62d30858ab2["SocketObjectEchoTest"] e6441b19_4ea7_cefa_16d5_cc332a23b8ae["SocketObjectEchoTest.java"] 6232f272_0884_1a0c_5042_b62d30858ab2 -->|defined in| e6441b19_4ea7_cefa_16d5_cc332a23b8ae 8e90dba7_155c_66d6_0b36_cbf040b34c92["testObjectEcho()"] 6232f272_0884_1a0c_5042_b62d30858ab2 -->|method| 8e90dba7_155c_66d6_0b36_cbf040b34c92 0b6a6aa8_2a90_af6d_c579_5b616fdfc459["testObjectEchoNotAutoRead()"] 6232f272_0884_1a0c_5042_b62d30858ab2 -->|method| 0b6a6aa8_2a90_af6d_c579_5b616fdfc459
Relationship Graph
Source Code
testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketObjectEchoTest.java lines 37–204
public class SocketObjectEchoTest extends AbstractSocketTest {
static final Random random = new Random();
static final String[] data = new String[1024];
static {
for (int i = 0; i < data.length; i ++) {
int eLen = random.nextInt(512);
char[] e = new char[eLen];
for (int j = 0; j < eLen; j ++) {
e[j] = (char) ('a' + random.nextInt(26));
}
data[i] = new String(e);
}
}
@Test
public void testObjectEcho(TestInfo testInfo) throws Throwable {
run(testInfo, new Runner<ServerBootstrap, Bootstrap>() {
@Override
public void run(ServerBootstrap serverBootstrap, Bootstrap bootstrap) throws Throwable {
testObjectEcho(serverBootstrap, bootstrap);
}
});
}
public void testObjectEcho(ServerBootstrap sb, Bootstrap cb) throws Throwable {
testObjectEcho(sb, cb, true);
}
@Test
public void testObjectEchoNotAutoRead(TestInfo testInfo) throws Throwable {
run(testInfo, new Runner<ServerBootstrap, Bootstrap>() {
@Override
public void run(ServerBootstrap serverBootstrap, Bootstrap bootstrap) throws Throwable {
testObjectEchoNotAutoRead(serverBootstrap, bootstrap);
}
});
}
public void testObjectEchoNotAutoRead(ServerBootstrap sb, Bootstrap cb) throws Throwable {
testObjectEcho(sb, cb, false);
}
private static void testObjectEcho(ServerBootstrap sb, Bootstrap cb, boolean autoRead) throws Throwable {
sb.childOption(ChannelOption.AUTO_READ, autoRead);
cb.option(ChannelOption.AUTO_READ, autoRead);
final EchoHandler sh = new EchoHandler(autoRead);
final EchoHandler ch = new EchoHandler(autoRead);
sb.childHandler(new ChannelInitializer<Channel>() {
@Override
public void initChannel(Channel sch) throws Exception {
sch.pipeline().addLast(
new ObjectDecoder(ClassResolvers.cacheDisabled(getClass().getClassLoader())),
new ObjectEncoder(),
sh);
}
});
cb.handler(new ChannelInitializer<Channel>() {
@Override
public void initChannel(Channel sch) throws Exception {
sch.pipeline().addLast(
new ObjectDecoder(ClassResolvers.cacheDisabled(getClass().getClassLoader())),
new ObjectEncoder(),
ch);
}
});
Channel sc = sb.bind().sync().channel();
Channel cc = cb.connect(sc.localAddress()).sync().channel();
for (String element : data) {
cc.writeAndFlush(element);
}
while (ch.counter < data.length) {
if (sh.exception.get() != null) {
break;
Source
Frequently Asked Questions
What is the SocketObjectEchoTest class?
SocketObjectEchoTest is a class in the netty codebase, defined in testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketObjectEchoTest.java.
Where is SocketObjectEchoTest defined?
SocketObjectEchoTest is defined in testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketObjectEchoTest.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free