1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty.handler.codec.quic;
17
18 import io.netty.channel.ChannelFuture;
19 import io.netty.channel.ChannelFutureListener;
20 import io.netty.channel.ChannelProgressivePromise;
21 import io.netty.channel.ChannelPromise;
22 import io.netty.channel.socket.DuplexChannel;
23 import org.jetbrains.annotations.Nullable;
24
25 import java.net.SocketAddress;
26
27
28
29
30 public interface QuicStreamChannel extends DuplexChannel {
31
32
33
34
35
36 ChannelFutureListener SHUTDOWN_OUTPUT = f -> ((QuicStreamChannel) f.channel()).shutdownOutput();
37
38 @Override
39 default ChannelFuture bind(SocketAddress socketAddress) {
40 return pipeline().bind(socketAddress);
41 }
42
43 @Override
44 default ChannelFuture connect(SocketAddress remoteAddress) {
45 return pipeline().connect(remoteAddress);
46 }
47
48 @Override
49 default ChannelFuture connect(SocketAddress remoteAddress, SocketAddress localAddress) {
50 return pipeline().connect(remoteAddress, localAddress);
51 }
52
53 @Override
54 default ChannelFuture disconnect() {
55 return pipeline().disconnect();
56 }
57
58 @Override
59 default ChannelFuture close() {
60 return pipeline().close();
61 }
62
63 @Override
64 default ChannelFuture deregister() {
65 return pipeline().deregister();
66 }
67
68 @Override
69 default ChannelFuture bind(SocketAddress localAddress, ChannelPromise channelPromise) {
70 return pipeline().bind(localAddress, channelPromise);
71 }
72
73 @Override
74 default ChannelFuture connect(SocketAddress remoteAddress, ChannelPromise channelPromise) {
75 return pipeline().connect(remoteAddress, channelPromise);
76 }
77
78 @Override
79 default ChannelFuture connect(
80 SocketAddress remoteAddress, SocketAddress localAddress, ChannelPromise channelPromise) {
81 return pipeline().connect(remoteAddress, localAddress, channelPromise);
82 }
83
84 @Override
85 default ChannelFuture disconnect(ChannelPromise channelPromise) {
86 return pipeline().disconnect(channelPromise);
87 }
88
89 @Override
90 default ChannelFuture close(ChannelPromise channelPromise) {
91 return pipeline().close(channelPromise);
92 }
93
94 @Override
95 default ChannelFuture deregister(ChannelPromise channelPromise) {
96 return pipeline().deregister(channelPromise);
97 }
98
99 @Override
100 default ChannelFuture write(Object msg) {
101 return pipeline().write(msg);
102 }
103
104 @Override
105 default ChannelFuture write(Object msg, ChannelPromise channelPromise) {
106 return pipeline().write(msg, channelPromise);
107 }
108
109 @Override
110 default ChannelFuture writeAndFlush(Object msg, ChannelPromise channelPromise) {
111 return pipeline().writeAndFlush(msg, channelPromise);
112 }
113
114 @Override
115 default ChannelFuture writeAndFlush(Object msg) {
116 return pipeline().writeAndFlush(msg);
117 }
118
119 @Override
120 default ChannelPromise newPromise() {
121 return pipeline().newPromise();
122 }
123
124 @Override
125 default ChannelProgressivePromise newProgressivePromise() {
126 return pipeline().newProgressivePromise();
127 }
128
129 @Override
130 default ChannelFuture newSucceededFuture() {
131 return pipeline().newSucceededFuture();
132 }
133
134 @Override
135 default ChannelFuture newFailedFuture(Throwable cause) {
136 return pipeline().newFailedFuture(cause);
137 }
138
139 @Override
140 default ChannelPromise voidPromise() {
141 return pipeline().voidPromise();
142 }
143
144 @Override
145 default ChannelFuture shutdownInput() {
146 return shutdownInput(newPromise());
147 }
148
149 @Override
150 default ChannelFuture shutdownInput(ChannelPromise promise) {
151 return shutdownInput(0, promise);
152 }
153
154 @Override
155 default ChannelFuture shutdownOutput() {
156 return shutdownOutput(newPromise());
157 }
158
159 @Override
160 default ChannelFuture shutdown() {
161 return shutdown(newPromise());
162 }
163
164
165
166
167
168
169
170 default ChannelFuture shutdown(int error) {
171 return shutdown(error, newPromise());
172 }
173
174
175
176
177
178
179
180
181 ChannelFuture shutdown(int error, ChannelPromise promise);
182
183
184
185
186
187
188
189
190 default ChannelFuture shutdownInput(int error) {
191 return shutdownInput(error, newPromise());
192 }
193
194
195
196
197
198
199
200
201
202 ChannelFuture shutdownInput(int error, ChannelPromise promise);
203
204
205
206
207
208
209
210
211
212
213
214
215 default ChannelFuture shutdownOutput(int error) {
216 return shutdownOutput(error, newPromise());
217 }
218
219
220
221
222
223
224
225
226
227
228
229
230
231 ChannelFuture shutdownOutput(int error, ChannelPromise promise);
232
233 @Override
234 QuicStreamAddress localAddress();
235
236 @Override
237 QuicStreamAddress remoteAddress();
238
239
240
241
242
243
244 boolean isLocalCreated();
245
246
247
248
249
250
251 QuicStreamType type();
252
253
254
255
256
257
258 long streamId();
259
260
261
262
263
264
265
266 @Nullable
267 QuicStreamPriority priority();
268
269
270
271
272
273
274
275
276 default ChannelFuture updatePriority(QuicStreamPriority priority) {
277 return updatePriority(priority, newPromise());
278 }
279
280
281
282
283
284
285
286
287
288 ChannelFuture updatePriority(QuicStreamPriority priority, ChannelPromise promise);
289
290 @Override
291 QuicChannel parent();
292
293 @Override
294 QuicStreamChannel read();
295
296 @Override
297 QuicStreamChannel flush();
298
299 @Override
300 QuicStreamChannelConfig config();
301 }