testInboundOperationsViaContext() — netty Function Reference
Architecture documentation for the testInboundOperationsViaContext() function in DefaultChannelPipelineTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 731aa04d_219a_75c2_d8e9_f289c284e3c1["testInboundOperationsViaContext()"] 666d912b_4166_a807_ed10_ba12f328a7b2["DefaultChannelPipelineTest"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|defined in| 666d912b_4166_a807_ed10_ba12f328a7b2 36fce318_f10e_2b70_4def_d189ac0af1ed["execute()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 36fce318_f10e_2b70_4def_d189ac0af1ed b6b3177d_4a5d_4986_d686_72d74d60a0c4["executeInboundOperations()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| b6b3177d_4a5d_4986_d686_72d74d60a0c4 5fc622fb_5f4c_7d67_185e_c49b439ee8ee["channelRegistered()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 5fc622fb_5f4c_7d67_185e_c49b439ee8ee 1d452d01_3db6_52b5_379d_35d9b73113bd["channelUnregistered()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 1d452d01_3db6_52b5_379d_35d9b73113bd cd324eb4_5f6d_be7d_50c6_e253e4a9ddcb["channelActive()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| cd324eb4_5f6d_be7d_50c6_e253e4a9ddcb ed6bf91e_c899_ad72_f4a9_3f88ea91b5f7["channelInactive()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| ed6bf91e_c899_ad72_f4a9_3f88ea91b5f7 7ce79e8a_1c7e_9a47_a4ec_aca00c5cfa51["channelReadComplete()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 7ce79e8a_1c7e_9a47_a4ec_aca00c5cfa51 afbd06c7_8be6_8c80_6027_782a5a029487["userEventTriggered()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| afbd06c7_8be6_8c80_6027_782a5a029487 a6df567b_7520_5d98_9920_ea7e67935a9b["channelWritabilityChanged()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| a6df567b_7520_5d98_9920_ea7e67935a9b 76d0323d_6adb_0c4c_dee1_48f5476bd522["close()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 76d0323d_6adb_0c4c_dee1_48f5476bd522 d6664eb5_44ea_b3fe_a9be_c7a773dc8656["channelRead()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| d6664eb5_44ea_b3fe_a9be_c7a773dc8656 8c52b958_e400_144f_b4f2_e60153ac0d1a["exceptionCaught()"] 731aa04d_219a_75c2_d8e9_f289c284e3c1 -->|calls| 8c52b958_e400_144f_b4f2_e60153ac0d1a style 731aa04d_219a_75c2_d8e9_f289c284e3c1 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java lines 457–530
@ParameterizedTest
@ValueSource(booleans = {true, false})
public void testInboundOperationsViaContext(boolean inEventLoop) throws Exception {
ChannelPipeline pipeline = new LocalChannel().pipeline();
final ChannelHandler handler = new ChannelHandlerAdapter() { };
pipeline.addLast(handler);
group.register(pipeline.channel()).syncUninterruptibly();
final BlockingQueue<String> events = new LinkedBlockingQueue<>();
pipeline.addLast(new ChannelInboundHandlerAdapter() {
@Override
public void channelRegistered(ChannelHandlerContext ctx) {
events.add("channelRegistered");
}
@Override
public void channelUnregistered(ChannelHandlerContext ctx) {
events.add("channelUnregistered");
}
@Override
public void channelActive(ChannelHandlerContext ctx) {
events.add("channelActive");
}
@Override
public void channelInactive(ChannelHandlerContext ctx) {
events.add("channelInactive");
}
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
events.add("channelRead");
}
@Override
public void channelReadComplete(ChannelHandlerContext ctx) {
events.add("channelReadComplete");
}
@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) {
events.add("userEventTriggered");
}
@Override
public void channelWritabilityChanged(ChannelHandlerContext ctx) {
events.add("channelWritabilityChanged");
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
events.add("exceptionCaught");
}
});
final ChannelHandlerContext ctx = pipeline.context(handler);
if (inEventLoop) {
pipeline.channel().eventLoop().execute(() -> executeInboundOperations(ctx));
} else {
executeInboundOperations(ctx);
}
assertEquals("channelRegistered", events.take());
assertEquals("channelUnregistered", events.take());
assertEquals("channelActive", events.take());
assertEquals("channelInactive", events.take());
assertEquals("channelRead", events.take());
assertEquals("channelReadComplete", events.take());
assertEquals("userEventTriggered", events.take());
assertEquals("channelWritabilityChanged", events.take());
assertEquals("exceptionCaught", events.take());
assertTrue(events.isEmpty());
pipeline.removeLast();
pipeline.channel().close().syncUninterruptibly();
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does testInboundOperationsViaContext() do?
testInboundOperationsViaContext() is a function in the netty codebase, defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java.
Where is testInboundOperationsViaContext() defined?
testInboundOperationsViaContext() is defined in transport/src/test/java/io/netty/channel/DefaultChannelPipelineTest.java at line 457.
What does testInboundOperationsViaContext() call?
testInboundOperationsViaContext() calls 12 function(s): channelActive, channelInactive, channelRead, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, close, and 4 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free