final class io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe extends java.lang.Object implements io.netty.channel.Channel$Unsafe
{
private final io.netty.channel.VoidChannelPromise unsafeVoidPromise;
private io.netty.channel.RecvByteBufAllocator$Handle recvHandle;
private boolean writeDoneAndNoFlush;
private boolean closeInitiated;
private boolean readEOS;
final io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0;
private void <init>(io.netty.handler.codec.http.AbstractHttp2StreamChannel)
{
io.netty.channel.VoidChannelPromise v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.handler.codec.http.AbstractHttp2StreamChannel;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new io.netty.channel.VoidChannelPromise;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
specialinvoke v.<io.netty.channel.VoidChannelPromise: void <init>(io.netty.channel.Channel,boolean)>(v, 0);
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.channel.VoidChannelPromise unsafeVoidPromise> = v;
return;
}
public void connect(java.net.SocketAddress, java.net.SocketAddress, io.netty.channel.ChannelPromise)
{
java.lang.UnsupportedOperationException v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.channel.ChannelPromise v;
java.net.SocketAddress v, v;
boolean v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: java.net.SocketAddress;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean setUncancellable()>();
if v != 0 goto label;
return;
label:
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>()>();
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
return;
}
public io.netty.channel.RecvByteBufAllocator$Handle recvBufAllocHandle()
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v;
io.netty.channel.RecvByteBufAllocator v;
io.netty.channel.RecvByteBufAllocator$Handle v, v, v, v;
io.netty.channel.ChannelConfig v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.channel.RecvByteBufAllocator$Handle recvHandle>;
if v != null goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelConfig config()>();
v = interfaceinvoke v.<io.netty.channel.ChannelConfig: io.netty.channel.RecvByteBufAllocator getRecvByteBufAllocator()>();
v = interfaceinvoke v.<io.netty.channel.RecvByteBufAllocator: io.netty.channel.RecvByteBufAllocator$Handle newHandle()>();
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.channel.RecvByteBufAllocator$Handle recvHandle> = v;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.channel.RecvByteBufAllocator$Handle recvHandle>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelConfig config()>();
interfaceinvoke v.<io.netty.channel.RecvByteBufAllocator$Handle: void reset(io.netty.channel.ChannelConfig)>(v);
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.channel.RecvByteBufAllocator$Handle recvHandle>;
return v;
}
public java.net.SocketAddress localAddress()
{
io.netty.channel.Channel v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
java.net.SocketAddress v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v;
io.netty.channel.Channel$Unsafe v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.Channel parent()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.Channel$Unsafe unsafe()>();
v = interfaceinvoke v.<io.netty.channel.Channel$Unsafe: java.net.SocketAddress localAddress()>();
return v;
}
public java.net.SocketAddress remoteAddress()
{
io.netty.channel.Channel v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
java.net.SocketAddress v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v;
io.netty.channel.Channel$Unsafe v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.Channel parent()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.Channel$Unsafe unsafe()>();
v = interfaceinvoke v.<io.netty.channel.Channel$Unsafe: java.net.SocketAddress remoteAddress()>();
return v;
}
public void register(io.netty.channel.EventLoop, io.netty.channel.ChannelPromise)
{
java.lang.UnsupportedOperationException v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v, v, v, v;
io.netty.channel.ChannelPipeline v, v;
io.netty.channel.EventLoop v;
io.netty.channel.ChannelPromise v;
boolean v, v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.channel.EventLoop;
v := @parameter: io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean setUncancellable()>();
if v != 0 goto label;
return;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean registered>;
if v == 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("Re-register is not supported");
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
return;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean registered> = 1;
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setSuccess()>();
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelPipeline pipeline()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireChannelRegistered()>();
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean isActive()>();
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelPipeline pipeline()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireChannelActive()>();
label:
return;
}
public void bind(java.net.SocketAddress, io.netty.channel.ChannelPromise)
{
java.lang.UnsupportedOperationException v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.channel.ChannelPromise v;
java.net.SocketAddress v;
boolean v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean setUncancellable()>();
if v != 0 goto label;
return;
label:
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>()>();
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
return;
}
public void disconnect(io.netty.channel.ChannelPromise)
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.channel.ChannelPromise v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.channel.ChannelPromise;
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void close(io.netty.channel.ChannelPromise)>(v);
return;
}
public void close(io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v, v, v, v, v, v;
io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream v;
io.netty.handler.codec.http.DefaultHttp2ResetFrame v, v;
boolean v, v, v, v, v, v, v, v;
io.netty.handler.codec.http.Http2Error v;
io.netty.handler.codec.http.Http2FrameStream v;
java.util.Queue v, v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v, v, v, v, v, v, v, v, v, v, v, v;
int v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe$1 v;
io.netty.channel.Channel$Unsafe v;
io.netty.channel.Channel v;
java.lang.Object v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean setUncancellable()>();
if v != 0 goto label;
return;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean closeInitiated>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelPromise closePromise>;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean isDone()>();
if v == 0 goto label;
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setSuccess()>();
goto label;
label:
v = v instanceof io.netty.channel.VoidChannelPromise;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelPromise closePromise>;
v = new io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe$1;
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe$1: void <init>(io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe,io.netty.channel.ChannelPromise)>(v, v);
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
label:
return;
label:
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean closeInitiated> = 1;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean readCompletePending> = 0;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean isActive()>();
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.Channel parent()>();
v = interfaceinvoke v.<io.netty.channel.Channel: boolean isActive()>();
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean readEOS>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream stream>;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream: int id()>();
v = staticinvoke <io.netty.handler.codec.http.Http2CodecUtil: boolean isStreamIdValid(int)>(v);
if v == 0 goto label;
v = new io.netty.handler.codec.http.DefaultHttp2ResetFrame;
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error CANCEL>;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2ResetFrame: void <init>(io.netty.handler.codec.http.Http2Error)>(v);
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.Http2FrameStream stream()>();
v = virtualinvoke v.<io.netty.handler.codec.http.DefaultHttp2ResetFrame: io.netty.handler.codec.http.DefaultHttp2ResetFrame stream(io.netty.handler.codec.http.Http2FrameStream)>(v);
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.Channel$Unsafe unsafe()>();
v = interfaceinvoke v.<io.netty.channel.Channel$Unsafe: io.netty.channel.ChannelPromise voidPromise()>();
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void write(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void flush()>();
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: java.util.Queue inboundBuffer>;
if v == null goto label;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: java.util.Queue inboundBuffer>;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object poll()>();
if v == null goto label;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
goto label;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: java.util.Queue inboundBuffer> = null;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean outboundClosed> = 1;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelPromise closePromise>;
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setSuccess()>();
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setSuccess()>();
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.channel.ChannelPromise voidPromise()>();
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void fireChannelInactiveAndDeregister(io.netty.channel.ChannelPromise,boolean)>(v, v);
return;
}
public void closeForcibly()
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v;
io.netty.channel.Channel$Unsafe v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.Channel$Unsafe unsafe()>();
v = interfaceinvoke v.<io.netty.channel.Channel$Unsafe: io.netty.channel.ChannelPromise voidPromise()>();
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void close(io.netty.channel.ChannelPromise)>(v);
return;
}
public void deregister(io.netty.channel.ChannelPromise)
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.channel.ChannelPromise v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.channel.ChannelPromise;
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void fireChannelInactiveAndDeregister(io.netty.channel.ChannelPromise,boolean)>(v, 0);
return;
}
private void fireChannelInactiveAndDeregister(io.netty.channel.ChannelPromise, boolean)
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.channel.ChannelPromise v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe$2 v;
boolean v, v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.channel.ChannelPromise;
v := @parameter: boolean;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean setUncancellable()>();
if v != 0 goto label;
return;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean registered>;
if v != 0 goto label;
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setSuccess()>();
return;
label:
v = new io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe$2;
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe$2: void <init>(io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe,boolean,io.netty.channel.ChannelPromise)>(v, v, v);
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void invokeLater(java.lang.Runnable)>(v);
return;
}
private void safeSetSuccess(io.netty.channel.ChannelPromise)
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.channel.ChannelPromise v;
io.netty.util.internal.logging.InternalLogger v;
boolean v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.channel.ChannelPromise;
v = v instanceof io.netty.channel.VoidChannelPromise;
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean trySuccess()>();
if v != 0 goto label;
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Object)>("Failed to mark a promise as success because it is done already: {}", v);
label:
return;
}
private void invokeLater(java.lang.Runnable)
{
java.util.concurrent.RejectedExecutionException v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v;
io.netty.util.internal.logging.InternalLogger v;
io.netty.channel.EventLoop v;
java.lang.Runnable v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: java.lang.Runnable;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.EventLoop eventLoop()>();
interfaceinvoke v.<io.netty.channel.EventLoop: void execute(java.lang.Runnable)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Throwable)>("Can\'t invoke task later as EventLoop rejected it", v);
label:
return;
catch java.util.concurrent.RejectedExecutionException from label to label with label;
}
public void beginRead()
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v, v, v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus v, v, v;
int[] v;
int v, v;
boolean v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean isActive()>();
if v != 0 goto label;
return;
label:
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void updateLocalWindowIfNeeded()>();
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel$5: int[] $SwitchMap$io$netty$handler$codec$http2$AbstractHttp2StreamChannel$ReadStatus>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus readStatus>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus IN_PROGRESS>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus readStatus> = v;
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void doBeginRead()>();
goto label;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus REQUESTED>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus readStatus> = v;
label:
return;
}
private java.lang.Object pollQueuedMessage()
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v;
java.lang.Object v;
java.util.Queue v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: java.util.Queue inboundBuffer>;
if v != null goto label;
v = null;
goto label;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: java.util.Queue inboundBuffer>;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object poll()>();
label:
return v;
}
void doBeginRead()
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v, v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v, v, v, v;
boolean v, v, v, v, v, v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus v, v;
io.netty.channel.RecvByteBufAllocator$Handle v;
io.netty.channel.ChannelConfig v;
java.lang.Object v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus readStatus>;
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus IDLE>;
if v == v goto label;
v = specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: java.lang.Object pollQueuedMessage()>();
if v != null goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean readEOS>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe unsafe>;
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void closeForcibly()>();
label:
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void flush()>();
goto label;
label:
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.channel.RecvByteBufAllocator$Handle recvBufAllocHandle()>();
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelConfig config()>();
interfaceinvoke v.<io.netty.channel.RecvByteBufAllocator$Handle: void reset(io.netty.channel.ChannelConfig)>(v);
v = 0;
label:
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void doRead0(io.netty.handler.codec.http.Http2Frame,io.netty.channel.RecvByteBufAllocator$Handle)>(v, v);
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean readEOS>;
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.channel.RecvByteBufAllocator$Handle: boolean continueReading()>();
v = v;
if v == 0 goto label;
label:
v = specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: java.lang.Object pollQueuedMessage()>();
v = v;
if v != null goto label;
label:
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean isParentReadInProgress()>();
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean readEOS>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: void maybeAddChannelToReadCompletePendingQueue()>();
goto label;
label:
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void notifyReadComplete(io.netty.channel.RecvByteBufAllocator$Handle,boolean)>(v, 1);
goto label;
label:
return;
}
void readEOS()
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean readEOS> = 1;
return;
}
private void updateLocalWindowIfNeeded()
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v, v, v, v, v, v, v;
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelFutureListener v;
int v, v;
io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream v;
boolean v;
io.netty.channel.ChannelFuture v;
io.netty.handler.codec.http.DefaultHttp2WindowUpdateFrame v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: int flowControlledBytes>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: int flowControlledBytes>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: int flowControlledBytes> = 0;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelHandlerContext parentContext()>();
v = new io.netty.handler.codec.http.DefaultHttp2WindowUpdateFrame;
specialinvoke v.<io.netty.handler.codec.http.DefaultHttp2WindowUpdateFrame: void <init>(int)>(v);
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream stream>;
v = virtualinvoke v.<io.netty.handler.codec.http.DefaultHttp2WindowUpdateFrame: io.netty.handler.codec.http.DefaultHttp2WindowUpdateFrame stream(io.netty.handler.codec.http.Http2FrameStream)>(v);
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelFuture write0(io.netty.channel.ChannelHandlerContext,java.lang.Object)>(v, v);
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean writeDoneAndNoFlush> = 1;
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: boolean isDone()>();
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
staticinvoke <io.netty.handler.codec.http.AbstractHttp2StreamChannel: void windowUpdateFrameWriteComplete(io.netty.channel.ChannelFuture,io.netty.channel.Channel)>(v, v);
goto label;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelFutureListener windowUpdateFrameWriteListener>;
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
label:
return;
}
void notifyReadComplete(io.netty.channel.RecvByteBufAllocator$Handle, boolean)
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v, v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v, v, v, v, v, v;
boolean v, v, v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus v, v, v, v;
io.netty.channel.ChannelPipeline v;
io.netty.channel.RecvByteBufAllocator$Handle v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.channel.RecvByteBufAllocator$Handle;
v := @parameter: boolean;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean readCompletePending>;
if v != 0 goto label;
if v != 0 goto label;
return;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean readCompletePending> = 0;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus readStatus>;
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus REQUESTED>;
if v != v goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus IN_PROGRESS>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus readStatus> = v;
goto label;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus IDLE>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.AbstractHttp2StreamChannel$ReadStatus readStatus> = v;
label:
interfaceinvoke v.<io.netty.channel.RecvByteBufAllocator$Handle: void readComplete()>();
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelPipeline pipeline()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireChannelReadComplete()>();
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void flush()>();
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean readEOS>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe unsafe>;
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void closeForcibly()>();
label:
return;
}
void doRead0(io.netty.handler.codec.http.Http2Frame, io.netty.channel.RecvByteBufAllocator$Handle)
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v, v;
io.netty.channel.ChannelPipeline v;
io.netty.handler.codec.http.Http2Frame v;
io.netty.channel.RecvByteBufAllocator$Handle v;
int v, v, v;
boolean v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.handler.codec.http.Http2Frame;
v := @parameter: io.netty.channel.RecvByteBufAllocator$Handle;
v = v instanceof io.netty.handler.codec.http.Http2DataFrame;
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2DataFrame: int initialFlowControlledBytes()>();
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: int flowControlledBytes>;
v = v + v;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: int flowControlledBytes> = v;
goto label;
label:
v = 9;
label:
interfaceinvoke v.<io.netty.channel.RecvByteBufAllocator$Handle: void attemptedBytesRead(int)>(v);
interfaceinvoke v.<io.netty.channel.RecvByteBufAllocator$Handle: void lastBytesRead(int)>(v);
interfaceinvoke v.<io.netty.channel.RecvByteBufAllocator$Handle: void incMessagesRead(int)>(1);
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelPipeline pipeline()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireChannelRead(java.lang.Object)>(v);
return;
}
public void write(java.lang.Object, io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v, v;
io.netty.handler.codec.http.Http2StreamFrame v, v;
io.netty.channel.ChannelPromise v;
java.lang.String v, v, v;
boolean v, v, v, v, v, v;
java.nio.channels.ClosedChannelException v;
java.lang.IllegalArgumentException v;
io.netty.handler.codec.http.Http2FrameStream v;
java.lang.Object v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean setUncancellable()>();
if v != 0 goto label;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
return;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean isActive()>();
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean outboundClosed>;
if v == 0 goto label;
v = v instanceof io.netty.handler.codec.http.Http2HeadersFrame;
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.Http2DataFrame;
if v == 0 goto label;
label:
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
v = new java.nio.channels.ClosedChannelException;
specialinvoke v.<java.nio.channels.ClosedChannelException: void <init>()>();
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
return;
label:
v = v instanceof io.netty.handler.codec.http.Http2StreamFrame;
if v == 0 goto label;
v = specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.Http2StreamFrame validateStreamFrame(io.netty.handler.codec.http.Http2StreamFrame)>(v);
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.Http2FrameStream stream()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2StreamFrame: io.netty.handler.codec.http.Http2StreamFrame stream(io.netty.handler.codec.http.Http2FrameStream)>(v);
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void writeHttp2StreamFrame(io.netty.handler.codec.http.Http2StreamFrame,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
v = new java.lang.IllegalArgumentException;
v = staticinvoke <io.netty.util.internal.StringUtil: java.lang.String simpleClassName(java.lang.Class)>(class "Lio/netty/handler/codec/http2/Http2StreamFrame;");
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Message must be an \u0001: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean tryFailure(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void writeHttp2StreamFrame(io.netty.handler.codec.http.Http2StreamFrame, io.netty.channel.ChannelPromise)
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v, v, v, v, v, v;
io.netty.handler.codec.http.Http2StreamFrame v;
io.netty.channel.MessageSizeEstimator$Handle v;
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelPromise v;
int v, v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe$3 v;
java.lang.String v, v;
boolean v, v, v, v, v, v;
java.lang.IllegalArgumentException v;
io.netty.channel.ChannelFuture v;
io.netty.handler.codec.http.Http2FrameStream v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.handler.codec.http.Http2StreamFrame;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean firstFrameWritten>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.Http2FrameStream stream()>();
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2FrameStream: int id()>();
v = staticinvoke <io.netty.handler.codec.http.Http2CodecUtil: boolean isStreamIdValid(int)>(v);
if v != 0 goto label;
v = v instanceof io.netty.handler.codec.http.Http2HeadersFrame;
if v != 0 goto label;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
v = new java.lang.IllegalArgumentException;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2StreamFrame: java.lang.String name()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("The first frame must be a headers frame. Was: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
return;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean firstFrameWritten>;
if v == 0 goto label;
v = 0;
goto label;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean firstFrameWritten>;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelHandlerContext parentContext()>();
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelFuture write0(io.netty.channel.ChannelHandlerContext,java.lang.Object)>(v, v);
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: boolean isDone()>();
if v == 0 goto label;
if v == 0 goto label;
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void firstWriteComplete(io.netty.channel.ChannelFuture,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void writeComplete(io.netty.channel.ChannelFuture,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
v = <io.netty.handler.codec.http.AbstractHttp2StreamChannel$FlowControlledFrameSizeEstimator: io.netty.channel.MessageSizeEstimator$Handle HANDLE_INSTANCE>;
v = interfaceinvoke v.<io.netty.channel.MessageSizeEstimator$Handle: int size(java.lang.Object)>(v);
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: void incrementPendingOutboundBytes(long,boolean)>(v, 0);
v = new io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe$3;
specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe$3: void <init>(io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe,boolean,io.netty.channel.ChannelPromise,long)>(v, v, v, v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean writeDoneAndNoFlush> = 1;
label:
return;
}
private void firstWriteComplete(io.netty.channel.ChannelFuture, io.netty.channel.ChannelPromise)
{
java.lang.Throwable v, v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.channel.ChannelPromise v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.channel.ChannelFuture;
v := @parameter: io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: java.lang.Throwable cause()>();
if v != null goto label;
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setSuccess()>();
goto label;
label:
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void closeForcibly()>();
v = specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: java.lang.Throwable wrapStreamClosedError(java.lang.Throwable)>(v);
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
label:
return;
}
private void writeComplete(io.netty.channel.ChannelFuture, io.netty.channel.ChannelPromise)
{
java.lang.Throwable v, v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2StreamChannelConfig v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v;
io.netty.channel.ChannelFuture v;
io.netty.channel.ChannelPromise v;
boolean v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.channel.ChannelFuture;
v := @parameter: io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: java.lang.Throwable cause()>();
if v != null goto label;
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setSuccess()>();
goto label;
label:
v = specialinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: java.lang.Throwable wrapStreamClosedError(java.lang.Throwable)>(v);
v = v instanceof java.io.IOException;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2StreamChannelConfig config>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2StreamChannelConfig: boolean isAutoClose()>();
if v == 0 goto label;
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: void closeForcibly()>();
goto label;
label:
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean outboundClosed> = 1;
label:
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
label:
return;
}
private java.lang.Throwable wrapStreamClosedError(java.lang.Throwable)
{
java.lang.Throwable v, v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
java.nio.channels.ClosedChannelException v;
io.netty.handler.codec.http.Http2Error v, v;
boolean v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: java.lang.Throwable;
v = v instanceof io.netty.handler.codec.http.Http2Exception;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.handler.codec.http.Http2Exception: io.netty.handler.codec.http.Http2Error error()>();
v = <io.netty.handler.codec.http.Http2Error: io.netty.handler.codec.http.Http2Error STREAM_CLOSED>;
if v != v goto label;
v = new java.nio.channels.ClosedChannelException;
specialinvoke v.<java.nio.channels.ClosedChannelException: void <init>()>();
v = virtualinvoke v.<java.nio.channels.ClosedChannelException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
return v;
label:
return v;
}
private io.netty.handler.codec.http.Http2StreamFrame validateStreamFrame(io.netty.handler.codec.http.Http2StreamFrame)
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v;
io.netty.handler.codec.http.Http2StreamFrame v;
java.lang.IllegalArgumentException v;
io.netty.handler.codec.http.Http2FrameStream v, v, v;
io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream v;
java.lang.String v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v := @parameter: io.netty.handler.codec.http.Http2StreamFrame;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2StreamFrame: io.netty.handler.codec.http.Http2FrameStream stream()>();
if v == null goto label;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2StreamFrame: io.netty.handler.codec.http.Http2FrameStream stream()>();
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.handler.codec.http.Http2FrameCodec$DefaultHttp2FrameStream stream>;
if v == v goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
v = new java.lang.IllegalArgumentException;
v = interfaceinvoke v.<io.netty.handler.codec.http.Http2StreamFrame: io.netty.handler.codec.http.Http2FrameStream stream()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (io.netty.handler.codec.http.Http2FrameStream,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Stream \u must not be set on the frame: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public void flush()
{
io.netty.channel.ChannelHandlerContext v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel v, v, v;
boolean v, v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean writeDoneAndNoFlush>;
if v == 0 goto label;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: boolean isParentReadInProgress()>();
if v == 0 goto label;
label:
return;
label:
v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: boolean writeDoneAndNoFlush> = 0;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.handler.codec.http.AbstractHttp2StreamChannel this$0>;
v = virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: io.netty.channel.ChannelHandlerContext parentContext()>();
virtualinvoke v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel: void flush0(io.netty.channel.ChannelHandlerContext)>(v);
return;
}
public io.netty.channel.ChannelPromise voidPromise()
{
io.netty.channel.VoidChannelPromise v;
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
v = v.<io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe: io.netty.channel.VoidChannelPromise unsafeVoidPromise>;
return v;
}
public io.netty.channel.ChannelOutboundBuffer outboundBuffer()
{
io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe v;
v := @this: io.netty.handler.codec.http.AbstractHttp2StreamChannel$Http2ChannelUnsafe;
return null;
}
}