重新开始---sgg-netty----请求过程的源码--10-2

如何把channel注册到workerGroup里面。

一个线程一个NioEventLoop,一个select,多个Nio(Server)SocketChannel。

每个Nio(Server)SocketChannel,一个pipeLine,一个TaskQueue,多个handler放在pipline里面。

主从reactor,主react只是监听连接,有连接来了,就封装为一个NioSocketChannel,注册到从react一个线程的selector上面。

从reactor的一个线程开始轮询监听读写消息。把handler放在pipline里面。一个线程有很多的handler。

如何找源码:

--------------------------------------------------------------------------------------------------------------------------------------------------------

这个是16说明有读的操作的。

这段代码的作用:


 

看下这个做了什么事情。

可以看到包装为nioSocketChannel加入到buffer里面去了。

继续执行:

一直追进入这个方法:

这里把channel注册到worker线程池中。

发到哪一个会有算法的

总结:

----------------------------------------95-------------------------------------------

继续,看下register。

一直进去可知,在执行器数组返回一个执行器。

进入register

进入真正的register0

-----------------------------------------96-------------------------------------------

梳理:

-----------------------------------------97-------------------------------------------

pipline剖析代码:https://www.cnblogs.com/stateis0/p/9062148.html

关系表:

接口设计:

可以看到有很多方法:

---

看下一个方法:

---

------------------------------------------98-------------------------------------------

ChannelHandler源码分析

-------------------------------------------99-------------------------------------------

channelHandlerContext

看下:

pipline是在这里面产生的。

有了

流程:

---

-------------------------------------------100-----------------------------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值