abstract class io.netty.channel.AbstractChannelHandlerContext extends java.lang.Object implements io.netty.channel.ChannelHandlerContext, io.netty.util.ResourceLeakHint
{
private static final io.netty.util.internal.logging.InternalLogger logger;
volatile io.netty.channel.AbstractChannelHandlerContext next;
volatile io.netty.channel.AbstractChannelHandlerContext prev;
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater HANDLER_STATE_UPDATER;
private static final int ADD_PENDING;
private static final int ADD_COMPLETE;
private static final int REMOVE_COMPLETE;
private static final int INIT;
private final io.netty.channel.DefaultChannelPipeline pipeline;
private final java.lang.String name;
private final boolean ordered;
private final int executionMask;
final io.netty.util.concurrent.EventExecutor executor;
private io.netty.channel.ChannelFuture succeededFuture;
private io.netty.channel.AbstractChannelHandlerContext$Tasks invokeTasks;
private volatile int handlerState;
static final boolean $assertionsDisabled;
void <init>(io.netty.channel.DefaultChannelPipeline, io.netty.util.concurrent.EventExecutor, java.lang.String, java.lang.Class)
{
io.netty.util.concurrent.EventExecutor v;
int v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.util.concurrent.EventExecutor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<io.netty.channel.AbstractChannelHandlerContext: int handlerState> = 0;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "name");
v.<io.netty.channel.AbstractChannelHandlerContext: java.lang.String name> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor> = v;
v = staticinvoke <io.netty.channel.ChannelHandlerMask: int mask(java.lang.Class)>(v);
v.<io.netty.channel.AbstractChannelHandlerContext: int executionMask> = v;
if v == null goto label;
v = v instanceof io.netty.util.concurrent.OrderedEventExecutor;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v.<io.netty.channel.AbstractChannelHandlerContext: boolean ordered> = v;
return;
}
public io.netty.channel.Channel channel()
{
io.netty.channel.Channel v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.Channel channel()>();
return v;
}
public io.netty.channel.ChannelPipeline pipeline()
{
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
return v;
}
public io.netty.buffer.ByteBufAllocator alloc()
{
io.netty.channel.Channel v;
io.netty.channel.ChannelConfig v;
io.netty.buffer.ByteBufAllocator v;
io.netty.channel.AbstractChannelHandlerContext v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelConfig config()>();
v = interfaceinvoke v.<io.netty.channel.ChannelConfig: io.netty.buffer.ByteBufAllocator getAllocator()>();
return v;
}
public io.netty.util.concurrent.EventExecutor executor()
{
io.netty.channel.Channel v;
io.netty.util.concurrent.EventExecutor v, v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.EventLoop v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor>;
if v != null goto label;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.EventLoop eventLoop()>();
return v;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor>;
return v;
}
public java.lang.String name()
{
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.String v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: java.lang.String name>;
return v;
}
public io.netty.channel.ChannelHandlerContext fireChannelRegistered()
{
io.netty.channel.AbstractChannelHandlerContext v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextInbound(int)>(2);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelRegistered(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
static void invokeChannelRegistered(io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext$1 v;
io.netty.channel.AbstractChannelHandlerContext v;
boolean v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeChannelRegistered()>();
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$1;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$1: void <init>(io.netty.channel.AbstractChannelHandlerContext)>(v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return;
}
private void invokeChannelRegistered()
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void channelRegistered(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void channelRegistered(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelInboundHandler: void channelRegistered(io.netty.channel.ChannelHandlerContext)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelRegistered()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelHandlerContext fireChannelUnregistered()
{
io.netty.channel.AbstractChannelHandlerContext v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextInbound(int)>(4);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelUnregistered(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
static void invokeChannelUnregistered(io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext$2 v;
io.netty.channel.AbstractChannelHandlerContext v;
boolean v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeChannelUnregistered()>();
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$2;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$2: void <init>(io.netty.channel.AbstractChannelHandlerContext)>(v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return;
}
private void invokeChannelUnregistered()
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void channelUnregistered(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void channelUnregistered(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelInboundHandler: void channelUnregistered(io.netty.channel.ChannelHandlerContext)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelUnregistered()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelHandlerContext fireChannelActive()
{
io.netty.channel.AbstractChannelHandlerContext v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextInbound(int)>(8);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelActive(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
static void invokeChannelActive(io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext$3 v;
io.netty.channel.AbstractChannelHandlerContext v;
boolean v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeChannelActive()>();
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$3;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$3: void <init>(io.netty.channel.AbstractChannelHandlerContext)>(v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return;
}
private void invokeChannelActive()
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void channelActive(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void channelActive(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelInboundHandler: void channelActive(io.netty.channel.ChannelHandlerContext)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelActive()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelHandlerContext fireChannelInactive()
{
io.netty.channel.AbstractChannelHandlerContext v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextInbound(int)>(16);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelInactive(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
static void invokeChannelInactive(io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext$4 v;
io.netty.channel.AbstractChannelHandlerContext v;
boolean v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeChannelInactive()>();
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$4;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$4: void <init>(io.netty.channel.AbstractChannelHandlerContext)>(v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return;
}
private void invokeChannelInactive()
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void channelInactive(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void channelInactive(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelInboundHandler: void channelInactive(io.netty.channel.ChannelHandlerContext)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelInactive()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelHandlerContext fireExceptionCaught(java.lang.Throwable)
{
java.lang.Throwable v;
io.netty.channel.AbstractChannelHandlerContext v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Throwable;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextInbound(int)>(1);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(io.netty.channel.AbstractChannelHandlerContext,java.lang.Throwable)>(v, v);
return v;
}
static void invokeExceptionCaught(io.netty.channel.AbstractChannelHandlerContext, java.lang.Throwable)
{
io.netty.util.concurrent.EventExecutor v;
java.lang.Throwable v, v;
io.netty.util.internal.logging.InternalLogger v, v, v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.AbstractChannelHandlerContext$5 v;
boolean v, v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Throwable;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "cause");
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$5;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$5: void <init>(io.netty.channel.AbstractChannelHandlerContext,java.lang.Throwable)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <io.netty.channel.AbstractChannelHandlerContext: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isWarnEnabled()>();
if v == 0 goto label;
v = <io.netty.channel.AbstractChannelHandlerContext: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Throwable)>("Failed to submit an exceptionCaught() event.", v);
v = <io.netty.channel.AbstractChannelHandlerContext: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Throwable)>("The exceptionCaught() event that was failed to submit was:", v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void invokeExceptionCaught(java.lang.Throwable)
{
java.lang.Throwable v, v;
io.netty.util.internal.logging.InternalLogger v, v, v, v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.String v;
boolean v, v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Throwable;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
interfaceinvoke v.<io.netty.channel.ChannelHandler: void exceptionCaught(io.netty.channel.ChannelHandlerContext,java.lang.Throwable)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <io.netty.channel.AbstractChannelHandlerContext: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <io.netty.channel.AbstractChannelHandlerContext: io.netty.util.internal.logging.InternalLogger logger>;
v = staticinvoke <io.netty.util.internal.ThrowableUtil: java.lang.String stackTraceToString(java.lang.Throwable)>(v);
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("An exception {}was thrown by a user handler\'s exceptionCaught() method while handling the following exception:", v, v);
goto label;
label:
v = <io.netty.channel.AbstractChannelHandlerContext: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isWarnEnabled()>();
if v == 0 goto label;
v = <io.netty.channel.AbstractChannelHandlerContext: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("An exception \'{}\' [enable DEBUG level for full stacktrace] was thrown by a user handler\'s exceptionCaught() method while handling the following exception:", v, v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireExceptionCaught(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelHandlerContext fireUserEventTriggered(java.lang.Object)
{
io.netty.channel.AbstractChannelHandlerContext v, v;
java.lang.Object v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextInbound(int)>(128);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeUserEventTriggered(io.netty.channel.AbstractChannelHandlerContext,java.lang.Object)>(v, v);
return v;
}
static void invokeUserEventTriggered(io.netty.channel.AbstractChannelHandlerContext, java.lang.Object)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext$6 v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Object v;
boolean v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "event");
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeUserEventTriggered(java.lang.Object)>(v);
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$6;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$6: void <init>(io.netty.channel.AbstractChannelHandlerContext,java.lang.Object)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return;
}
private void invokeUserEventTriggered(java.lang.Object)
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void userEventTriggered(io.netty.channel.ChannelHandlerContext,java.lang.Object)>(v, v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void userEventTriggered(io.netty.channel.ChannelHandlerContext,java.lang.Object)>(v, v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelInboundHandler: void userEventTriggered(io.netty.channel.ChannelHandlerContext,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireUserEventTriggered(java.lang.Object)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelHandlerContext fireChannelRead(java.lang.Object)
{
io.netty.channel.AbstractChannelHandlerContext v, v;
java.lang.Object v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextInbound(int)>(32);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelRead(io.netty.channel.AbstractChannelHandlerContext,java.lang.Object)>(v, v);
return v;
}
static void invokeChannelRead(io.netty.channel.AbstractChannelHandlerContext, java.lang.Object)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Object v, v, v;
io.netty.channel.AbstractChannelHandlerContext$7 v;
io.netty.channel.DefaultChannelPipeline v;
boolean v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "msg");
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: java.lang.Object touch(java.lang.Object,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeChannelRead(java.lang.Object)>(v);
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$7;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$7: void <init>(io.netty.channel.AbstractChannelHandlerContext,java.lang.Object)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return;
}
private void invokeChannelRead(java.lang.Object)
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void channelRead(io.netty.channel.ChannelHandlerContext,java.lang.Object)>(v, v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void channelRead(io.netty.channel.ChannelHandlerContext,java.lang.Object)>(v, v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelInboundHandler: void channelRead(io.netty.channel.ChannelHandlerContext,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelRead(java.lang.Object)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelHandlerContext fireChannelReadComplete()
{
io.netty.channel.AbstractChannelHandlerContext v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextInbound(int)>(64);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelReadComplete(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
static void invokeChannelReadComplete(io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.AbstractChannelHandlerContext$Tasks v, v;
java.lang.Runnable v;
boolean v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeChannelReadComplete()>();
goto label;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext$Tasks invokeTasks>;
if v != null goto label;
v = new io.netty.channel.AbstractChannelHandlerContext$Tasks;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$Tasks: void <init>(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext$Tasks invokeTasks> = v;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext$Tasks: java.lang.Runnable invokeChannelReadCompleteTask>;
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return;
}
private void invokeChannelReadComplete()
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void channelReadComplete(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void channelReadComplete(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelInboundHandler: void channelReadComplete(io.netty.channel.ChannelHandlerContext)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelReadComplete()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelHandlerContext fireChannelWritabilityChanged()
{
io.netty.channel.AbstractChannelHandlerContext v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextInbound(int)>(256);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelWritabilityChanged(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
static void invokeChannelWritabilityChanged(io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.AbstractChannelHandlerContext$Tasks v, v;
java.lang.Runnable v;
boolean v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeChannelWritabilityChanged()>();
goto label;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext$Tasks invokeTasks>;
if v != null goto label;
v = new io.netty.channel.AbstractChannelHandlerContext$Tasks;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$Tasks: void <init>(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext$Tasks invokeTasks> = v;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext$Tasks: java.lang.Runnable invokeChannelWritableStateChangedTask>;
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return;
}
private void invokeChannelWritabilityChanged()
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void channelWritabilityChanged(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void channelWritabilityChanged(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelInboundHandler: void channelWritabilityChanged(io.netty.channel.ChannelHandlerContext)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireChannelWritabilityChanged()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelFuture bind(java.net.SocketAddress)
{
io.netty.channel.ChannelPromise v;
java.net.SocketAddress v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.net.SocketAddress;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture bind(java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v);
return v;
}
public io.netty.channel.ChannelFuture connect(java.net.SocketAddress)
{
io.netty.channel.ChannelPromise v;
java.net.SocketAddress v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.net.SocketAddress;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture connect(java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v);
return v;
}
public io.netty.channel.ChannelFuture connect(java.net.SocketAddress, java.net.SocketAddress)
{
io.netty.channel.ChannelPromise v;
java.net.SocketAddress v, v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.net.SocketAddress;
v := @parameter: java.net.SocketAddress;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture connect(java.net.SocketAddress,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v);
return v;
}
public io.netty.channel.ChannelFuture disconnect()
{
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelPromise v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture disconnect(io.netty.channel.ChannelPromise)>(v);
return v;
}
public io.netty.channel.ChannelFuture close()
{
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelPromise v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise)>(v);
return v;
}
public io.netty.channel.ChannelFuture deregister()
{
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelPromise v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture deregister(io.netty.channel.ChannelPromise)>(v);
return v;
}
public io.netty.channel.ChannelFuture bind(java.net.SocketAddress, io.netty.channel.ChannelPromise)
{
io.netty.util.concurrent.EventExecutor v;
java.net.SocketAddress v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.AbstractChannelHandlerContext$8 v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.channel.ChannelPromise;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "localAddress");
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean isNotValidPromise(io.netty.channel.ChannelPromise,boolean)>(v, 0);
if v == 0 goto label;
return v;
label:
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextOutbound(int)>(512);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeBind(java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$8;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$8: void <init>(io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.AbstractChannelHandlerContext,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v, v);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: boolean safeExecute(io.netty.util.concurrent.EventExecutor,java.lang.Runnable,io.netty.channel.ChannelPromise,java.lang.Object,boolean)>(v, v, v, null, 0);
label:
return v;
}
private void invokeBind(java.net.SocketAddress, io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
java.net.SocketAddress v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void bind(io.netty.channel.ChannelHandlerContext,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void bind(io.netty.channel.ChannelHandlerContext,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelOutboundHandler: void bind(io.netty.channel.ChannelHandlerContext,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void notifyOutboundHandlerException(java.lang.Throwable,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture bind(java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelFuture connect(java.net.SocketAddress, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
java.net.SocketAddress v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.channel.ChannelPromise;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture connect(java.net.SocketAddress,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, null, v);
return v;
}
public io.netty.channel.ChannelFuture connect(java.net.SocketAddress, java.net.SocketAddress, io.netty.channel.ChannelPromise)
{
io.netty.util.concurrent.EventExecutor v;
java.net.SocketAddress v, v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.AbstractChannelHandlerContext$9 v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.net.SocketAddress;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.channel.ChannelPromise;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "remoteAddress");
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean isNotValidPromise(io.netty.channel.ChannelPromise,boolean)>(v, 0);
if v == 0 goto label;
return v;
label:
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextOutbound(int)>(1024);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeConnect(java.net.SocketAddress,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v);
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$9;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$9: void <init>(io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.AbstractChannelHandlerContext,java.net.SocketAddress,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v, v, v);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: boolean safeExecute(io.netty.util.concurrent.EventExecutor,java.lang.Runnable,io.netty.channel.ChannelPromise,java.lang.Object,boolean)>(v, v, v, null, 0);
label:
return v;
}
private void invokeConnect(java.net.SocketAddress, java.net.SocketAddress, io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
java.net.SocketAddress v, v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.net.SocketAddress;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void connect(io.netty.channel.ChannelHandlerContext,java.net.SocketAddress,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v, v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void connect(io.netty.channel.ChannelHandlerContext,java.net.SocketAddress,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v, v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelOutboundHandler: void connect(io.netty.channel.ChannelHandlerContext,java.net.SocketAddress,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void notifyOutboundHandlerException(java.lang.Throwable,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture connect(java.net.SocketAddress,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelFuture disconnect(io.netty.channel.ChannelPromise)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext$10 v;
io.netty.channel.ChannelFuture v;
io.netty.channel.Channel v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.ChannelMetadata v;
boolean v, v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.ChannelPromise;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelMetadata metadata()>();
v = virtualinvoke v.<io.netty.channel.ChannelMetadata: boolean hasDisconnect()>();
if v != 0 goto label;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise)>(v);
return v;
label:
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean isNotValidPromise(io.netty.channel.ChannelPromise,boolean)>(v, 0);
if v == 0 goto label;
return v;
label:
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextOutbound(int)>(2048);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeDisconnect(io.netty.channel.ChannelPromise)>(v);
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$10;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$10: void <init>(io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v, v);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: boolean safeExecute(io.netty.util.concurrent.EventExecutor,java.lang.Runnable,io.netty.channel.ChannelPromise,java.lang.Object,boolean)>(v, v, v, null, 0);
label:
return v;
}
private void invokeDisconnect(io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void disconnect(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void disconnect(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelOutboundHandler: void disconnect(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void notifyOutboundHandlerException(java.lang.Throwable,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture disconnect(io.netty.channel.ChannelPromise)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext$11 v;
io.netty.channel.AbstractChannelHandlerContext v, v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean isNotValidPromise(io.netty.channel.ChannelPromise,boolean)>(v, 0);
if v == 0 goto label;
return v;
label:
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextOutbound(int)>(4096);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeClose(io.netty.channel.ChannelPromise)>(v);
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$11;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$11: void <init>(io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v, v);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: boolean safeExecute(io.netty.util.concurrent.EventExecutor,java.lang.Runnable,io.netty.channel.ChannelPromise,java.lang.Object,boolean)>(v, v, v, null, 0);
label:
return v;
}
private void invokeClose(io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void close(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void close(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelOutboundHandler: void close(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void notifyOutboundHandlerException(java.lang.Throwable,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelFuture deregister(io.netty.channel.ChannelPromise)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.AbstractChannelHandlerContext$12 v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean isNotValidPromise(io.netty.channel.ChannelPromise,boolean)>(v, 0);
if v == 0 goto label;
return v;
label:
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextOutbound(int)>(8192);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeDeregister(io.netty.channel.ChannelPromise)>(v);
goto label;
label:
v = new io.netty.channel.AbstractChannelHandlerContext$12;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$12: void <init>(io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v, v);
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: boolean safeExecute(io.netty.util.concurrent.EventExecutor,java.lang.Runnable,io.netty.channel.ChannelPromise,java.lang.Object,boolean)>(v, v, v, null, 0);
label:
return v;
}
private void invokeDeregister(io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void deregister(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void deregister(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelOutboundHandler: void deregister(io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelPromise)>(v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void notifyOutboundHandlerException(java.lang.Throwable,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture deregister(io.netty.channel.ChannelPromise)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelHandlerContext read()
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.AbstractChannelHandlerContext$Tasks v, v;
java.lang.Runnable v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextOutbound(int)>(16384);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeRead()>();
goto label;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext$Tasks invokeTasks>;
if v != null goto label;
v = new io.netty.channel.AbstractChannelHandlerContext$Tasks;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$Tasks: void <init>(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext$Tasks invokeTasks> = v;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext$Tasks: java.lang.Runnable invokeReadTask>;
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return v;
}
private void invokeRead()
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void read(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void read(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelOutboundHandler: void read(io.netty.channel.ChannelHandlerContext)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext read()>();
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelFuture write(java.lang.Object)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Object v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture write(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
return v;
}
public io.netty.channel.ChannelFuture write(java.lang.Object, io.netty.channel.ChannelPromise)
{
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Object v;
io.netty.channel.ChannelPromise v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void write(java.lang.Object,boolean,io.netty.channel.ChannelPromise)>(v, 0, v);
return v;
}
void invokeWrite(java.lang.Object, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Object v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeWrite0(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture write(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
label:
return;
}
private void invokeWrite0(java.lang.Object, io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void write(io.netty.channel.ChannelHandlerContext,java.lang.Object,io.netty.channel.ChannelPromise)>(v, v, v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void write(io.netty.channel.ChannelHandlerContext,java.lang.Object,io.netty.channel.ChannelPromise)>(v, v, v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelOutboundHandler: void write(io.netty.channel.ChannelHandlerContext,java.lang.Object,io.netty.channel.ChannelPromise)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void notifyOutboundHandlerException(java.lang.Throwable,io.netty.channel.ChannelPromise)>(v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelHandlerContext flush()
{
io.netty.util.concurrent.EventExecutor v;
java.lang.Runnable v;
io.netty.channel.Channel v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.AbstractChannelHandlerContext$Tasks v, v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextOutbound(int)>(65536);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeFlush()>();
goto label;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext$Tasks invokeTasks>;
if v != null goto label;
v = new io.netty.channel.AbstractChannelHandlerContext$Tasks;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext$Tasks: void <init>(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext$Tasks invokeTasks> = v;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext$Tasks: java.lang.Runnable invokeFlushTask>;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPromise voidPromise()>();
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: boolean safeExecute(io.netty.util.concurrent.EventExecutor,java.lang.Runnable,io.netty.channel.ChannelPromise,java.lang.Object,boolean)>(v, v, v, null, 0);
label:
return v;
}
private void invokeFlush()
{
io.netty.channel.AbstractChannelHandlerContext v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeFlush0()>();
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandlerContext flush()>();
label:
return;
}
private void invokeFlush0()
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void flush(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
v = v instanceof io.netty.channel.ChannelDuplexHandler;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.ChannelDuplexHandler: void flush(io.netty.channel.ChannelHandlerContext)>(v);
goto label;
label:
interfaceinvoke v.<io.netty.channel.ChannelOutboundHandler: void flush(io.netty.channel.ChannelHandlerContext)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object, io.netty.channel.ChannelPromise)
{
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Object v;
io.netty.channel.ChannelPromise v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void write(java.lang.Object,boolean,io.netty.channel.ChannelPromise)>(v, 1, v);
return v;
}
void invokeWriteAndFlush(java.lang.Object, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Object v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean invokeHandler()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeWrite0(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeFlush0()>();
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
label:
return;
}
private void write(java.lang.Object, boolean, io.netty.channel.ChannelPromise)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.ChannelPromise v;
int v, v;
io.netty.channel.AbstractChannelHandlerContext v, v;
boolean v, v, v, v, v;
java.lang.RuntimeException v;
io.netty.channel.AbstractChannelHandlerContext$WriteTask v;
java.lang.Object v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
v := @parameter: io.netty.channel.ChannelPromise;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "msg");
label:
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean isNotValidPromise(io.netty.channel.ChannelPromise,boolean)>(v, 1);
if v == 0 goto label;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
label:
return;
label:
v := @caughtexception;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
throw v;
label:
if v == 0 goto label;
v = 98304;
goto label;
label:
v = (int) 32768;
v = v;
label:
v = specialinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext findContextOutbound(int)>(v);
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.DefaultChannelPipeline pipeline>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: java.lang.Object touch(java.lang.Object,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop()>();
if v == 0 goto label;
if v == 0 goto label;
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeWriteAndFlush(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void invokeWrite(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
v = staticinvoke <io.netty.channel.AbstractChannelHandlerContext$WriteTask: io.netty.channel.AbstractChannelHandlerContext$WriteTask newInstance(io.netty.channel.AbstractChannelHandlerContext,java.lang.Object,io.netty.channel.ChannelPromise,boolean)>(v, v, v, v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <io.netty.channel.AbstractChannelHandlerContext: boolean safeExecute(io.netty.util.concurrent.EventExecutor,java.lang.Runnable,io.netty.channel.ChannelPromise,java.lang.Object,boolean)>(v, v, v, v, v);
if v != 0 goto label;
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext$WriteTask: void cancel()>();
label:
return;
catch java.lang.RuntimeException from label to label with label;
}
public io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Object v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
return v;
}
private static void notifyOutboundHandlerException(java.lang.Throwable, io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
io.netty.channel.ChannelPromise v;
io.netty.util.internal.logging.InternalLogger v;
boolean v;
v := @parameter: java.lang.Throwable;
v := @parameter: io.netty.channel.ChannelPromise;
v = v instanceof io.netty.channel.VoidChannelPromise;
if v == 0 goto label;
v = null;
goto label;
label:
v = <io.netty.channel.AbstractChannelHandlerContext: io.netty.util.internal.logging.InternalLogger logger>;
label:
staticinvoke <io.netty.util.internal.PromiseNotificationUtil: void tryFailure(io.netty.util.concurrent.Promise,java.lang.Throwable,io.netty.util.internal.logging.InternalLogger)>(v, v, v);
return;
}
public io.netty.channel.ChannelPromise newPromise()
{
io.netty.channel.Channel v;
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.DefaultChannelPromise v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = new io.netty.channel.DefaultChannelPromise;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
specialinvoke v.<io.netty.channel.DefaultChannelPromise: void <init>(io.netty.channel.Channel,io.netty.util.concurrent.EventExecutor)>(v, v);
return v;
}
public io.netty.channel.ChannelProgressivePromise newProgressivePromise()
{
io.netty.channel.Channel v;
io.netty.channel.DefaultChannelProgressivePromise v;
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.AbstractChannelHandlerContext v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = new io.netty.channel.DefaultChannelProgressivePromise;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
specialinvoke v.<io.netty.channel.DefaultChannelProgressivePromise: void <init>(io.netty.channel.Channel,io.netty.util.concurrent.EventExecutor)>(v, v);
return v;
}
public io.netty.channel.ChannelFuture newSucceededFuture()
{
io.netty.channel.Channel v;
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.SucceededChannelFuture v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture succeededFuture>;
if v != null goto label;
v = new io.netty.channel.SucceededChannelFuture;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
specialinvoke v.<io.netty.channel.SucceededChannelFuture: void <init>(io.netty.channel.Channel,io.netty.util.concurrent.EventExecutor)>(v, v);
v = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelFuture succeededFuture> = v;
label:
return v;
}
public io.netty.channel.ChannelFuture newFailedFuture(java.lang.Throwable)
{
io.netty.channel.Channel v;
io.netty.util.concurrent.EventExecutor v;
java.lang.Throwable v;
io.netty.channel.FailedChannelFuture v;
io.netty.channel.AbstractChannelHandlerContext v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.Throwable;
v = new io.netty.channel.FailedChannelFuture;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
specialinvoke v.<io.netty.channel.FailedChannelFuture: void <init>(io.netty.channel.Channel,io.netty.util.concurrent.EventExecutor,java.lang.Throwable)>(v, v, v);
return v;
}
private boolean isNotValidPromise(io.netty.channel.ChannelPromise, boolean)
{
java.lang.Object[] v;
io.netty.channel.ChannelPromise v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v;
java.lang.IllegalArgumentException v, v, v, v;
io.netty.channel.Channel v, v, v, v;
java.lang.Class v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.ChannelPromise;
v := @parameter: boolean;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "promise");
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean isDone()>();
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean isCancelled()>();
if v == 0 goto label;
return 1;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (io.netty.channel.ChannelPromise)>(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[])>("promise already done: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.Channel channel()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
if v == v goto label;
v = new java.lang.IllegalArgumentException;
v = newarray (java.lang.Object)[2];
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.Channel channel()>();
v[0] = v;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("promise.channel does not match: %s (expected: %s)", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v != class "Lio/netty/channel/DefaultChannelPromise;" goto label;
return 0;
label:
if v != 0 goto label;
v = v instanceof io.netty.channel.VoidChannelPromise;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = staticinvoke <io.netty.util.internal.StringUtil: java.lang.String simpleClassName(java.lang.Class)>(class "Lio/netty/channel/VoidChannelPromise;");
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[])>("\u not allowed for this operation");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v instanceof io.netty.channel.AbstractChannel$CloseFuture;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = staticinvoke <io.netty.util.internal.StringUtil: java.lang.String simpleClassName(java.lang.Class)>(class "Lio/netty/channel/AbstractChannel$CloseFuture;");
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[])>("\u not allowed in a pipeline");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return 0;
}
private io.netty.channel.AbstractChannelHandlerContext findContextInbound(int)
{
io.netty.util.concurrent.EventExecutor v;
int v;
io.netty.channel.AbstractChannelHandlerContext v, v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: int;
v = v;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
v = staticinvoke <io.netty.channel.AbstractChannelHandlerContext: boolean skipContext(io.netty.channel.AbstractChannelHandlerContext,io.netty.util.concurrent.EventExecutor,int,int)>(v, v, v, 510);
if v != 0 goto label;
return v;
}
private io.netty.channel.AbstractChannelHandlerContext findContextOutbound(int)
{
io.netty.util.concurrent.EventExecutor v;
int v;
io.netty.channel.AbstractChannelHandlerContext v, v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: int;
v = v;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev>;
v = staticinvoke <io.netty.channel.AbstractChannelHandlerContext: boolean skipContext(io.netty.channel.AbstractChannelHandlerContext,io.netty.util.concurrent.EventExecutor,int,int)>(v, v, v, 130560);
if v != 0 goto label;
return v;
}
private static boolean skipContext(io.netty.channel.AbstractChannelHandlerContext, io.netty.util.concurrent.EventExecutor, int, int)
{
io.netty.util.concurrent.EventExecutor v, v;
int v, v, v, v, v, v, v;
io.netty.channel.AbstractChannelHandlerContext v;
boolean v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.util.concurrent.EventExecutor;
v := @parameter: int;
v := @parameter: int;
v = v.<io.netty.channel.AbstractChannelHandlerContext: int executionMask>;
v = v | v;
v = v & v;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
if v != v goto label;
v = v.<io.netty.channel.AbstractChannelHandlerContext: int executionMask>;
v = v & v;
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public io.netty.channel.ChannelPromise voidPromise()
{
io.netty.channel.Channel v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelPromise v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPromise voidPromise()>();
return v;
}
final void setRemoved()
{
io.netty.channel.AbstractChannelHandlerContext v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v.<io.netty.channel.AbstractChannelHandlerContext: int handlerState> = 3;
return;
}
final boolean setAddComplete()
{
java.util.concurrent.atomic.AtomicIntegerFieldUpdater v;
int v;
io.netty.channel.AbstractChannelHandlerContext v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: int handlerState>;
if v != 3 goto label;
return 0;
label:
v = <io.netty.channel.AbstractChannelHandlerContext: java.util.concurrent.atomic.AtomicIntegerFieldUpdater HANDLER_STATE_UPDATER>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicIntegerFieldUpdater: boolean compareAndSet(java.lang.Object,int,int)>(v, v, 2);
if v == 0 goto label;
return 1;
}
final void setAddPending()
{
java.util.concurrent.atomic.AtomicIntegerFieldUpdater v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.AssertionError v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = <io.netty.channel.AbstractChannelHandlerContext: java.util.concurrent.atomic.AtomicIntegerFieldUpdater HANDLER_STATE_UPDATER>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicIntegerFieldUpdater: boolean compareAndSet(java.lang.Object,int,int)>(v, 0, 1);
v = <io.netty.channel.AbstractChannelHandlerContext: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
return;
}
final void callHandlerAdded() throws java.lang.Exception
{
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: boolean setAddComplete()>();
if v == 0 goto label;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
interfaceinvoke v.<io.netty.channel.ChannelHandler: void handlerAdded(io.netty.channel.ChannelHandlerContext)>(v);
label:
return;
}
final void callHandlerRemoved() throws java.lang.Exception
{
java.lang.Throwable v;
int v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: int handlerState>;
if v != 2 goto label;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
interfaceinvoke v.<io.netty.channel.ChannelHandler: void handlerRemoved(io.netty.channel.ChannelHandlerContext)>(v);
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void setRemoved()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void setRemoved()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private boolean invokeHandler()
{
int v;
io.netty.channel.AbstractChannelHandlerContext v;
boolean v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: int handlerState>;
if v == 2 goto label;
v = v.<io.netty.channel.AbstractChannelHandlerContext: boolean ordered>;
if v != 0 goto label;
if v != 1 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isRemoved()
{
int v;
io.netty.channel.AbstractChannelHandlerContext v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: int handlerState>;
if v != 3 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public io.netty.util.Attribute attr(io.netty.util.AttributeKey)
{
io.netty.channel.Channel v;
io.netty.util.AttributeKey v;
io.netty.util.Attribute v;
io.netty.channel.AbstractChannelHandlerContext v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.util.AttributeKey;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.util.Attribute attr(io.netty.util.AttributeKey)>(v);
return v;
}
public boolean hasAttr(io.netty.util.AttributeKey)
{
io.netty.channel.Channel v;
io.netty.util.AttributeKey v;
io.netty.channel.AbstractChannelHandlerContext v;
boolean v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.util.AttributeKey;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: boolean hasAttr(io.netty.util.AttributeKey)>(v);
return v;
}
private static boolean safeExecute(io.netty.util.concurrent.EventExecutor, java.lang.Runnable, io.netty.channel.ChannelPromise, java.lang.Object, boolean)
{
io.netty.util.concurrent.EventExecutor v;
java.lang.Throwable v, v;
java.lang.Runnable v;
io.netty.channel.ChannelPromise v;
java.lang.Object v;
boolean v, v;
v := @parameter: io.netty.util.concurrent.EventExecutor;
v := @parameter: java.lang.Runnable;
v := @parameter: io.netty.channel.ChannelPromise;
v := @parameter: java.lang.Object;
v := @parameter: boolean;
label:
if v == 0 goto label;
v = v instanceof io.netty.util.concurrent.AbstractEventExecutor;
if v == 0 goto label;
virtualinvoke v.<io.netty.util.concurrent.AbstractEventExecutor: void lazyExecute(java.lang.Runnable)>(v);
goto label;
label:
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
label:
return 1;
label:
v := @caughtexception;
label:
if v == null goto label;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
label:
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
throw v;
label:
return 0;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String toHintString()
{
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.String v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: 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[])>("\'\u0001\' will handle the message from this point.");
return v;
}
public java.lang.String toString()
{
io.netty.channel.Channel v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.String v, v, v;
v := @this: io.netty.channel.AbstractChannelHandlerContext;
v = staticinvoke <io.netty.util.internal.StringUtil: java.lang.String simpleClassName(java.lang.Class)>(class "Lio/netty/channel/ChannelHandlerContext;");
v = v.<io.netty.channel.AbstractChannelHandlerContext: java.lang.String name>;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.Channel channel()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,io.netty.channel.Channel)>(v, 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[])>("\u0001(\u, \u)");
return v;
}
static void <clinit>()
{
java.util.concurrent.atomic.AtomicIntegerFieldUpdater v;
io.netty.util.internal.logging.InternalLogger v;
java.lang.Class v;
boolean v, v;
v = class "Lio/netty/channel/AbstractChannelHandlerContext;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.netty.channel.AbstractChannelHandlerContext: boolean $assertionsDisabled> = v;
v = staticinvoke <io.netty.util.internal.logging.InternalLoggerFactory: io.netty.util.internal.logging.InternalLogger getInstance(java.lang.Class)>(class "Lio/netty/channel/AbstractChannelHandlerContext;");
<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.internal.logging.InternalLogger logger> = v;
v = staticinvoke <java.util.concurrent.atomic.AtomicIntegerFieldUpdater: java.util.concurrent.atomic.AtomicIntegerFieldUpdater newUpdater(java.lang.Class,java.lang.String)>(class "Lio/netty/channel/AbstractChannelHandlerContext;", "handlerState");
<io.netty.channel.AbstractChannelHandlerContext: java.util.concurrent.atomic.AtomicIntegerFieldUpdater HANDLER_STATE_UPDATER> = v;
return;
}
}