netty:pipeline的执行顺序

假设pipeline里面有这样的handler顺序

OutBoundHandler1
InBoundHandler1
OutBoundHandler2
InBoundHandler2
  • 当在【InBoundHandler1】里面执行【ctx.write()】时
    • 向上执行触发【OutBoundHandler1.write()】方法
    • 由于【OutBoundHandler2】在【InBoundHandler1】的下面,所以【OutBoundHandler1.write()】不会执行
  • 当在【InBoundHandler1】里面执行【ctx.fireChannelRead()】时
    • 先执行【in】再执行【out】,所以【InBoundHandler2.channelRead0()】会比【OutBoundHandler1、OutBoundHandler2】的【read()】先执行
    • 向下执行,所以【InBoundHandler2.channelRead0()】会被触发。
    • 执行完【in】之后,开始执行【out】,【OutBoundHandler2】在【OutBoundHandler1】的下面,所以【OutBoundHandler2.read()】先执行
    • 最后执行【OutBoundHandler1.read()】
  • 当在【InBoundHandler2】里面执行【ctx.fireChannelRead()】时
    • 由于【InBoundHandler1】在【InBoundHandler2】的前面,所以不执行
    • 执行【OutBoundHandler2.read()】
    • 再执行【OutBoundHandler1.read()】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A圳技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值