OutboundEventHandler Class — netty Architecture
Architecture documentation for the OutboundEventHandler class in CombinedChannelDuplexHandlerTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 22b98a35_48d2_27a4_b6c2_3b5211afeaa9["OutboundEventHandler"] 07c2c57a_3d14_6ab0_bb11_fc10900c4006["CombinedChannelDuplexHandlerTest.java"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|defined in| 07c2c57a_3d14_6ab0_bb11_fc10900c4006 e36560c6_0caf_8969_0af6_c9601fba3167["handlerAdded()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| e36560c6_0caf_8969_0af6_c9601fba3167 f87e476a_b54f_1361_62f7_9fc403e856d2["handlerRemoved()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| f87e476a_b54f_1361_62f7_9fc403e856d2 96d4af81_a2b4_26db_45c9_e717d753bc7b["bind()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| 96d4af81_a2b4_26db_45c9_e717d753bc7b 9524403e_b4a7_5578_74ea_1eb43c3b6262["connect()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| 9524403e_b4a7_5578_74ea_1eb43c3b6262 081dc255_e8c9_ac4c_b66e_ddd00f07e206["disconnect()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| 081dc255_e8c9_ac4c_b66e_ddd00f07e206 685f57ed_729e_a9f6_b762_81412763289e["close()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| 685f57ed_729e_a9f6_b762_81412763289e fec32aa8_4bab_4285_138e_426f49e332fd["deregister()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| fec32aa8_4bab_4285_138e_426f49e332fd 73bbdbe6_7765_a5be_7711_de2299688379["read()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| 73bbdbe6_7765_a5be_7711_de2299688379 348467f5_ee94_ea82_e7b6_4e44a0f622ed["write()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| 348467f5_ee94_ea82_e7b6_4e44a0f622ed 57b29a34_9270_bfbb_b521_0a55cd6de021["flush()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| 57b29a34_9270_bfbb_b521_0a55cd6de021 0b5c5c9f_4075_25b1_c418_6ce24ca1ef31["Event()"] 22b98a35_48d2_27a4_b6c2_3b5211afeaa9 -->|method| 0b5c5c9f_4075_25b1_c418_6ce24ca1ef31
Relationship Graph
Source Code
transport/src/test/java/io/netty/channel/CombinedChannelDuplexHandlerTest.java lines 397–480
private static final class OutboundEventHandler extends ChannelOutboundHandlerAdapter {
private final Queue<Object> queue = new ArrayDeque<Object>();
@Override
public void handlerAdded(ChannelHandlerContext ctx) {
queue.add(Event.HANDLER_ADDED);
}
@Override
public void handlerRemoved(ChannelHandlerContext ctx) {
queue.add(Event.HANDLER_REMOVED);
}
@Override
public void bind(ChannelHandlerContext ctx, SocketAddress localAddress, ChannelPromise promise) {
try {
assertSame(LOCAL_ADDRESS, localAddress);
queue.add(Event.BIND);
promise.setSuccess();
} catch (AssertionError e) {
promise.setFailure(e);
}
}
@Override
public void connect(ChannelHandlerContext ctx, SocketAddress remoteAddress,
SocketAddress localAddress, ChannelPromise promise) {
try {
assertSame(REMOTE_ADDRESS, remoteAddress);
assertSame(LOCAL_ADDRESS, localAddress);
queue.add(Event.CONNECT);
promise.setSuccess();
} catch (AssertionError e) {
promise.setFailure(e);
}
}
@Override
public void disconnect(ChannelHandlerContext ctx, ChannelPromise promise) {
queue.add(Event.DISCONNECT);
promise.setSuccess();
}
@Override
public void close(ChannelHandlerContext ctx, ChannelPromise promise) {
queue.add(Event.CLOSE);
promise.setSuccess();
}
@Override
public void deregister(ChannelHandlerContext ctx, ChannelPromise promise) {
queue.add(Event.DEREGISTER);
promise.setSuccess();
}
@Override
public void read(ChannelHandlerContext ctx) {
queue.add(Event.READ);
}
@Override
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) {
try {
assertSame(MSG, msg);
queue.add(Event.WRITE);
promise.setSuccess();
} catch (AssertionError e) {
promise.setFailure(e);
}
}
@Override
public void flush(ChannelHandlerContext ctx) {
queue.add(Event.FLUSH);
}
Event pollEvent() {
Object o = queue.poll();
if (o instanceof AssertionError) {
throw (AssertionError) o;
}
Source
Frequently Asked Questions
What is the OutboundEventHandler class?
OutboundEventHandler is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/CombinedChannelDuplexHandlerTest.java.
Where is OutboundEventHandler defined?
OutboundEventHandler is defined in transport/src/test/java/io/netty/channel/CombinedChannelDuplexHandlerTest.java at line 397.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free