DatagramUnicastInetTest Class — netty Architecture
Architecture documentation for the DatagramUnicastInetTest class in DatagramUnicastInetTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD f0d69a11_922d_d577_4c42_91055296d6a7["DatagramUnicastInetTest"] 899e6d98_db34_8d37_aa65_8768679d9e82["DatagramUnicastInetTest.java"] f0d69a11_922d_d577_4c42_91055296d6a7 -->|defined in| 899e6d98_db34_8d37_aa65_8768679d9e82 fd4df5a9_756f_6cf6_ccea_fafb432923d0["testBindWithPortOnly()"] f0d69a11_922d_d577_4c42_91055296d6a7 -->|method| fd4df5a9_756f_6cf6_ccea_fafb432923d0 b534850b_7770_698e_a10f_468b77df86f9["isConnected()"] f0d69a11_922d_d577_4c42_91055296d6a7 -->|method| b534850b_7770_698e_a10f_468b77df86f9 3f54518d_238f_17f2_7d87_05c6651a1886["Channel()"] f0d69a11_922d_d577_4c42_91055296d6a7 -->|method| 3f54518d_238f_17f2_7d87_05c6651a1886 533ec669_da06_f17c_69e0_279899321149["supportDisconnect()"] f0d69a11_922d_d577_4c42_91055296d6a7 -->|method| 533ec669_da06_f17c_69e0_279899321149 6d3d073d_f9d6_63f4_4d85_f01dbbfc9142["ChannelFuture()"] f0d69a11_922d_d577_4c42_91055296d6a7 -->|method| 6d3d073d_f9d6_63f4_4d85_f01dbbfc9142
Relationship Graph
Source Code
testsuite/src/main/java/io/netty/testsuite/transport/socket/DatagramUnicastInetTest.java lines 39–170
public class DatagramUnicastInetTest extends DatagramUnicastTest {
@Test
public void testBindWithPortOnly(TestInfo testInfo) throws Throwable {
run(testInfo, new Runner<Bootstrap, Bootstrap>() {
@Override
public void run(Bootstrap bootstrap, Bootstrap bootstrap2) throws Throwable {
testBindWithPortOnly(bootstrap2);
}
});
}
private static void testBindWithPortOnly(Bootstrap cb) throws Throwable {
Channel channel = null;
try {
cb.handler(new ChannelHandlerAdapter() { });
channel = cb.bind(0).sync().channel();
} finally {
closeChannel(channel);
}
}
@Override
protected boolean isConnected(Channel channel) {
return ((DatagramChannel) channel).isConnected();
}
@Override
protected Channel setupClientChannel(Bootstrap cb, final byte[] bytes, final CountDownLatch latch,
final AtomicReference<Throwable> errorRef) throws Throwable {
cb.handler(new SimpleChannelInboundHandler<DatagramPacket>() {
@Override
public void channelRead0(ChannelHandlerContext ctx, DatagramPacket msg) {
try {
ByteBuf buf = msg.content();
assertEquals(bytes.length, buf.readableBytes());
for (int i = 0; i < bytes.length; i++) {
assertEquals(bytes[i], buf.getByte(buf.readerIndex() + i));
}
InetSocketAddress localAddress = (InetSocketAddress) ctx.channel().localAddress();
if (localAddress.getAddress().isAnyLocalAddress()) {
assertEquals(localAddress.getPort(), msg.recipient().getPort());
} else {
// Test that the channel's localAddress is equal to the message's recipient
assertEquals(localAddress, msg.recipient());
}
} finally {
latch.countDown();
}
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
errorRef.compareAndSet(null, cause);
}
});
return cb.bind(newSocketAddress()).sync().channel();
}
@Override
protected Channel setupServerChannel(Bootstrap sb, final byte[] bytes, final SocketAddress sender,
final CountDownLatch latch, final AtomicReference<Throwable> errorRef,
final boolean echo) throws Throwable {
sb.handler(new ChannelInitializer<Channel>() {
@Override
protected void initChannel(Channel ch) {
ch.pipeline().addLast(new SimpleChannelInboundHandler<DatagramPacket>() {
@Override
public void channelRead0(ChannelHandlerContext ctx, DatagramPacket msg) {
try {
if (sender == null) {
assertNotNull(msg.sender());
} else {
InetSocketAddress senderAddress = (InetSocketAddress) sender;
if (senderAddress.getAddress().isAnyLocalAddress()) {
assertEquals(senderAddress.getPort(), msg.sender().getPort());
} else {
assertEquals(sender, msg.sender());
Source
Frequently Asked Questions
What is the DatagramUnicastInetTest class?
DatagramUnicastInetTest is a class in the netty codebase, defined in testsuite/src/main/java/io/netty/testsuite/transport/socket/DatagramUnicastInetTest.java.
Where is DatagramUnicastInetTest defined?
DatagramUnicastInetTest is defined in testsuite/src/main/java/io/netty/testsuite/transport/socket/DatagramUnicastInetTest.java at line 39.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free