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.netty.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 ChannelInboundHandler#channelRegistered(ChannelHandlerContext)} method
24 * called of the next {@link ChannelInboundHandler} 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 ChannelInboundHandler#channelUnregistered(ChannelHandlerContext)} method
33 * called of the next {@link ChannelInboundHandler} 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 ChannelInboundHandler#channelActive(ChannelHandlerContext)} method
42 * called of the next {@link ChannelInboundHandler} 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 ChannelInboundHandler#channelInactive(ChannelHandlerContext)} method
51 * called of the next {@link ChannelInboundHandler} contained in the {@link ChannelPipeline} of the
52 * {@link Channel}.
53 */
54 ChannelInboundInvoker fireChannelInactive();
55
56 /**
57 * A {@link Channel} received an {@link Throwable} in one of its inbound operations.
58 *
59 * This will result in having the {@link ChannelInboundHandler#exceptionCaught(ChannelHandlerContext, Throwable)}
60 * method called of the next {@link ChannelInboundHandler} contained in the {@link ChannelPipeline} of the
61 * {@link Channel}.
62 */
63 ChannelInboundInvoker fireExceptionCaught(Throwable cause);
64
65 /**
66 * A {@link Channel} received an user defined event.
67 *
68 * This will result in having the {@link ChannelInboundHandler#userEventTriggered(ChannelHandlerContext, Object)}
69 * method called of the next {@link ChannelInboundHandler} contained in the {@link ChannelPipeline} of the
70 * {@link Channel}.
71 */
72 ChannelInboundInvoker fireUserEventTriggered(Object event);
73
74 /**
75 * A {@link Channel} received a message.
76 *
77 * This will result in having the {@link ChannelInboundHandler#channelRead(ChannelHandlerContext, Object)}
78 * method called of the next {@link ChannelInboundHandler} contained in the {@link ChannelPipeline} of the
79 * {@link Channel}.
80 */
81 ChannelInboundInvoker fireChannelRead(Object msg);
82
83 /**
84 * Triggers an {@link ChannelInboundHandler#channelReadComplete(ChannelHandlerContext)}
85 * event to the next {@link ChannelInboundHandler} in the {@link ChannelPipeline}.
86 */
87 ChannelInboundInvoker fireChannelReadComplete();
88
89 /**
90 * Triggers an {@link ChannelInboundHandler#channelWritabilityChanged(ChannelHandlerContext)}
91 * event to the next {@link ChannelInboundHandler} in the {@link ChannelPipeline}.
92 */
93 ChannelInboundInvoker fireChannelWritabilityChanged();
94 }