ReadPendingReadHandler Class — netty Architecture
Architecture documentation for the ReadPendingReadHandler class in SocketReadPendingTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 00d52333_e28a_6b86_2f8d_d39fad2221de["ReadPendingReadHandler"] 0a9d5e8f_8342_91e5_cfc3_dc36989130d7["SocketReadPendingTest.java"] 00d52333_e28a_6b86_2f8d_d39fad2221de -->|defined in| 0a9d5e8f_8342_91e5_cfc3_dc36989130d7 7bff7e8a_fa1a_b63f_106f_b4b429434707["channelRead()"] 00d52333_e28a_6b86_2f8d_d39fad2221de -->|method| 7bff7e8a_fa1a_b63f_106f_b4b429434707 f1f268f5_c300_be44_6691_5309867aa8b8["channelReadComplete()"] 00d52333_e28a_6b86_2f8d_d39fad2221de -->|method| f1f268f5_c300_be44_6691_5309867aa8b8 1a9bb64e_0325_4590_6ff4_400a58483593["assertAllRead()"] 00d52333_e28a_6b86_2f8d_d39fad2221de -->|method| 1a9bb64e_0325_4590_6ff4_400a58483593
Relationship Graph
Source Code
testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketReadPendingTest.java lines 113–139
private static final class ReadPendingReadHandler extends ChannelInboundHandlerAdapter {
private final AtomicInteger count = new AtomicInteger();
private final CountDownLatch latch = new CountDownLatch(1);
private final CountDownLatch latch2 = new CountDownLatch(2);
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
ReferenceCountUtil.release(msg);
if (count.incrementAndGet() == 1) {
// Call read the first time, to ensure it is not reset the second time.
ctx.read();
}
}
@Override
public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {
latch.countDown();
latch2.countDown();
}
void assertAllRead() throws InterruptedException {
assertTrue(latch.await(5, TimeUnit.SECONDS));
// We should only do 1 read loop, because we only called read() on the first channelRead.
assertFalse(latch2.await(1, TimeUnit.SECONDS));
assertEquals(2, count.get());
}
}
Source
Frequently Asked Questions
What is the ReadPendingReadHandler class?
ReadPendingReadHandler is a class in the netty codebase, defined in testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketReadPendingTest.java.
Where is ReadPendingReadHandler defined?
ReadPendingReadHandler is defined in testsuite/src/main/java/io/netty/testsuite/transport/socket/SocketReadPendingTest.java at line 113.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free