HeadContext Class — netty Architecture
Architecture documentation for the HeadContext class in DefaultChannelPipeline.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD d8d21a32_dd52_7b7d_f2bf_2f633af590ff["HeadContext"] c48eeee1_03a5_bd10_43c4_393bf83109a4["DefaultChannelPipeline.java"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|defined in| c48eeee1_03a5_bd10_43c4_393bf83109a4 2a426688_d2e7_d075_317c_8081064ce96c["HeadContext()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 2a426688_d2e7_d075_317c_8081064ce96c 707c93bb_e478_51d7_a51d_769082c6ea36["ChannelHandler()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 707c93bb_e478_51d7_a51d_769082c6ea36 51296ff9_abc0_33d2_5883_de61f348cf3a["handlerAdded()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 51296ff9_abc0_33d2_5883_de61f348cf3a 75485dc6_3299_5ac9_9e2b_40f236051150["handlerRemoved()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 75485dc6_3299_5ac9_9e2b_40f236051150 1282aa47_e498_a694_f9fa_0915f866e788["bind()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 1282aa47_e498_a694_f9fa_0915f866e788 89257c92_1d68_404b_0cf4_26f15f59fe09["connect()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 89257c92_1d68_404b_0cf4_26f15f59fe09 42ba6e4e_edbc_12ab_70c8_626b72bc6d08["disconnect()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 42ba6e4e_edbc_12ab_70c8_626b72bc6d08 1954817b_980b_ce5d_dc28_b461f1fc23f9["close()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 1954817b_980b_ce5d_dc28_b461f1fc23f9 8d027a91_6d4b_ebc3_0af9_93adb23d3a16["deregister()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 8d027a91_6d4b_ebc3_0af9_93adb23d3a16 841da92a_741e_282f_f2dd_c7c71089a3f5["read()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 841da92a_741e_282f_f2dd_c7c71089a3f5 d4b1c745_aafd_01fe_ece9_5d5d9e5e0862["write()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| d4b1c745_aafd_01fe_ece9_5d5d9e5e0862 c516d33e_6b36_7d05_8474_c1500cafe942["flush()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| c516d33e_6b36_7d05_8474_c1500cafe942 7257e27e_d8b5_0aa8_0500_9688019cc5e8["exceptionCaught()"] d8d21a32_dd52_7b7d_f2bf_2f633af590ff -->|method| 7257e27e_d8b5_0aa8_0500_9688019cc5e8
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java lines 1324–1454
final class HeadContext extends AbstractChannelHandlerContext
implements ChannelOutboundHandler, ChannelInboundHandler {
private final Unsafe unsafe;
HeadContext(DefaultChannelPipeline pipeline) {
super(pipeline, null, HEAD_NAME, HeadContext.class);
unsafe = pipeline.channel().unsafe();
setAddComplete();
}
@Override
public ChannelHandler handler() {
return this;
}
@Override
public void handlerAdded(ChannelHandlerContext ctx) {
// NOOP
}
@Override
public void handlerRemoved(ChannelHandlerContext ctx) {
// NOOP
}
@Override
public void bind(
ChannelHandlerContext ctx, SocketAddress localAddress, ChannelPromise promise) {
unsafe.bind(localAddress, promise);
}
@Override
public void connect(
ChannelHandlerContext ctx,
SocketAddress remoteAddress, SocketAddress localAddress,
ChannelPromise promise) {
unsafe.connect(remoteAddress, localAddress, promise);
}
@Override
public void disconnect(ChannelHandlerContext ctx, ChannelPromise promise) {
unsafe.disconnect(promise);
}
@Override
public void close(ChannelHandlerContext ctx, ChannelPromise promise) {
unsafe.close(promise);
}
@Override
public void deregister(ChannelHandlerContext ctx, ChannelPromise promise) {
unsafe.deregister(promise);
}
@Override
public void read(ChannelHandlerContext ctx) {
unsafe.beginRead();
}
@Override
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) {
unsafe.write(msg, promise);
}
@Override
public void flush(ChannelHandlerContext ctx) {
unsafe.flush();
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
ctx.fireExceptionCaught(cause);
}
@Override
public void channelRegistered(ChannelHandlerContext ctx) {
invokeHandlerAddedIfNeeded();
ctx.fireChannelRegistered();
}
Source
Frequently Asked Questions
What is the HeadContext class?
HeadContext is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java.
Where is HeadContext defined?
HeadContext is defined in transport/src/main/java/io/netty/channel/DefaultChannelPipeline.java at line 1324.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free