public final class io.netty.handler.codec.http.Http2MultiplexHandler extends io.netty.handler.codec.http.Http2ChannelDuplexHandler
{
static final io.netty.channel.ChannelFutureListener CHILD_CHANNEL_REGISTRATION_LISTENER;
private final io.netty.channel.ChannelHandler inboundStreamHandler;
private final io.netty.channel.ChannelHandler upgradeStreamHandler;
private final java.util.Queue readCompletePendingQueue;
private boolean parentReadInProgress;
private int idCount;
private volatile io.netty.channel.ChannelHandlerContext ctx;
public void <init>(io.netty.channel.ChannelHandler)
{
io.netty.handler.codec.http.Http2MultiplexHandler v;
io.netty.channel.ChannelHandler v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v := @parameter: io.netty.channel.ChannelHandler;
specialinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler: void <init>(io.netty.channel.ChannelHandler,io.netty.channel.ChannelHandler)>(v, null);
return;
}
public void <init>(io.netty.channel.ChannelHandler, io.netty.channel.ChannelHandler)
{
io.netty.handler.codec.http.Http2MultiplexHandler v;
io.netty.handler.codec.http.MaxCapacityQueue v;
io.netty.channel.ChannelHandler v, v;
java.lang.Object v;
java.util.ArrayDeque v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v := @parameter: io.netty.channel.ChannelHandler;
v := @parameter: io.netty.channel.ChannelHandler;
specialinvoke v.<io.netty.handler.codec.http.Http2ChannelDuplexHandler: void <init>()>();
v = new io.netty.handler.codec.http.MaxCapacityQueue;
v = new java.util.ArrayDeque;
specialinvoke v.<java.util.ArrayDeque: void <init>(int)>(8);
specialinvoke v.<io.netty.handler.codec.http.MaxCapacityQueue: void <init>(java.util.Queue,int)>(v, 100);
v.<io.netty.handler.codec.http.Http2MultiplexHandler: java.util.Queue readCompletePendingQueue> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "inboundStreamHandler");
v.<io.netty.handler.codec.http.Http2MultiplexHandler: io.netty.channel.ChannelHandler inboundStreamHandler> = v;
v.<io.netty.handler.codec.http.Http2MultiplexHandler: io.netty.channel.ChannelHandler upgradeStreamHandler> = v;
return;
}
static void registerDone(io.netty.channel.ChannelFuture)
{
io.netty.channel.Channel v;
io.netty.channel.Channel$Unsafe v;
boolean v, v;
io.netty.channel.ChannelFuture v;
v := @parameter: io.netty.channel.ChannelFuture;
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: boolean isSuccess()>();
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: boolean isRegistered()>();
if v == 0 goto label;
interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelFuture close()>();
goto label;
label:
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.Channel$Unsafe unsafe()>();
interfaceinvoke v.<io.netty.channel.Channel$Unsafe: void closeForcibly()>();
label:
return;
}
protected void handlerAdded0(io.netty.channel.ChannelHandlerContext)
{
io.netty.channel.Channel v;
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.ChannelHandlerContext v;
java.lang.IllegalStateException v;
io.netty.handler.codec.http.Http2MultiplexHandler v;
io.netty.channel.EventLoop v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.EventLoop eventLoop()>();
if v == v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("EventExecutor must be EventLoop of Channel");
throw v;
label:
v.<io.netty.handler.codec.http.Http2MultiplexHandler: io.netty.channel.ChannelHandlerContext ctx> = v;
return;
}
protected void handlerRemoved0(io.netty.channel.ChannelHandlerContext)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2MultiplexHandler v;
java.util.Queue v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v = v.<io.netty.handler.codec.http.Http2MultiplexHandler: java.util.Queue readCompletePendingQueue>;
interfaceinvoke v.<java.util.Queue: void clear()>();
return;
}
public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object) throws java.lang.Exception
{
io.netty.channel.ChannelPipeline v;
io.netty.channel.Channel v;
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2FrameStream v;
io.netty.handler.codec.http.Http2MultiplexHandler v;
java.lang.Object v;
boolean v, v, v, v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
v.<io.netty.handler.codec.http.Http2MultiplexHandler: boolean parentReadInProgress> = 1;
v = v instanceof io.netty.handler.codec.http.Http2StreamFrame;
if v == 0 goto label;
v = v instanceof io.netty.handler.codec.http.Http2WindowUpdateFrame;
if v == 0 goto label;
return;
label:
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2StreamFrame: io.netty.handler.codec.http.Http2FrameStream stream()>();
v = v.<io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream: io.netty.channel.Channel attachment>;
v = v instanceof io.netty.handler.codec.http.Http2ResetFrame;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelPipeline pipeline()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireUserEventTriggered(java.lang.Object)>(v);
goto label;
label:
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: void fireChildRead(io.netty.handler.codec.http.Http2Frame)>(v);
label:
return;
label:
v = v instanceof io.netty.handler.codec.http.Http2GoAwayFrame;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler: void onHttp2GoAwayFrame(io.netty.channel.ChannelHandlerContext,io.netty.handler.codec.http.Http2GoAwayFrame)>(v, v);
label:
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelRead(java.lang.Object)>(v);
return;
}
public void channelWritabilityChanged(io.netty.channel.ChannelHandlerContext) throws java.lang.Exception
{
io.netty.channel.Channel v;
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2FrameStreamVisitor v;
io.netty.handler.codec.http.Http2MultiplexHandler v;
boolean v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: boolean isWritable()>();
if v == 0 goto label;
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.Http2FrameStreamVisitor WRITABLE_VISITOR>;
virtualinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler: void forEachActiveStream(io.netty.handler.codec.http.Http2FrameStreamVisitor)>(v);
label:
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelWritabilityChanged()>();
return;
}
public void userEventTriggered(io.netty.channel.ChannelHandlerContext, java.lang.Object) throws java.lang.Exception
{
java.lang.Object[] v;
io.netty.channel.ChannelHandlerContext v;
int[] v;
io.netty.channel.ChannelFutureListener v;
io.netty.handler.codec.http.Http2Exception v;
int v, v, v, v;
io.netty.handler.codec.http.Http2MultiplexHandler$Http2MultiplexHandlerStreamChannel v, v, v;
boolean v, v, v;
io.netty.handler.codec.http.Http2Stream$State v;
io.netty.channel.EventLoop v;
io.netty.channel.ChannelFuture v;
io.netty.channel.Channel v, v, v;
io.netty.handler.codec.http.Http2FrameStreamEvent$Type v, v;
io.netty.handler.codec.http.Http2Error v;
io.netty.handler.codec.http.Http2FrameStream v;
io.netty.handler.codec.http.Http2MultiplexHandler v;
io.netty.channel.ChannelHandler v, v, v;
java.lang.Object v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
v = v instanceof io.netty.handler.codec.http.Http2FrameStreamEvent;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2FrameStreamEvent: io.netty.handler.codec.http.Http2FrameStream stream()>();
v = virtualinvoke v.<io.netty.handler.codec.http.Http2FrameStreamEvent: io.netty.handler.codec.http.Http2FrameStreamEvent$Type type()>();
v = <io.netty.handler.codec.http.Http2FrameStreamEvent$Type: io.netty.handler.codec.http.Http2FrameStreamEvent$Type State>;
if v != v goto label;
v = <io.netty.handler.codec.http.Http2MultiplexHandler$4: int[] $SwitchMap$io$netty$handler$codec$http2$Http2Stream$State>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream: io.netty.handler.codec.http.Http2Stream$State state()>();
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Stream$State: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream: int id()>();
if v != 1 goto label;
label:
v = v.<io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream: io.netty.channel.Channel attachment>;
if v != null goto label;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream: int id()>();
if v != 1 goto label;
v = staticinvoke <io.netty.handler.codec.http.Http2MultiplexHandler: boolean isServer(io.netty.channel.ChannelHandlerContext)>(v);
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.Http2MultiplexHandler: io.netty.channel.ChannelHandler upgradeStreamHandler>;
if v != null goto label;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error INTERNAL_ERROR>;
v = newarray (java.lang.Object)[0];
v = staticinvoke <io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Exception connectionError(io.netty.handler.codec.http.Http2Error,java.lang.String,java.lang.Object[])>(v, "Client is misconfigured for upgrade requests", v);
throw v;
label:
v = new io.netty.handler.codec.http.Http2MultiplexHandler$Http2MultiplexHandlerStreamChannel;
v = v.<io.netty.handler.codec.http.Http2MultiplexHandler: io.netty.channel.ChannelHandler upgradeStreamHandler>;
specialinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler$Http2MultiplexHandlerStreamChannel: void <init>(io.netty.handler.codec.http.Http2MultiplexHandler,io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream,io.netty.channel.ChannelHandler)>(v, v, v);
v = v;
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: void closeOutbound()>();
goto label;
label:
v = new io.netty.handler.codec.http.Http2MultiplexHandler$Http2MultiplexHandlerStreamChannel;
v = v.<io.netty.handler.codec.http.Http2MultiplexHandler: io.netty.channel.ChannelHandler inboundStreamHandler>;
specialinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler$Http2MultiplexHandlerStreamChannel: void <init>(io.netty.handler.codec.http.Http2MultiplexHandler,io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream,io.netty.channel.ChannelHandler)>(v, v, v);
v = v;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.EventLoop eventLoop()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.channel.ChannelFuture register(io.netty.channel.Channel)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: boolean isDone()>();
if v == 0 goto label;
staticinvoke <io.netty.handler.codec.http.Http2MultiplexHandler: void registerDone(io.netty.channel.ChannelFuture)>(v);
goto label;
label:
v = <io.netty.handler.codec.http.Http2MultiplexHandler: io.netty.channel.ChannelFutureListener CHILD_CHANNEL_REGISTRATION_LISTENER>;
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
goto label;
label:
v = v.<io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream: io.netty.channel.Channel attachment>;
if v == null goto label;
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: void streamClosed()>();
label:
return;
label:
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireUserEventTriggered(java.lang.Object)>(v);
return;
}
io.netty.handler.codec.http.Http2StreamChannel newOutboundStream()
{
io.netty.handler.codec.http.Http2FrameStream v;
io.netty.handler.codec.http.Http2MultiplexHandler v;
io.netty.handler.codec.http.Http2MultiplexHandler$Http2MultiplexHandlerStreamChannel v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v = new io.netty.handler.codec.http.Http2MultiplexHandler$Http2MultiplexHandlerStreamChannel;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler: io.netty.handler.codec.http.Http2FrameStream newStream()>();
specialinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler$Http2MultiplexHandlerStreamChannel: void <init>(io.netty.handler.codec.http.Http2MultiplexHandler,io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream,io.netty.channel.ChannelHandler)>(v, v, null);
return v;
}
public void exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable) throws java.lang.Exception
{
java.lang.Throwable v, v, v, v;
io.netty.channel.ChannelPipeline v;
io.netty.channel.Channel$Unsafe v, v;
io.netty.channel.Channel v;
io.netty.handler.codec.http.Http2MultiplexHandler$2 v;
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2FrameStream v;
io.netty.handler.codec.http.Http2MultiplexHandler v;
boolean v, v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Throwable;
v = v instanceof io.netty.handler.codec.http.Http2FrameStreamException;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2FrameStreamException: io.netty.handler.codec.http.Http2FrameStream stream()>();
v = v.<io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream: io.netty.channel.Channel attachment>;
label:
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelPipeline pipeline()>();
v = virtualinvoke v.<java.lang.Throwable: java.lang.Throwable getCause()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireExceptionCaught(java.lang.Throwable)>(v);
label:
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.Channel$Unsafe unsafe()>();
interfaceinvoke v.<io.netty.channel.Channel$Unsafe: void closeForcibly()>();
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.Channel$Unsafe unsafe()>();
interfaceinvoke v.<io.netty.channel.Channel$Unsafe: void closeForcibly()>();
throw v;
label:
return;
label:
v = virtualinvoke v.<java.lang.Throwable: java.lang.Throwable getCause()>();
v = v instanceof javax.net.ssl.SSLException;
if v == 0 goto label;
v = new io.netty.handler.codec.http.Http2MultiplexHandler$2;
specialinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler$2: void <init>(io.netty.handler.codec.http.Http2MultiplexHandler,java.lang.Throwable)>(v, v);
virtualinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler: void forEachActiveStream(io.netty.handler.codec.http.Http2FrameStreamVisitor)>(v);
label:
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireExceptionCaught(java.lang.Throwable)>(v);
return;
catch java.lang.Throwable from label to label with label;
}
private static boolean isServer(io.netty.channel.ChannelHandlerContext)
{
io.netty.channel.Channel v, v;
io.netty.channel.ChannelHandlerContext v;
boolean v;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.Channel parent()>();
v = v instanceof io.netty.channel.ServerChannel;
return v;
}
private void onHttp2GoAwayFrame(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.Http2GoAwayFrame)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2MultiplexHandler$3 v;
io.netty.handler.codec.http.Http2Exception v;
int v;
io.netty.handler.codec.http.Http2MultiplexHandler v;
io.netty.handler.codec.http.Http2GoAwayFrame v;
boolean v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.handler.codec.http.Http2GoAwayFrame;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2GoAwayFrame: int lastStreamId()>();
if v != 2147483647 goto label;
return;
label:
v = staticinvoke <io.netty.handler.codec.http.Http2MultiplexHandler: boolean isServer(io.netty.channel.ChannelHandlerContext)>(v);
v = new io.netty.handler.codec.http.Http2MultiplexHandler$3;
specialinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler$3: void <init>(io.netty.handler.codec.http.Http2MultiplexHandler,io.netty.handler.codec.http.Http2GoAwayFrame,boolean)>(v, v, v);
virtualinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler: void forEachActiveStream(io.netty.handler.codec.http.Http2FrameStreamVisitor)>(v);
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireExceptionCaught(java.lang.Throwable)>(v);
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelFuture close()>();
label:
return;
catch io.netty.handler.codec.http.Http2Exception from label to label with label;
}
public void channelReadComplete(io.netty.channel.ChannelHandlerContext) throws java.lang.Exception
{
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2MultiplexHandler v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v := @parameter: io.netty.channel.ChannelHandlerContext;
specialinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler: void processPendingReadCompleteQueue()>();
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelReadComplete()>();
return;
}
private void processPendingReadCompleteQueue()
{
java.lang.Throwable v;
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.Http2MultiplexHandler v;
java.lang.Object v;
java.util.Queue v, v, v;
v := @this: io.netty.handler.codec.http.Http2MultiplexHandler;
v.<io.netty.handler.codec.http.Http2MultiplexHandler: boolean parentReadInProgress> = 1;
v = v.<io.netty.handler.codec.http.Http2MultiplexHandler: java.util.Queue readCompletePendingQueue>;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object poll()>();
if v == null goto label;
label:
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: void fireChildReadComplete()>();
v = v.<io.netty.handler.codec.http.Http2MultiplexHandler: java.util.Queue readCompletePendingQueue>;
interfaceinvoke v.<java.util.Queue: java.lang.Object poll()>();
goto label;
label:
v := @caughtexception;
v.<io.netty.handler.codec.http.Http2MultiplexHandler: boolean parentReadInProgress> = 0;
v = v.<io.netty.handler.codec.http.Http2MultiplexHandler: java.util.Queue readCompletePendingQueue>;
interfaceinvoke v.<java.util.Queue: void clear()>();
v = v.<io.netty.handler.codec.http.Http2MultiplexHandler: io.netty.channel.ChannelHandlerContext ctx>;
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext flush()>();
throw v;
label:
v.<io.netty.handler.codec.http.Http2MultiplexHandler: boolean parentReadInProgress> = 0;
return;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
io.netty.handler.codec.http.Http2MultiplexHandler$1 v;
v = new io.netty.handler.codec.http.Http2MultiplexHandler$1;
specialinvoke v.<io.netty.handler.codec.http.Http2MultiplexHandler$1: void <init>()>();
<io.netty.handler.codec.http.Http2MultiplexHandler: io.netty.channel.ChannelFutureListener CHILD_CHANNEL_REGISTRATION_LISTENER> = v;
return;
}
}