Channel的注册流程分析

AbstractBootStrap类的initAndRegister()方法中,先进行对Channel的初始化,在初始化过程结束之后,会执行Channel的注册流程逻辑。如下图:
在这里插入图片描在这里插入图片描述述
上图所示源码中,ChannelFuture regFuture = config().group().register(channel);执行Channel注册到EventLoop 上的流程。

1. config()方法

先看该行代码中的第一个方法config()
在这里插入图片描述
该方法是一个抽象方法,返回的是AbstractBootstrapConfig类,它可以获取到bootstrap的当前配置。该抽象方法在AbstractBootstrapConfig的子类BootstrapServerBootstrap中实现。这里着重看一下ServerBootStrap中的实现:
在这里插入图片描述
返回了一个成员变量config,在这里插入图片描述
是一个ServerBootstrapConfig类,该类包含了ServerBootstrap的所有配置。

2.group()方法

在这里插入图片描述
该方法返回一个已经配置的EventLoopGroup类,如果还未配置,则返回null

3.register(Channel channel)方法

在这里插入图片描述
在该EventLoop方法上注册一个Channel,注册完成后,返回的ChannelFuture将收到通知。因为NioEventLoopGroup继承了MultiThreadEventLoopGroup,所以在使用NioEventLoopGroup进行编程时,框架内部调用的是MultiThreadEventLoopGr

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值