Netty学习:ChannelInboundInvoker

本文详细解析了Netty框架中Channel的各种生命周期事件,包括注册、注销、激活、失活等状态变化,以及读取、异常捕获和用户事件触发等关键操作。深入探讨了这些事件如何触发ChannelInboundHandler接口的相应方法。

 ChannelInboundInvoker fireChannelRegistered();一个{@link Channel}注册到它的{@link EventLoop}。这将导致{@link ChannelInboundHandler#channelRegistered(ChannelHandlerContext)}方法被调用,该方法调用的下一个{@link ChannelInboundHandler}包含在{@link Channel elpipeline}的{@link Channel}中。

 ChannelInboundInvoker fireChannelUnregistered();一个{@link Channel} 从它的{@link EventLoop}中注销。这将导致{@link ChannelInboundHandler#channelUnregistered(ChannelHandlerContext)}方法被调用,该方法调用的下一个{@link ChannelInboundHandler}包含在{@link Channel elpipeline}的{@link Channel}中。

ChannelInboundInvoker fireChannelActive();一个{@link Channel}现在是活动的,这意味着它已经连接。这将导致{@link ChannelInboundHandler#channelActive(ChannelHandlerContext)}方法被调用,该方法调用的下一个{@link ChannelInboundHandler}包含在{@link Channel elpipeline}的{@link Channel}中。

ChannelInboundInvoker fireChannelInactive();一个{@link Channel}现在是不活动的,这意味着它是关闭的。这将导致在{@link Channel}的{@link ChannelPipeline}中包含下一个{@link ChannelInboundHandler}的{@link channelInactive(ChannelHandlerContext)}方法被调用。

ChannelInboundInvoker fireExceptionCaught(Throwable cause);在其入站操作之一中, {@link Channel} 接收到{@link Throwable}这意味着它已经连接。这将导致{@link ChannelInboundHandler#exceptionCaught(ChannelHandlerContext)}方法被调用,该方法调用的下一个{@link ChannelInboundHandler}包含在{@link Channel elpipeline}的{@link Channel}中。

ChannelInboundInvoker fireUserEventTriggered(Object event);一个{@link Channel} 接收到一个用户定义的事件。这将导致{@link ChannelInboundHandler#userEventTriggered(ChannelHandlerContext)}方法被调用,该方法调用的下一个{@link ChannelInboundHandler}包含在{@link Channel elpipeline}的{@link Channel}中。

ChannelInboundInvoker fireChannelRead(Object msg);一个{@link Channel}接收到一条消息。这将导致{@link ChannelInboundHandler#channelRead(ChannelHandlerContext)}方法被调用,该方法调用的下一个{@link ChannelInboundHandler}包含在{@link Channel elpipeline}的{@link Channel}中。

ChannelInboundInvoker fireChannelReadComplete();触发{@link ChannelInboundHandler#channelReadComplete(ChannelHandlerContext)}事件到{@link ChannelInboundHandler}中的下一个{@link ChannelPipeline}。

ChannelInboundInvoker fireChannelWritabilityChanged();触发{@link ChannelInboundHandler#channelWritabilityChanged(ChannelHandlerContext)}事件到{@link ChannelInboundHandler}中的下一个{@link ChannelPipeline}。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值