ServerBootstrapAcceptor
前面初始化channel的过程中向pipeline中添加了一个channelHandler,即ServerBootstrapAcceptor,它的作用主要是将worker组的channel进行注册,它的数据结构如下:
它的属性主要是通过ServerBootstrap启动类设置的,它的方法主要是channelRead()
方法,其过程如下:文章来源:https://www.toymoban.com/news/detail-449875.html
- 在第五十八篇中,当EventLoop检测到
READ
事件时会调用channel的unsafe进行read操作,通过第二十一篇可知会将信息封装成NioSocketChannel并通过pipeline的fireChannelRead
方法传播到pipeline中的handler中,在第五十七篇中介绍的init()
方法可知在初始化boss线程组的channel的时候添加了一个ServerBootstrapAcceptor,所以channelRead
方法也会被执行 - 向worker组的channel添加pipeline的handler
- 将
ServerBootstrap.childOption()
方法添加的options设置到channel中 - 将
ServerBootstrap.childAttr()
方法添加的attributes设置到channel中 - 注册channel,注册成功后开始监听该channel的消息
至此,ServerBootstrapAcceptor的分析至此结束,感谢阅读。
文章来源地址https://www.toymoban.com/news/detail-449875.html
到了这里,关于《Netty》从零开始学netty源码(五十九)之ServerBootstrapAcceptor的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!