Netty源码阅读入门实战(六)-pipeline

1 pipeline概述


2 pipeline初始化





双向链表结构



看看其一个实现类

基本数据结构组件






3 添加ChannelHandler

先看看用户代码





















用户方自定义实现即可

6 outBound事件的传播



















同理以后的过程

7 异常的传播









对应 tail 为当前节点的情形

最佳实践
在最后定义异常处理器,否则默认是 tail 节点的警告打印信息
所有异常最终处理位置

8 pipeline总结



调用 pipeline 添加节点时,netty 会使用 instanceof 关键字判断当前节点是 inboound 还是 outbound 类型,分别用不同的 boolean 类型变量标识

inbound 事件类型顺序正相关
outbound 逆相关

异常处理器要么从 head 或者 tail 节点开始传播
inbound事件则从当前节点开始传递到最后节点
outbound事件则从当前节点开始传递 到第一个 outbound节点

猜你喜欢

转载自yq.aliyun.com/articles/704677