《Netty》从零开始学netty源码(二十七)之ChannelPipeline.fireChannelRegistered与bind

fireChannelRegistered

当channel注册成功后调用fireChannelRegistered方法传播事件到添加进pipeline的handlers,handler收到信息后进行相应的处理,源码过程如下:

《Netty》从零开始学netty源码(二十七)之ChannelPipeline.fireChannelRegistered与bind_第1张图片

注册事件的传播方向是从head头结点开始向内传播,含有channelRegistered方法且该方法没有被@Skip注解的inbound handler会收到通知,HeadContext的源码如下:

《Netty》从零开始学netty源码(二十七)之ChannelPipeline.fireChannelRegistered与bind_第2张图片

bind

调用bind方法绑定端口,pipeline中含有bind方法且该方法没有被@Skip注解的outbound handlers逐一调用bind方法,最终在head节点调用unsafe方法进行端口绑定,unsafe中的bind方法可参考链接: 该系列文章之十八
《Netty》从零开始学netty源码(二十七)之ChannelPipeline.fireChannelRegistered与bind_第3张图片

你可能感兴趣的:(Netty,netty)