Netty-ServerBootstrapAcceptor源码分析

Netty-ServerBootstrapAcceptor源码分析_第1张图片
注册一个Acceptor事件处理器到mainReactor中,Acceptor事件处理器所关注的事件是ACCEPT事件,这样mainReactor会监听客户端向服务器端发起的连接请求事件(ACCEPT事件),Acceptor会将客户端的I/O事件分发到sub Reactor线程池,详见Reactor线程模型。

那Netty又是如何实现的呢?
在来看之前的服务端初始化分析中的init(channel):
Netty-ServerBootstrapAcceptor源码分析_第2张图片
ServerBootstrapAcceptor 继承了 ChannelInboundHandlerAdapter,所以本身也是一个特殊的handler。
在经过一系列的初始化及注册过程后,服务端此时已经启动了,每当有一个客户端连接进来后,会先进入到ServerBootstrapAcceptor的channelRead(ChannelHandlerContext ctx, Object msg)方法,具体如下:
Netty-ServerBootstrapAcceptor源码分析_第3张图片
继续往下执行。
Netty-ServerBootstrapAcceptor源码分析_第4张图片
跟进childGroup.register(child):
在这里插入图片描述
发现又进入到了MultithreadEventLoopGroup的register(channel)方法,去完成客户端连接channel的注册,详见channel注册过程。

你可能感兴趣的:(netty)