Netty学习:ChannelHandlerContext及基实现类AbstractChannelHandlerContext

本文详细介绍了Netty中的ChannelHandlerContext,它用于ChannelHandler与其ChannelPipeline交互,包括通知、修改pipeline、检索上下文以及存储状态信息。内容涵盖通知机制、动态修改pipeline、存储状态信息的AttributeKey使用,以及一个FactorialHandler示例,展示了同一个处理程序实例在不同上下文中的应用。
摘要由CSDN通过智能技术生成

 ChannelHandlerContext

允许{@link ChannelHandler}与其{@link ChannelPipeline}和其他处理程序交互。处理程序可以通知{@link ChannelPipeline}中的下一个{@link ChannelHandler},还可以动态修改它所属的{@link ChannelPipeline}。

通知

通过调用这里提供的各种方法之一,您可以在同一个{@link ChannelPipeline}中通知最近的处理程序。请参考{@link ChannelPipeline}了解事件是如何流动的。

修改pipeline

您可以通过调用{@link #pipeline()}来获得处理程序所属的{@link ChannelPipeline}。一个重要的应用程序可以在运行时动态地在管道中插入、删除或替换处理程序。

检索以便以后使用

您可以保留{@link ChannelHandlerContext}供以后使用,例如在处理程序方法之外触发事件,甚至从不同的线程触发事件。

 * public class MyHandler extends {@link ChannelDuplexHandler} {
 *
 *     <b>private {@link ChannelHandlerContext} ctx;</b>
 *
 *     public void beforeAdd({@link ChannelHandlerCon

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值