1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package io.netty5.handler.codec.http2;
16
17 import io.netty5.util.internal.UnstableApi;
18
19 import static java.util.Objects.requireNonNull;
20
21
22
23
24 @UnstableApi
25 public class DecoratingHttp2ConnectionEncoder extends DecoratingHttp2FrameWriter implements Http2ConnectionEncoder,
26 Http2SettingsReceivedConsumer {
27 private final Http2ConnectionEncoder delegate;
28
29 public DecoratingHttp2ConnectionEncoder(Http2ConnectionEncoder delegate) {
30 super(delegate);
31 this.delegate = requireNonNull(delegate, "delegate");
32 }
33
34 @Override
35 public void lifecycleManager(Http2LifecycleManager lifecycleManager) {
36 delegate.lifecycleManager(lifecycleManager);
37 }
38
39 @Override
40 public Http2Connection connection() {
41 return delegate.connection();
42 }
43
44 @Override
45 public Http2RemoteFlowController flowController() {
46 return delegate.flowController();
47 }
48
49 @Override
50 public Http2FrameWriter frameWriter() {
51 return delegate.frameWriter();
52 }
53
54 @Override
55 public Http2Settings pollSentSettings() {
56 return delegate.pollSentSettings();
57 }
58
59 @Override
60 public void remoteSettings(Http2Settings settings) throws Http2Exception {
61 delegate.remoteSettings(settings);
62 }
63
64 @Override
65 public void consumeReceivedSettings(Http2Settings settings) {
66 if (delegate instanceof Http2SettingsReceivedConsumer) {
67 ((Http2SettingsReceivedConsumer) delegate).consumeReceivedSettings(settings);
68 } else {
69 throw new IllegalStateException("delegate " + delegate + " is not an instance of " +
70 Http2SettingsReceivedConsumer.class);
71 }
72 }
73 }