Unsafe的bind
方法将channel绑定到指定的端口,绑定成功后触发ChannelActive事件,添加到channel的pipeline的handler接收到通知后进行相应的处理。整体流程如下:
具体的源码如下:
ChannelPromise.setUncancellable
将Promise的结果设置为UNCANCELLABLE。
ensureOpen
确保channel此时已经打开。
doBind
javaChannel()
方法返回的是java原生的channel,调用其bind方法绑定端口。
fireChannelActive
当channel绑定端口成功后注册ChannelActive事件,也就是提交到EventLoop中等待执行。
ChannelPromise.trySuccess
将channel的Promise设置为SUCCESS状态。
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: