BufferedTestHandler Class — netty Architecture
Architecture documentation for the BufferedTestHandler class in DefaultChannelPipelineTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 97ab035f_81f5_b0bc_4aa5_364edb78b510["BufferedTestHandler"] ded22145_bbcf_15a1_69b7_30cac8d4be02["DefaultChannelPipelineTest.java"] 97ab035f_81f5_b0bc_4aa5_364edb78b510 -->|defined in| ded22145_bbcf_15a1_69b7_30cac8d4be02 417463d2_5106_e33a_c196_293e5a9a3358["write()"] 97ab035f_81f5_b0bc_4aa5_364edb78b510 -->|method| 417463d2_5106_e33a_c196_293e5a9a3358 7d4169d7_9181_99e1_87ea_6f9f43a87299["channelRead()"] 97ab035f_81f5_b0bc_4aa5_364edb78b510 -->|method| 7d4169d7_9181_99e1_87ea_6f9f43a87299 ac3a6375_8af0_d92c_2aa8_38d2de6af30d["handlerRemoved()"] 97ab035f_81f5_b0bc_4aa5_364edb78b510 -->|method| ac3a6375_8af0_d92c_2aa8_38d2de6af30d
Relationship Graph
Source Code
transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java lines 2454–2483
private static class BufferedTestHandler extends ChannelDuplexHandler {
final Queue<Object> inboundBuffer = new ArrayDeque<Object>();
final Queue<Object> outboundBuffer = new ArrayDeque<Object>();
@Override
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception {
outboundBuffer.add(msg);
}
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
inboundBuffer.add(msg);
}
@Override
public void handlerRemoved(ChannelHandlerContext ctx) throws Exception {
if (!inboundBuffer.isEmpty()) {
for (Object o: inboundBuffer) {
ctx.fireChannelRead(o);
}
ctx.fireChannelReadComplete();
}
if (!outboundBuffer.isEmpty()) {
for (Object o: outboundBuffer) {
ctx.write(o);
}
ctx.flush();
}
}
}
Source
Frequently Asked Questions
What is the BufferedTestHandler class?
BufferedTestHandler is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java.
Where is BufferedTestHandler defined?
BufferedTestHandler is defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java at line 2454.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free