注册一个Acceptor事件处理器到mainReactor中,Acceptor事件处理器所关注的事件是ACCEPT事件,这样mainReactor会监听客户端向服务器端发起的连接请求事件(ACCEPT事件),Acceptor会将客户端的I/O事件分发到sub Reactor线程池,详见Reactor线程模型。
那Netty又是如何实现的呢?
在来看之前的服务端初始化分析中的init(channel):
ServerBootstrapAcceptor 继承了 ChannelInboundHandlerAdapter,所以本身也是一个特殊的handler。
在经过一系列的初始化及注册过程后,服务端此时已经启动了,每当有一个客户端连接进来后,会先进入到ServerBootstrapAcceptor的channelRead(ChannelHandlerContext ctx, Object msg)方法,具体如下:
继续往下执行。
跟进childGroup.register(child):