diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyControlFrame.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyControlFrame.java new file mode 100644 index 0000000000..2a7cf729c1 --- /dev/null +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyControlFrame.java @@ -0,0 +1,23 @@ +/* + * Copyright 2012 The Netty Project + * + * The Netty Project licenses this file to you under the Apache License, + * version 2.0 (the "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ +package io.netty.handler.codec.spdy; + +/** + * A SPDY Protocol Control Frame + */ +public interface SpdyControlFrame { + // Tag interface +} diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyFrameEncoder.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyFrameEncoder.java index 4f2bfbb44e..350a12f20f 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyFrameEncoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyFrameEncoder.java @@ -75,17 +75,7 @@ public class SpdyFrameEncoder extends MessageToByteEncoder { @Override public boolean isEncodable(Object msg) throws Exception { - // FIXME: Introduce supertype - return msg instanceof SpdyDataFrame || - msg instanceof SpdySynStreamFrame || - msg instanceof SpdySynReplyFrame || - msg instanceof SpdyRstStreamFrame || - msg instanceof SpdySettingsFrame || - msg instanceof SpdyNoOpFrame || - msg instanceof SpdyPingFrame || - msg instanceof SpdyGoAwayFrame || - msg instanceof SpdyHeadersFrame || - msg instanceof SpdyWindowUpdateFrame; + return msg instanceof SpdyDataFrame || msg instanceof SpdyControlFrame; } @Override diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyGoAwayFrame.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyGoAwayFrame.java index 2fc1de4791..ebc2a82bcc 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyGoAwayFrame.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyGoAwayFrame.java @@ -18,7 +18,7 @@ package io.netty.handler.codec.spdy; /** * A SPDY Protocol GOAWAY Control Frame */ -public interface SpdyGoAwayFrame { +public interface SpdyGoAwayFrame extends SpdyControlFrame { /** * Returns the Last-good-stream-ID of this frame. diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHeadersFrame.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHeadersFrame.java index 43ca4f289c..c0d53ad4b7 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHeadersFrame.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyHeadersFrame.java @@ -18,7 +18,7 @@ package io.netty.handler.codec.spdy; /** * A SPDY Protocol HEADERS Control Frame */ -public interface SpdyHeadersFrame extends SpdyHeaderBlock { +public interface SpdyHeadersFrame extends SpdyHeaderBlock, SpdyControlFrame { /** * Returns the Stream-ID of this frame. diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyNoOpFrame.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyNoOpFrame.java index 54592c41cb..31b6e11a0b 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyNoOpFrame.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyNoOpFrame.java @@ -18,6 +18,6 @@ package io.netty.handler.codec.spdy; /** * A SPDY Protocol NOOP Control Frame */ -public interface SpdyNoOpFrame { +public interface SpdyNoOpFrame extends SpdyControlFrame { // Tag interface } diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyPingFrame.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyPingFrame.java index 4387732bb2..8a97479ed9 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyPingFrame.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyPingFrame.java @@ -18,7 +18,7 @@ package io.netty.handler.codec.spdy; /** * A SPDY Protocol PING Control Frame */ -public interface SpdyPingFrame { +public interface SpdyPingFrame extends SpdyControlFrame { /** * Returns the ID of this frame. diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyRstStreamFrame.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyRstStreamFrame.java index 03dfbcd447..4296d72df4 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyRstStreamFrame.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyRstStreamFrame.java @@ -18,7 +18,7 @@ package io.netty.handler.codec.spdy; /** * A SPDY Protocol RST_STREAM Control Frame */ -public interface SpdyRstStreamFrame { +public interface SpdyRstStreamFrame extends SpdyControlFrame { /** * Returns the Stream-ID of this frame. diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySettingsFrame.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySettingsFrame.java index 1f41e4b0fc..47e1d7b062 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySettingsFrame.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySettingsFrame.java @@ -20,7 +20,7 @@ import java.util.Set; /** * A SPDY Protocol SETTINGS Control Frame */ -public interface SpdySettingsFrame { +public interface SpdySettingsFrame extends SpdyControlFrame { int SETTINGS_UPLOAD_BANDWIDTH = 1; int SETTINGS_DOWNLOAD_BANDWIDTH = 2; diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySynReplyFrame.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySynReplyFrame.java index 72f4017c01..c78a3ab0d8 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySynReplyFrame.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySynReplyFrame.java @@ -18,7 +18,7 @@ package io.netty.handler.codec.spdy; /** * A SPDY Protocol SYN_REPLY Control Frame */ -public interface SpdySynReplyFrame extends SpdyHeaderBlock { +public interface SpdySynReplyFrame extends SpdyHeaderBlock, SpdyControlFrame { /** * Returns the Stream-ID of this frame. diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySynStreamFrame.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySynStreamFrame.java index 82282b86ab..e670a0780b 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySynStreamFrame.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySynStreamFrame.java @@ -18,7 +18,7 @@ package io.netty.handler.codec.spdy; /** * A SPDY Protocol SYN_STREAM Control Frame */ -public interface SpdySynStreamFrame extends SpdyHeaderBlock { +public interface SpdySynStreamFrame extends SpdyHeaderBlock, SpdyControlFrame { /** * Returns the Stream-ID of this frame. diff --git a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyWindowUpdateFrame.java b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyWindowUpdateFrame.java index 5e5fd7034f..d0fea74fdf 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyWindowUpdateFrame.java +++ b/codec-http/src/main/java/io/netty/handler/codec/spdy/SpdyWindowUpdateFrame.java @@ -18,7 +18,7 @@ package io.netty.handler.codec.spdy; /** * A SPDY Protocol WINDOW_UPDATE Control Frame */ -public interface SpdyWindowUpdateFrame { +public interface SpdyWindowUpdateFrame extends SpdyControlFrame { /** * Returns the Stream-ID of this frame.