63、Netty源码分析:ServerBootstrapAcceptor

ServerBootstrapAcceptor

前面初始化channel的过程中向pipeline中添加了一个channelHandler,即ServerBootstrapAcceptor,它的作用主要是将worker组的channel进行注册,它的数据结构如下:

*

它的属性主要是通过ServerBootstrap启动类设置的,它的方法主要是channelRead()方法,其过程如下:
*

1、 在第五十八篇中,当EventLoop检测到READ事件时会调用channel的unsafe进行read操作,通过第二十一篇可知会将信息封装成NioSocketChannel并通过pipeline的fireChannelRead方法传播到pipeline中的handler中,在第五十七篇中介绍的init()方法可知在初始化boss线程组的channel的时候添加了一个ServerBootstrapAcceptor,所以channelRead方法也会被执行;
2、 向worker组的channel添加pipeline的handler;
3、ServerBootstrap.childOption()方法添加的options设置到channel中;
4、ServerBootstrap.childAttr()方法添加的attributes设置到channel中;
5、 注册channel,注册成功后开始监听该channel的消息;

至此,ServerBootstrapAcceptor的分析至此结束,感谢阅读。
*

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: