Package com.linkedin.alpini.netty4.misc
Class Http2Utils
- java.lang.Object
-
- com.linkedin.alpini.netty4.misc.Http2Utils
-
public final class Http2Utils extends java.lang.ObjectHTTP/2 utility methods.
-
-
Field Summary
Fields Modifier and Type Field Description static io.netty.util.AttributeKey<java.util.concurrent.CompletableFuture<io.netty.handler.codec.http2.Http2FrameStream>>FRAME_STREAM_KEYstatic java.lang.StringMAXIMUM_ACTIVE_STREAMS_VIOLATED_MSG
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static booleancanOpenLocalStream(io.netty.channel.Channel parentChannel)Checks if the local HTTP/2 endpoint can open a new stream.static booleanchannelAvailableForReuse(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)Checks if a stream channel is currently available for reuse.static voidcloseStreamChannel(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)static java.util.concurrent.Future<io.netty.handler.codec.http2.Http2FrameStream>frameStream(io.netty.util.AttributeMap map)static io.netty.handler.codec.http2.Http2Connectionhttp2Connection(io.netty.channel.Channel parentChannel)static io.netty.handler.codec.http2.Http2ChannelDuplexHandlerhttp2MultiplexHandler(boolean channelReuse, io.netty.channel.ChannelPipeline pipeline)static booleanisConfiguredHttp2Connection(io.netty.channel.Channel parentChannel)Check whether the channel is a http2 connection that has been configured.static booleanisHttp2MultiplexPipeline(boolean channelReuse, io.netty.channel.ChannelPipeline pipeline)static booleanisHttp2ParentChannelPipeline(io.netty.channel.ChannelPipeline pipeline)static booleanisHttp2Pipeline(io.netty.channel.ChannelPipeline pipeline)Deprecated.static booleanisReusedChannel(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)Checks if a stream channel is a previously reused channel.static booleanisTooManyActiveStreamsError(java.lang.Throwable t)Checks if an exception is thrown because of too many active streams.static booleanisUnexpectedError(long errorCode, boolean fromRemote)static booleanisUnexpectedError(io.netty.handler.codec.http2.Http2Error errorEnum)static booleanisUnexpectedError(io.netty.handler.codec.http2.Http2Error errorEnum, boolean fromRemote)Returns true, if the enum is a known error or unknown error code.static io.netty.handler.codec.http2.Http2Connection.Endpoint<io.netty.handler.codec.http2.Http2LocalFlowController>localEndpoint(io.netty.channel.Channel parentChannel)static voidmarkChannelAvailableForReuse(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)static voidmarkChannelForReuse(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)Mark a stream to indicate that it will be reused.static voidsetFrameStream(io.netty.util.AttributeMap map, io.netty.handler.codec.http2.Http2FrameStream frameStream)static io.netty.handler.codec.http2.Http2ExceptiontooManyStreamsException(java.lang.String msg)Creates anHttp2Exceptionfor having too many concurrent requests.static voidunmarkReusedStream(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)Unmark a stream channel to indicate that reuse is completed.
-
-
-
Field Detail
-
FRAME_STREAM_KEY
public static final io.netty.util.AttributeKey<java.util.concurrent.CompletableFuture<io.netty.handler.codec.http2.Http2FrameStream>> FRAME_STREAM_KEY
-
MAXIMUM_ACTIVE_STREAMS_VIOLATED_MSG
public static final java.lang.String MAXIMUM_ACTIVE_STREAMS_VIOLATED_MSG
- See Also:
- Constant Field Values
-
-
Method Detail
-
http2Connection
public static io.netty.handler.codec.http2.Http2Connection http2Connection(io.netty.channel.Channel parentChannel)
-
localEndpoint
public static io.netty.handler.codec.http2.Http2Connection.Endpoint<io.netty.handler.codec.http2.Http2LocalFlowController> localEndpoint(io.netty.channel.Channel parentChannel)
-
canOpenLocalStream
public static boolean canOpenLocalStream(io.netty.channel.Channel parentChannel)
Checks if the local HTTP/2 endpoint can open a new stream.- Parameters:
parentChannel- Parent HTTP/2 channel- Returns:
- true if it can open new stream
-
isTooManyActiveStreamsError
public static boolean isTooManyActiveStreamsError(java.lang.Throwable t)
Checks if an exception is thrown because of too many active streams.- Parameters:
t- Exception- Returns:
- true if caused by active streams limit
-
closeStreamChannel
public static void closeStreamChannel(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)
-
http2MultiplexHandler
public static io.netty.handler.codec.http2.Http2ChannelDuplexHandler http2MultiplexHandler(boolean channelReuse, io.netty.channel.ChannelPipeline pipeline)
-
isHttp2MultiplexPipeline
public static boolean isHttp2MultiplexPipeline(boolean channelReuse, io.netty.channel.ChannelPipeline pipeline)
-
isHttp2Pipeline
@Deprecated public static boolean isHttp2Pipeline(io.netty.channel.ChannelPipeline pipeline)
Deprecated.
-
isHttp2ParentChannelPipeline
public static boolean isHttp2ParentChannelPipeline(io.netty.channel.ChannelPipeline pipeline)
-
channelAvailableForReuse
public static boolean channelAvailableForReuse(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)
Checks if a stream channel is currently available for reuse.- Parameters:
streamChannel- Stream channel- Returns:
- true if available for reuse
-
isReusedChannel
public static boolean isReusedChannel(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)
Checks if a stream channel is a previously reused channel.- Parameters:
streamChannel- Stream channel- Returns:
- true if reused
-
markChannelForReuse
public static void markChannelForReuse(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)
Mark a stream to indicate that it will be reused.- Parameters:
streamChannel- Stream channel
-
unmarkReusedStream
public static void unmarkReusedStream(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)
Unmark a stream channel to indicate that reuse is completed.- Parameters:
streamChannel- Stream channel
-
markChannelAvailableForReuse
public static void markChannelAvailableForReuse(io.netty.handler.codec.http2.Http2StreamChannel streamChannel)
-
tooManyStreamsException
public static io.netty.handler.codec.http2.Http2Exception tooManyStreamsException(java.lang.String msg)
Creates anHttp2Exceptionfor having too many concurrent requests.- Parameters:
msg- Exception message- Returns:
- Exception
-
isUnexpectedError
public static boolean isUnexpectedError(long errorCode, boolean fromRemote)
-
isUnexpectedError
public static boolean isUnexpectedError(@Nullable io.netty.handler.codec.http2.Http2Error errorEnum)
-
isUnexpectedError
public static boolean isUnexpectedError(@Nullable io.netty.handler.codec.http2.Http2Error errorEnum, boolean fromRemote)Returns true, if the enum is a known error or unknown error code.
-
isConfiguredHttp2Connection
public static boolean isConfiguredHttp2Connection(@Nonnull io.netty.channel.Channel parentChannel)Check whether the channel is a http2 connection that has been configured.- Parameters:
parentChannel- http Channel
-
frameStream
public static java.util.concurrent.Future<io.netty.handler.codec.http2.Http2FrameStream> frameStream(io.netty.util.AttributeMap map)
-
setFrameStream
public static void setFrameStream(io.netty.util.AttributeMap map, io.netty.handler.codec.http2.Http2FrameStream frameStream)
-
-