1 /* 2 * Copyright 2016 The Netty Project 3 * 4 * The Netty Project licenses this file to you under the Apache License, 5 * version 2.0 (the "License"); you may not use this file except in compliance 6 * with the License. You may obtain a copy of the License at: 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations 14 * under the License. 15 */ 16 package io.netty5.channel; 17 18 public interface ChannelInboundInvoker { 19 20 /** 21 * A {@link Channel} was registered to its {@link EventLoop}. 22 * 23 * This will result in having the {@link ChannelHandler#channelRegistered(ChannelHandlerContext)} method 24 * called of the next {@link ChannelHandler} contained in the {@link ChannelPipeline} of the 25 * {@link Channel}. 26 */ 27 ChannelInboundInvoker fireChannelRegistered(); 28 29 /** 30 * A {@link Channel} was unregistered from its {@link EventLoop}. 31 * 32 * This will result in having the {@link ChannelHandler#channelUnregistered(ChannelHandlerContext)} method 33 * called of the next {@link ChannelHandler} contained in the {@link ChannelPipeline} of the 34 * {@link Channel}. 35 */ 36 ChannelInboundInvoker fireChannelUnregistered(); 37 38 /** 39 * A {@link Channel} is active now, which means it is connected. 40 * 41 * This will result in having the {@link ChannelHandler#channelActive(ChannelHandlerContext)} method 42 * called of the next {@link ChannelHandler} contained in the {@link ChannelPipeline} of the 43 * {@link Channel}. 44 */ 45 ChannelInboundInvoker fireChannelActive(); 46 47 /** 48 * A {@link Channel} is inactive now, which means it is closed. 49 * 50 * This will result in having the {@link ChannelHandler#channelInactive(ChannelHandlerContext)} method 51 * called of the next {@link ChannelHandler} contained in the {@link ChannelPipeline} of the 52 * {@link Channel}. 53 */ 54 ChannelInboundInvoker fireChannelInactive(); 55 56 /** 57 * A {@link Channel} was shutdown in a specific direction. 58 * 59 * This will result in having the 60 * {@link ChannelHandler#channelShutdown(ChannelHandlerContext, ChannelShutdownDirection)} method 61 * called of the next {@link ChannelHandler} contained in the {@link ChannelPipeline} of the 62 * {@link Channel}. 63 */ 64 ChannelInboundInvoker fireChannelShutdown(ChannelShutdownDirection direction); 65 66 /** 67 * A {@link Channel} received an {@link Throwable} in one of its inbound operations. 68 * 69 * This will result in having the {@link ChannelHandler#channelExceptionCaught(ChannelHandlerContext, Throwable)} 70 * method called of the next {@link ChannelHandler} contained in the {@link ChannelPipeline} of the 71 * {@link Channel}. 72 */ 73 ChannelInboundInvoker fireChannelExceptionCaught(Throwable cause); 74 75 /** 76 * A {@link Channel} received a custom defined inbound event. 77 * 78 * This will result in having the {@link ChannelHandler#channelInboundEvent(ChannelHandlerContext, Object)} 79 * method called of the next {@link ChannelHandler} contained in the {@link ChannelPipeline} of the 80 * {@link Channel}. 81 */ 82 ChannelInboundInvoker fireChannelInboundEvent(Object event); 83 84 /** 85 * A {@link Channel} received a message. 86 * 87 * This will result in having the {@link ChannelHandler#channelRead(ChannelHandlerContext, Object)} 88 * method called of the next {@link ChannelHandler} contained in the {@link ChannelPipeline} of the 89 * {@link Channel}. 90 */ 91 ChannelInboundInvoker fireChannelRead(Object msg); 92 93 /** 94 * Triggers an {@link ChannelHandler#channelReadComplete(ChannelHandlerContext)} 95 * event to the next {@link ChannelHandler} in the {@link ChannelPipeline}. 96 */ 97 ChannelInboundInvoker fireChannelReadComplete(); 98 99 /** 100 * Triggers an {@link ChannelHandler#channelWritabilityChanged(ChannelHandlerContext)} 101 * event to the next {@link ChannelHandler} in the {@link ChannelPipeline}. 102 */ 103 ChannelInboundInvoker fireChannelWritabilityChanged(); 104 }