netty5/codec-http2/src/main/java/io/netty/handler/codec/http2/Http2UnknownFrame.java
Norman Maurer f904c63a53
Correctly let Http2UnkownFrame extend HttpStreamFrame and so be usable with Http2MultiplexCodec. (#7976)
Motivation:

This is a followup for #7860. In the fix for #7860 we only partly fixed the problem as Http2UnknownFrame did not correctly extend HttpStreamFrame and so only worked when using the Http2FrameCodec. We need to have it extend HttpStreamFrame as otherwise Http2MultiplexCodec will reject to handle it correctly.

Modifications:

- Let Http2UnknownFrame extend HttpStreamFrame
- Add unit tests for writing and reading Http2UnkownFrame instances when the Http2MultiplexCodec is used.

Result:

Fixes https://github.com/netty/netty/issues/7969.
2018-05-29 07:27:40 +02:00

59 lines
1.4 KiB
Java

/*
* Copyright 2017 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.http2;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufHolder;
import io.netty.util.internal.UnstableApi;
@UnstableApi
public interface Http2UnknownFrame extends Http2StreamFrame, ByteBufHolder {
@Override
Http2FrameStream stream();
@Override
Http2UnknownFrame stream(Http2FrameStream stream);
byte frameType();
Http2Flags flags();
@Override
Http2UnknownFrame copy();
@Override
Http2UnknownFrame duplicate();
@Override
Http2UnknownFrame retainedDuplicate();
@Override
Http2UnknownFrame replace(ByteBuf content);
@Override
Http2UnknownFrame retain();
@Override
Http2UnknownFrame retain(int increment);
@Override
Http2UnknownFrame touch();
@Override
Http2UnknownFrame touch(Object hint);
}