public class io.netty.channel.DefaultChannelPipeline extends java.lang.Object implements io.netty.channel.ChannelPipeline
{
static final io.netty.util.internal.logging.InternalLogger logger;
private static final java.lang.String HEAD_NAME;
private static final java.lang.String TAIL_NAME;
private static final io.netty.util.concurrent.FastThreadLocal nameCaches;
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater ESTIMATOR;
final io.netty.channel.DefaultChannelPipeline$HeadContext head;
final io.netty.channel.DefaultChannelPipeline$TailContext tail;
private final io.netty.channel.Channel channel;
private final io.netty.channel.ChannelFuture succeededFuture;
private final io.netty.channel.VoidChannelPromise voidPromise;
private final boolean touch;
private java.util.Map childExecutors;
private volatile io.netty.channel.MessageSizeEstimator$Handle estimatorHandle;
private boolean firstRegistration;
private io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pendingHandlerCallbackHead;
private boolean registered;
static final boolean $assertionsDisabled;
protected void <init>(io.netty.channel.Channel)
{
io.netty.channel.SucceededChannelFuture v;
io.netty.channel.DefaultChannelPipeline$TailContext v, v, v;
io.netty.channel.Channel v;
io.netty.channel.VoidChannelPromise v;
io.netty.channel.DefaultChannelPipeline$HeadContext v, v, v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
boolean v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.Channel;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <io.netty.util.ResourceLeakDetector: boolean isEnabled()>();
v.<io.netty.channel.DefaultChannelPipeline: boolean touch> = v;
v.<io.netty.channel.DefaultChannelPipeline: boolean firstRegistration> = 1;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "channel");
v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.Channel channel> = v;
v = new io.netty.channel.SucceededChannelFuture;
specialinvoke v.<io.netty.channel.SucceededChannelFuture: void <init>(io.netty.channel.Channel,io.netty.util.concurrent.EventExecutor)>(v, null);
v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelFuture succeededFuture> = v;
v = new io.netty.channel.VoidChannelPromise;
specialinvoke v.<io.netty.channel.VoidChannelPromise: void <init>(io.netty.channel.Channel,boolean)>(v, 1);
v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.VoidChannelPromise voidPromise> = v;
v = new io.netty.channel.DefaultChannelPipeline$TailContext;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: void <init>(io.netty.channel.DefaultChannelPipeline,io.netty.channel.DefaultChannelPipeline)>(v, v);
v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail> = v;
v = new io.netty.channel.DefaultChannelPipeline$HeadContext;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline$HeadContext: void <init>(io.netty.channel.DefaultChannelPipeline,io.netty.channel.DefaultChannelPipeline)>(v, v);
v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head> = v;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
return;
}
final io.netty.channel.MessageSizeEstimator$Handle estimatorHandle()
{
io.netty.channel.Channel v;
io.netty.channel.MessageSizeEstimator v;
io.netty.channel.ChannelConfig v;
java.util.concurrent.atomic.AtomicReferenceFieldUpdater v;
io.netty.channel.DefaultChannelPipeline v;
boolean v;
io.netty.channel.MessageSizeEstimator$Handle v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.MessageSizeEstimator$Handle estimatorHandle>;
if v != null goto label;
v = v.<io.netty.channel.DefaultChannelPipeline: 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.channel.MessageSizeEstimator getMessageSizeEstimator()>();
v = interfaceinvoke v.<io.netty.channel.MessageSizeEstimator: io.netty.channel.MessageSizeEstimator$Handle newHandle()>();
v = <io.netty.channel.DefaultChannelPipeline: java.util.concurrent.atomic.AtomicReferenceFieldUpdater ESTIMATOR>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReferenceFieldUpdater: boolean compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object)>(v, null, v);
if v != 0 goto label;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.MessageSizeEstimator$Handle estimatorHandle>;
label:
return v;
}
final java.lang.Object touch(java.lang.Object, io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Object v, v;
io.netty.channel.DefaultChannelPipeline v;
boolean v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.DefaultChannelPipeline: boolean touch>;
if v == 0 goto label;
v = staticinvoke <io.netty.util.ReferenceCountUtil: java.lang.Object touch(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v;
label:
return v;
}
private io.netty.channel.AbstractChannelHandlerContext newContext(io.netty.util.concurrent.EventExecutorGroup, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelHandlerContext v;
java.lang.String v;
io.netty.util.concurrent.EventExecutorGroup v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.util.concurrent.EventExecutorGroup;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
v = new io.netty.channel.DefaultChannelHandlerContext;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.util.concurrent.EventExecutor childExecutor(io.netty.util.concurrent.EventExecutorGroup)>(v);
specialinvoke v.<io.netty.channel.DefaultChannelHandlerContext: void <init>(io.netty.channel.DefaultChannelPipeline,io.netty.util.concurrent.EventExecutor,java.lang.String,io.netty.channel.ChannelHandler)>(v, v, v, v);
return v;
}
private io.netty.util.concurrent.EventExecutor childExecutor(io.netty.util.concurrent.EventExecutorGroup)
{
io.netty.util.concurrent.EventExecutor v;
java.util.IdentityHashMap v;
io.netty.channel.ChannelOption v;
io.netty.util.concurrent.EventExecutorGroup v;
io.netty.channel.Channel v;
io.netty.channel.ChannelConfig v;
java.util.Map v;
java.lang.Object v, v;
io.netty.channel.DefaultChannelPipeline v;
boolean v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.util.concurrent.EventExecutorGroup;
if v != null goto label;
return null;
label:
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelConfig config()>();
v = <io.netty.channel.ChannelOption: io.netty.channel.ChannelOption SINGLE_EVENTEXECUTOR_PER_GROUP>;
v = interfaceinvoke v.<io.netty.channel.ChannelConfig: java.lang.Object getOption(io.netty.channel.ChannelOption)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutorGroup: io.netty.util.concurrent.EventExecutor next()>();
return v;
label:
v = v.<io.netty.channel.DefaultChannelPipeline: java.util.Map childExecutors>;
if v != null goto label;
v = new java.util.IdentityHashMap;
specialinvoke v.<java.util.IdentityHashMap: void <init>(int)>(4);
v.<io.netty.channel.DefaultChannelPipeline: java.util.Map childExecutors> = v;
v = v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutorGroup: io.netty.util.concurrent.EventExecutor next()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
public final io.netty.channel.Channel channel()
{
io.netty.channel.Channel v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.Channel channel>;
return v;
}
public final io.netty.channel.ChannelPipeline addFirst(java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.channel.ChannelHandler v;
io.netty.channel.ChannelPipeline v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline addFirst(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,io.netty.channel.ChannelHandler)>(null, v, v);
return v;
}
public final io.netty.channel.ChannelPipeline addFirst(io.netty.util.concurrent.EventExecutorGroup, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.util.concurrent.EventExecutor v;
java.lang.Throwable v;
io.netty.util.concurrent.EventExecutorGroup v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.String v, v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.util.concurrent.EventExecutorGroup;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
entermonitor v;
label:
staticinvoke <io.netty.channel.DefaultChannelPipeline: void checkMultiplicity(io.netty.channel.ChannelHandler)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: java.lang.String filterName(java.lang.String,io.netty.channel.ChannelHandler)>(v, v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext newContext(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,io.netty.channel.ChannelHandler)>(v, v, v);
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void addFirst0(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = v.<io.netty.channel.DefaultChannelPipeline: boolean registered>;
if v != 0 goto label;
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void setAddPending()>();
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerCallbackLater(io.netty.channel.AbstractChannelHandlerContext,boolean)>(v, 1);
exitmonitor v;
label:
return v;
label:
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.DefaultChannelPipeline: void callHandlerAddedInEventLoop(io.netty.channel.AbstractChannelHandlerContext,io.netty.util.concurrent.EventExecutor)>(v, v);
exitmonitor v;
label:
return v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerAdded0(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void addFirst0(io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.channel.DefaultChannelPipeline$HeadContext v, v, v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
return;
}
public final io.netty.channel.ChannelPipeline addLast(java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.channel.ChannelHandler v;
io.netty.channel.ChannelPipeline v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline addLast(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,io.netty.channel.ChannelHandler)>(null, v, v);
return v;
}
public final io.netty.channel.ChannelPipeline addLast(io.netty.util.concurrent.EventExecutorGroup, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.util.concurrent.EventExecutor v;
java.lang.Throwable v;
io.netty.util.concurrent.EventExecutorGroup v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.String v, v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.util.concurrent.EventExecutorGroup;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
entermonitor v;
label:
staticinvoke <io.netty.channel.DefaultChannelPipeline: void checkMultiplicity(io.netty.channel.ChannelHandler)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: java.lang.String filterName(java.lang.String,io.netty.channel.ChannelHandler)>(v, v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext newContext(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,io.netty.channel.ChannelHandler)>(v, v, v);
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void addLast0(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = v.<io.netty.channel.DefaultChannelPipeline: boolean registered>;
if v != 0 goto label;
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void setAddPending()>();
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerCallbackLater(io.netty.channel.AbstractChannelHandlerContext,boolean)>(v, 1);
exitmonitor v;
label:
return v;
label:
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.DefaultChannelPipeline: void callHandlerAddedInEventLoop(io.netty.channel.AbstractChannelHandlerContext,io.netty.util.concurrent.EventExecutor)>(v, v);
exitmonitor v;
label:
return v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerAdded0(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void addLast0(io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.channel.DefaultChannelPipeline$TailContext v, v, v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.AbstractChannelHandlerContext prev>;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
return;
}
public final io.netty.channel.ChannelPipeline addBefore(java.lang.String, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.channel.ChannelHandler v;
io.netty.channel.ChannelPipeline v;
java.lang.String v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline addBefore(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,java.lang.String,io.netty.channel.ChannelHandler)>(null, v, v, v);
return v;
}
public final io.netty.channel.ChannelPipeline addBefore(io.netty.util.concurrent.EventExecutorGroup, java.lang.String, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.util.concurrent.EventExecutor v;
java.lang.Throwable v;
io.netty.util.concurrent.EventExecutorGroup v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.ChannelHandler v;
java.lang.String v, v, v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.util.concurrent.EventExecutorGroup;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
entermonitor v;
label:
staticinvoke <io.netty.channel.DefaultChannelPipeline: void checkMultiplicity(io.netty.channel.ChannelHandler)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: java.lang.String filterName(java.lang.String,io.netty.channel.ChannelHandler)>(v, v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext getContextOrDie(java.lang.String)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext newContext(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,io.netty.channel.ChannelHandler)>(v, v, v);
staticinvoke <io.netty.channel.DefaultChannelPipeline: void addBefore0(io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
v = v.<io.netty.channel.DefaultChannelPipeline: boolean registered>;
if v != 0 goto label;
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void setAddPending()>();
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerCallbackLater(io.netty.channel.AbstractChannelHandlerContext,boolean)>(v, 1);
exitmonitor v;
label:
return v;
label:
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.DefaultChannelPipeline: void callHandlerAddedInEventLoop(io.netty.channel.AbstractChannelHandlerContext,io.netty.util.concurrent.EventExecutor)>(v, v);
exitmonitor v;
label:
return v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerAdded0(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private static void addBefore0(io.netty.channel.AbstractChannelHandlerContext, io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.channel.AbstractChannelHandlerContext v, v, v, v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev>;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev>;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
return;
}
private java.lang.String filterName(java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.channel.ChannelHandler v;
java.lang.String v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
if v != null goto label;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: java.lang.String generateName(io.netty.channel.ChannelHandler)>(v);
return v;
label:
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void checkDuplicateName(java.lang.String)>(v);
return v;
}
public final io.netty.channel.ChannelPipeline addAfter(java.lang.String, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.channel.ChannelHandler v;
io.netty.channel.ChannelPipeline v;
java.lang.String v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline addAfter(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,java.lang.String,io.netty.channel.ChannelHandler)>(null, v, v, v);
return v;
}
public final io.netty.channel.ChannelPipeline addAfter(io.netty.util.concurrent.EventExecutorGroup, java.lang.String, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.util.concurrent.EventExecutor v;
java.lang.Throwable v;
io.netty.util.concurrent.EventExecutorGroup v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.ChannelHandler v;
java.lang.String v, v, v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.util.concurrent.EventExecutorGroup;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
entermonitor v;
label:
staticinvoke <io.netty.channel.DefaultChannelPipeline: void checkMultiplicity(io.netty.channel.ChannelHandler)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: java.lang.String filterName(java.lang.String,io.netty.channel.ChannelHandler)>(v, v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext getContextOrDie(java.lang.String)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext newContext(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,io.netty.channel.ChannelHandler)>(v, v, v);
staticinvoke <io.netty.channel.DefaultChannelPipeline: void addAfter0(io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
v = v.<io.netty.channel.DefaultChannelPipeline: boolean registered>;
if v != 0 goto label;
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void setAddPending()>();
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerCallbackLater(io.netty.channel.AbstractChannelHandlerContext,boolean)>(v, 1);
exitmonitor v;
label:
return v;
label:
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.DefaultChannelPipeline: void callHandlerAddedInEventLoop(io.netty.channel.AbstractChannelHandlerContext,io.netty.util.concurrent.EventExecutor)>(v, v);
exitmonitor v;
label:
return v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerAdded0(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private static void addAfter0(io.netty.channel.AbstractChannelHandlerContext, io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.channel.AbstractChannelHandlerContext v, v, v, v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
return;
}
public final io.netty.channel.ChannelPipeline addFirst(io.netty.channel.ChannelHandler)
{
io.netty.channel.ChannelHandler v;
io.netty.channel.ChannelPipeline v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandler;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline addFirst(java.lang.String,io.netty.channel.ChannelHandler)>(null, v);
return v;
}
public final transient io.netty.channel.ChannelPipeline addFirst(io.netty.channel.ChannelHandler[])
{
io.netty.channel.ChannelPipeline v;
io.netty.channel.ChannelHandler[] v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandler[];
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline addFirst(io.netty.util.concurrent.EventExecutorGroup,io.netty.channel.ChannelHandler[])>(null, v);
return v;
}
public final transient io.netty.channel.ChannelPipeline addFirst(io.netty.util.concurrent.EventExecutorGroup, io.netty.channel.ChannelHandler[])
{
io.netty.util.concurrent.EventExecutorGroup v;
io.netty.channel.ChannelHandler[] v;
int v, v, v, v;
io.netty.channel.ChannelHandler v, v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.util.concurrent.EventExecutorGroup;
v := @parameter: io.netty.channel.ChannelHandler[];
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "handlers");
v = lengthof v;
if v == 0 goto label;
v = v[0];
if v != null goto label;
label:
return v;
label:
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
if v == null goto label;
v = v + 1;
goto label;
label:
v = v - 1;
label:
if v < 0 goto label;
v = v[v];
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline addFirst(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,io.netty.channel.ChannelHandler)>(v, null, v);
v = v - 1;
goto label;
label:
return v;
}
public final io.netty.channel.ChannelPipeline addLast(io.netty.channel.ChannelHandler)
{
io.netty.channel.ChannelHandler v;
io.netty.channel.ChannelPipeline v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandler;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline addLast(java.lang.String,io.netty.channel.ChannelHandler)>(null, v);
return v;
}
public final transient io.netty.channel.ChannelPipeline addLast(io.netty.channel.ChannelHandler[])
{
io.netty.channel.ChannelPipeline v;
io.netty.channel.ChannelHandler[] v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandler[];
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline addLast(io.netty.util.concurrent.EventExecutorGroup,io.netty.channel.ChannelHandler[])>(null, v);
return v;
}
public final transient io.netty.channel.ChannelPipeline addLast(io.netty.util.concurrent.EventExecutorGroup, io.netty.channel.ChannelHandler[])
{
int v, v;
io.netty.channel.ChannelHandler v;
io.netty.util.concurrent.EventExecutorGroup v;
io.netty.channel.ChannelHandler[] v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.util.concurrent.EventExecutorGroup;
v := @parameter: io.netty.channel.ChannelHandler[];
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "handlers");
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
if v == null goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline addLast(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,io.netty.channel.ChannelHandler)>(v, null, v);
v = v + 1;
goto label;
label:
return v;
}
private java.lang.String generateName(io.netty.channel.ChannelHandler)
{
io.netty.util.concurrent.FastThreadLocal v;
int v, v, v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.ChannelHandler v;
java.lang.Class v;
java.lang.Object v, v;
java.lang.String v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandler;
v = <io.netty.channel.DefaultChannelPipeline: io.netty.util.concurrent.FastThreadLocal nameCaches>;
v = virtualinvoke v.<io.netty.util.concurrent.FastThreadLocal: java.lang.Object get()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = staticinvoke <io.netty.channel.DefaultChannelPipeline: java.lang.String generateName0(java.lang.Class)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext context0(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = 1;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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\u0001");
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext context0(java.lang.String)>(v);
if v != null goto label;
v = v;
goto label;
label:
v = v + 1;
goto label;
label:
return v;
}
private static java.lang.String generateName0(java.lang.Class)
{
java.lang.Class v;
java.lang.String v, v;
v := @parameter: java.lang.Class;
v = staticinvoke <io.netty.util.internal.StringUtil: java.lang.String simpleClassName(java.lang.Class)>(v);
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#0");
return v;
}
public final io.netty.channel.ChannelPipeline remove(io.netty.channel.ChannelHandler)
{
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandler;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext getContextOrDie(io.netty.channel.ChannelHandler)>(v);
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext remove(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
public final io.netty.channel.ChannelHandler remove(java.lang.String)
{
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.ChannelHandler v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext getContextOrDie(java.lang.String)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext remove(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
return v;
}
public final io.netty.channel.ChannelHandler remove(java.lang.Class)
{
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.ChannelHandler v;
java.lang.Class v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Class;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext getContextOrDie(java.lang.Class)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext remove(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
return v;
}
public final io.netty.channel.ChannelHandler removeIfExists(java.lang.String)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandlerContext context(java.lang.String)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandler removeIfExists(io.netty.channel.ChannelHandlerContext)>(v);
return v;
}
public final io.netty.channel.ChannelHandler removeIfExists(java.lang.Class)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.Class v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandlerContext context(java.lang.Class)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandler removeIfExists(io.netty.channel.ChannelHandlerContext)>(v);
return v;
}
public final io.netty.channel.ChannelHandler removeIfExists(io.netty.channel.ChannelHandler)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelHandler v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandler;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandlerContext context(io.netty.channel.ChannelHandler)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandler removeIfExists(io.netty.channel.ChannelHandlerContext)>(v);
return v;
}
private io.netty.channel.ChannelHandler removeIfExists(io.netty.channel.ChannelHandlerContext)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandlerContext;
if v != null goto label;
return null;
label:
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext remove(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
return v;
}
private io.netty.channel.AbstractChannelHandlerContext remove(io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.util.concurrent.EventExecutor v;
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
java.lang.AssertionError v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.DefaultChannelPipeline$2 v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v, v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = <io.netty.channel.DefaultChannelPipeline: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v == v goto label;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
if v != v goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
entermonitor v;
label:
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void atomicRemoveFromHandlerList(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = v.<io.netty.channel.DefaultChannelPipeline: boolean registered>;
if v != 0 goto label;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerCallbackLater(io.netty.channel.AbstractChannelHandlerContext,boolean)>(v, 0);
exitmonitor v;
label:
return v;
label:
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;
v = new io.netty.channel.DefaultChannelPipeline$2;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline$2: void <init>(io.netty.channel.DefaultChannelPipeline,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
exitmonitor v;
label:
return v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerRemoved0(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private synchronized void atomicRemoveFromHandlerList(io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.channel.AbstractChannelHandlerContext v, v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev>;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
return;
}
public final io.netty.channel.ChannelHandler removeFirst()
{
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.DefaultChannelPipeline$HeadContext v, v;
io.netty.channel.AbstractChannelHandlerContext v, v, v;
io.netty.channel.ChannelHandler v;
java.util.NoSuchElementException v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
if v != v goto label;
v = new java.util.NoSuchElementException;
specialinvoke v.<java.util.NoSuchElementException: void <init>()>();
throw v;
label:
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext remove(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
return v;
}
public final io.netty.channel.ChannelHandler removeLast()
{
io.netty.channel.DefaultChannelPipeline$TailContext v, v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v, v, v;
io.netty.channel.ChannelHandler v;
java.util.NoSuchElementException v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
if v != v goto label;
v = new java.util.NoSuchElementException;
specialinvoke v.<java.util.NoSuchElementException: void <init>()>();
throw v;
label:
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.AbstractChannelHandlerContext prev>;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext remove(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
return v;
}
public final io.netty.channel.ChannelPipeline replace(io.netty.channel.ChannelHandler, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v, v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandler;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext getContextOrDie(io.netty.channel.ChannelHandler)>(v);
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandler replace(io.netty.channel.AbstractChannelHandlerContext,java.lang.String,io.netty.channel.ChannelHandler)>(v, v, v);
return v;
}
public final io.netty.channel.ChannelHandler replace(java.lang.String, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v, v;
java.lang.String v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext getContextOrDie(java.lang.String)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandler replace(io.netty.channel.AbstractChannelHandlerContext,java.lang.String,io.netty.channel.ChannelHandler)>(v, v, v);
return v;
}
public final io.netty.channel.ChannelHandler replace(java.lang.Class, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v, v;
java.lang.Class v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext getContextOrDie(java.lang.Class)>(v);
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandler replace(io.netty.channel.AbstractChannelHandlerContext,java.lang.String,io.netty.channel.ChannelHandler)>(v, v, v);
return v;
}
private io.netty.channel.ChannelHandler replace(io.netty.channel.AbstractChannelHandlerContext, java.lang.String, io.netty.channel.ChannelHandler)
{
io.netty.util.concurrent.EventExecutor v, v;
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
java.lang.AssertionError v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v, v;
java.lang.String v, v;
boolean v, v, v, v;
io.netty.channel.ChannelHandler v, v, v, v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.DefaultChannelPipeline$3 v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: java.lang.String;
v := @parameter: io.netty.channel.ChannelHandler;
v = <io.netty.channel.DefaultChannelPipeline: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v == v goto label;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
if v != v goto label;
label:
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
entermonitor v;
label:
staticinvoke <io.netty.channel.DefaultChannelPipeline: void checkMultiplicity(io.netty.channel.ChannelHandler)>(v);
if v != null goto label;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: java.lang.String generateName(io.netty.channel.ChannelHandler)>(v);
goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: java.lang.String name()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void checkDuplicateName(java.lang.String)>(v);
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor>;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext newContext(io.netty.util.concurrent.EventExecutorGroup,java.lang.String,io.netty.channel.ChannelHandler)>(v, v, v);
staticinvoke <io.netty.channel.DefaultChannelPipeline: void replace0(io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
v = v.<io.netty.channel.DefaultChannelPipeline: boolean registered>;
if v != 0 goto label;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerCallbackLater(io.netty.channel.AbstractChannelHandlerContext,boolean)>(v, 1);
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerCallbackLater(io.netty.channel.AbstractChannelHandlerContext,boolean)>(v, 0);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
exitmonitor v;
label:
return v;
label:
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;
v = new io.netty.channel.DefaultChannelPipeline$3;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline$3: void <init>(io.netty.channel.DefaultChannelPipeline,io.netty.channel.AbstractChannelHandlerContext,io.netty.channel.AbstractChannelHandlerContext)>(v, v, v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
exitmonitor v;
label:
return v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerAdded0(io.netty.channel.AbstractChannelHandlerContext)>(v);
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerRemoved0(io.netty.channel.AbstractChannelHandlerContext)>(v);
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private static void replace0(io.netty.channel.AbstractChannelHandlerContext, io.netty.channel.AbstractChannelHandlerContext)
{
io.netty.channel.AbstractChannelHandlerContext v, v, v, v;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev>;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev> = v;
v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next> = v;
return;
}
private static void checkMultiplicity(io.netty.channel.ChannelHandler)
{
io.netty.channel.ChannelPipelineException v;
io.netty.channel.ChannelHandler v;
java.lang.Class v;
java.lang.String v, v;
boolean v, v, v;
v := @parameter: io.netty.channel.ChannelHandler;
v = v instanceof io.netty.channel.ChannelHandlerAdapter;
if v == 0 goto label;
v = virtualinvoke v.<io.netty.channel.ChannelHandlerAdapter: boolean isSharable()>();
if v != 0 goto label;
v = v.<io.netty.channel.ChannelHandlerAdapter: boolean added>;
if v == 0 goto label;
v = new io.netty.channel.ChannelPipelineException;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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 is not a @Sharable handler, so can\'t be added or removed multiple times.");
specialinvoke v.<io.netty.channel.ChannelPipelineException: void <init>(java.lang.String)>(v);
throw v;
label:
v.<io.netty.channel.ChannelHandlerAdapter: boolean added> = 1;
label:
return;
}
private void callHandlerAdded0(io.netty.channel.AbstractChannelHandlerContext)
{
java.lang.Throwable v, v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.String v, v, v, v, v, v;
boolean v, v;
io.netty.channel.ChannelPipelineException v, v;
io.netty.util.internal.logging.InternalLogger v, v;
io.netty.channel.ChannelHandler v, v;
java.lang.Class v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void callHandlerAdded()>();
label:
goto label;
label:
v := @caughtexception;
v = 0;
label:
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void atomicRemoveFromHandlerList(io.netty.channel.AbstractChannelHandlerContext)>(v);
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void callHandlerRemoved()>();
v = 1;
label:
goto label;
label:
v := @caughtexception;
v = <io.netty.channel.DefaultChannelPipeline: 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.DefaultChannelPipeline: io.netty.util.internal.logging.InternalLogger logger>;
v = virtualinvoke 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[])>("Failed to remove a handler: \u0001");
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
label:
if v == 0 goto label;
v = new io.netty.channel.ChannelPipelineException;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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.handlerAdded() has thrown an exception; removed.");
specialinvoke v.<io.netty.channel.ChannelPipelineException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline fireExceptionCaught(java.lang.Throwable)>(v);
goto label;
label:
v = new io.netty.channel.ChannelPipelineException;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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.handlerAdded() has thrown an exception; also failed to remove.");
specialinvoke v.<io.netty.channel.ChannelPipelineException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline fireExceptionCaught(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void callHandlerRemoved0(io.netty.channel.AbstractChannelHandlerContext)
{
java.lang.Throwable v;
io.netty.channel.ChannelPipelineException v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.Class v;
java.lang.String v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
label:
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void callHandlerRemoved()>();
label:
goto label;
label:
v := @caughtexception;
v = new io.netty.channel.ChannelPipelineException;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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.handlerRemoved() has thrown an exception.");
specialinvoke v.<io.netty.channel.ChannelPipelineException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelPipeline fireExceptionCaught(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
final void invokeHandlerAddedIfNeeded()
{
io.netty.channel.Channel v;
java.lang.AssertionError v;
io.netty.channel.EventLoop v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v, v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = <io.netty.channel.DefaultChannelPipeline: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.EventLoop eventLoop()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: boolean inEventLoop()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.channel.DefaultChannelPipeline: boolean firstRegistration>;
if v == 0 goto label;
v.<io.netty.channel.DefaultChannelPipeline: boolean firstRegistration> = 0;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerAddedForAllHandlers()>();
label:
return;
}
public final io.netty.channel.ChannelHandler first()
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandlerContext firstContext()>();
if v != null goto label;
return null;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
return v;
}
public final io.netty.channel.ChannelHandlerContext firstContext()
{
io.netty.channel.DefaultChannelPipeline$HeadContext v, v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
if v != v goto label;
return null;
label:
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
return v;
}
public final io.netty.channel.ChannelHandler last()
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.AbstractChannelHandlerContext prev>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
return null;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
return v;
}
public final io.netty.channel.ChannelHandlerContext lastContext()
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.AbstractChannelHandlerContext prev>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
if v != v goto label;
return null;
label:
return v;
}
public final io.netty.channel.ChannelHandler get(java.lang.String)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandlerContext context(java.lang.String)>(v);
if v != null goto label;
return null;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
return v;
}
public final io.netty.channel.ChannelHandler get(java.lang.Class)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.Class v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandlerContext context(java.lang.Class)>(v);
if v != null goto label;
return null;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
return v;
}
public final io.netty.channel.ChannelHandlerContext context(java.lang.String)
{
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.Object v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "name");
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext context0(java.lang.String)>(v);
return v;
}
public final io.netty.channel.ChannelHandlerContext context(io.netty.channel.ChannelHandler)
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandler;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "handler");
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
label:
if v != null goto label;
return null;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
if v != v goto label;
return v;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
goto label;
}
public final io.netty.channel.ChannelHandlerContext context(java.lang.Class)
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.Class v, v;
io.netty.channel.DefaultChannelPipeline v;
boolean v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Class;
staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "handlerType");
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
label:
if v != null goto label;
return null;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
return v;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
goto label;
}
public final java.util.List names()
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
java.util.ArrayList v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
label:
if v != null goto label;
return v;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: java.lang.String name()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
goto label;
}
public final java.util.Map toMap()
{
java.util.LinkedHashMap v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.String v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
label:
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
if v != v goto label;
return v;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: java.lang.String name()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
goto label;
}
public final java.util.Iterator iterator()
{
java.util.Iterator v;
java.util.Map v;
java.util.Set v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: java.util.Map toMap()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
return v;
}
public final java.lang.String toString()
{
io.netty.channel.DefaultChannelPipeline$TailContext v, v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.Class v;
java.lang.StringBuilder v, v;
java.lang.String v, v, v, v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = staticinvoke <io.netty.util.internal.StringUtil: java.lang.String simpleClassName(java.lang.Object)>(v);
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
label:
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
if v == v goto label;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: java.lang.String name()>();
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.ChannelHandler handler()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(41);
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
if v == v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(125);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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 = \u0001");
return v;
}
public final io.netty.channel.ChannelPipeline fireChannelRegistered()
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelRegistered(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
public final io.netty.channel.ChannelPipeline fireChannelUnregistered()
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelUnregistered(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
private synchronized void destroy()
{
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void destroyUp(io.netty.channel.AbstractChannelHandlerContext,boolean)>(v, 0);
return;
}
private void destroyUp(io.netty.channel.AbstractChannelHandlerContext, boolean)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
java.lang.Thread v;
io.netty.channel.AbstractChannelHandlerContext v, v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.DefaultChannelPipeline$4 v;
boolean v, v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: boolean;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
label:
if v != v goto label;
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev>;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void destroyDown(java.lang.Thread,io.netty.channel.AbstractChannelHandlerContext,boolean)>(v, v, v);
goto label;
label:
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop(java.lang.Thread)>(v);
if v != 0 goto label;
v = new io.netty.channel.DefaultChannelPipeline$4;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline$4: void <init>(io.netty.channel.DefaultChannelPipeline,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
goto label;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
v = 0;
goto label;
label:
return;
}
private void destroyDown(java.lang.Thread, io.netty.channel.AbstractChannelHandlerContext, boolean)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
java.lang.Thread v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.DefaultChannelPipeline$5 v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Thread;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: boolean;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
label:
if v == v goto label;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.util.concurrent.EventExecutor executor()>();
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: boolean inEventLoop(java.lang.Thread)>(v);
if v == 0 goto label;
label:
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void atomicRemoveFromHandlerList(io.netty.channel.AbstractChannelHandlerContext)>(v);
specialinvoke v.<io.netty.channel.DefaultChannelPipeline: void callHandlerRemoved0(io.netty.channel.AbstractChannelHandlerContext)>(v);
goto label;
label:
v = new io.netty.channel.DefaultChannelPipeline$5;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline$5: void <init>(io.netty.channel.DefaultChannelPipeline,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
goto label;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext prev>;
v = 0;
goto label;
label:
return;
}
public final io.netty.channel.ChannelPipeline fireChannelActive()
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelActive(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
public final io.netty.channel.ChannelPipeline fireChannelInactive()
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelInactive(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
public final io.netty.channel.ChannelPipeline fireExceptionCaught(java.lang.Throwable)
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Throwable;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeExceptionCaught(io.netty.channel.AbstractChannelHandlerContext,java.lang.Throwable)>(v, v);
return v;
}
public final io.netty.channel.ChannelPipeline fireUserEventTriggered(java.lang.Object)
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Object;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeUserEventTriggered(io.netty.channel.AbstractChannelHandlerContext,java.lang.Object)>(v, v);
return v;
}
public final io.netty.channel.ChannelPipeline fireChannelRead(java.lang.Object)
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Object;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelRead(io.netty.channel.AbstractChannelHandlerContext,java.lang.Object)>(v, v);
return v;
}
public final io.netty.channel.ChannelPipeline fireChannelReadComplete()
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelReadComplete(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
public final io.netty.channel.ChannelPipeline fireChannelWritabilityChanged()
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
staticinvoke <io.netty.channel.AbstractChannelHandlerContext: void invokeChannelWritabilityChanged(io.netty.channel.AbstractChannelHandlerContext)>(v);
return v;
}
public final io.netty.channel.ChannelFuture bind(java.net.SocketAddress)
{
java.net.SocketAddress v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.net.SocketAddress;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture bind(java.net.SocketAddress)>(v);
return v;
}
public final io.netty.channel.ChannelFuture connect(java.net.SocketAddress)
{
java.net.SocketAddress v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.net.SocketAddress;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture connect(java.net.SocketAddress)>(v);
return v;
}
public final io.netty.channel.ChannelFuture connect(java.net.SocketAddress, java.net.SocketAddress)
{
java.net.SocketAddress v, v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.net.SocketAddress;
v := @parameter: java.net.SocketAddress;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture connect(java.net.SocketAddress,java.net.SocketAddress)>(v, v);
return v;
}
public final io.netty.channel.ChannelFuture disconnect()
{
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture disconnect()>();
return v;
}
public final io.netty.channel.ChannelFuture close()
{
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture close()>();
return v;
}
public final io.netty.channel.ChannelFuture deregister()
{
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture deregister()>();
return v;
}
public final io.netty.channel.ChannelPipeline flush()
{
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelHandlerContext flush()>();
return v;
}
public final io.netty.channel.ChannelFuture bind(java.net.SocketAddress, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
java.net.SocketAddress v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture bind(java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v);
return v;
}
public final io.netty.channel.ChannelFuture connect(java.net.SocketAddress, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
java.net.SocketAddress v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture connect(java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v);
return v;
}
public final io.netty.channel.ChannelFuture connect(java.net.SocketAddress, java.net.SocketAddress, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
java.net.SocketAddress v, v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.net.SocketAddress;
v := @parameter: java.net.SocketAddress;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture connect(java.net.SocketAddress,java.net.SocketAddress,io.netty.channel.ChannelPromise)>(v, v, v);
return v;
}
public final io.netty.channel.ChannelFuture disconnect(io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture disconnect(io.netty.channel.ChannelPromise)>(v);
return v;
}
public final io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise)>(v);
return v;
}
public final io.netty.channel.ChannelFuture deregister(io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture deregister(io.netty.channel.ChannelPromise)>(v);
return v;
}
public final io.netty.channel.ChannelPipeline read()
{
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelHandlerContext read()>();
return v;
}
public final io.netty.channel.ChannelFuture write(java.lang.Object)
{
io.netty.channel.DefaultChannelPipeline$TailContext v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Object;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture write(java.lang.Object)>(v);
return v;
}
public final io.netty.channel.ChannelFuture write(java.lang.Object, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture write(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
return v;
}
public final io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
return v;
}
public final io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)
{
io.netty.channel.DefaultChannelPipeline$TailContext v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Object;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$TailContext: io.netty.channel.ChannelFuture writeAndFlush(java.lang.Object)>(v);
return v;
}
public final io.netty.channel.ChannelPromise newPromise()
{
io.netty.channel.Channel v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.DefaultChannelPromise v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = new io.netty.channel.DefaultChannelPromise;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.Channel channel>;
specialinvoke v.<io.netty.channel.DefaultChannelPromise: void <init>(io.netty.channel.Channel)>(v);
return v;
}
public final io.netty.channel.ChannelProgressivePromise newProgressivePromise()
{
io.netty.channel.Channel v;
io.netty.channel.DefaultChannelProgressivePromise v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = new io.netty.channel.DefaultChannelProgressivePromise;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.Channel channel>;
specialinvoke v.<io.netty.channel.DefaultChannelProgressivePromise: void <init>(io.netty.channel.Channel)>(v);
return v;
}
public final io.netty.channel.ChannelFuture newSucceededFuture()
{
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelFuture succeededFuture>;
return v;
}
public final io.netty.channel.ChannelFuture newFailedFuture(java.lang.Throwable)
{
io.netty.channel.Channel v;
java.lang.Throwable v;
io.netty.channel.FailedChannelFuture v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Throwable;
v = new io.netty.channel.FailedChannelFuture;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.Channel channel>;
specialinvoke v.<io.netty.channel.FailedChannelFuture: void <init>(io.netty.channel.Channel,io.netty.util.concurrent.EventExecutor,java.lang.Throwable)>(v, null, v);
return v;
}
public final io.netty.channel.ChannelPromise voidPromise()
{
io.netty.channel.VoidChannelPromise v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.VoidChannelPromise voidPromise>;
return v;
}
private void checkDuplicateName(java.lang.String)
{
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.String v, v;
java.lang.IllegalArgumentException v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v = specialinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.AbstractChannelHandlerContext context0(java.lang.String)>(v);
if v == null goto label;
v = new java.lang.IllegalArgumentException;
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[])>("Duplicate handler name: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private io.netty.channel.AbstractChannelHandlerContext context0(java.lang.String)
{
io.netty.channel.DefaultChannelPipeline$HeadContext v;
io.netty.channel.DefaultChannelPipeline$TailContext v;
io.netty.channel.AbstractChannelHandlerContext v;
java.lang.String v, v;
io.netty.channel.DefaultChannelPipeline v;
boolean v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$HeadContext head>;
v = v.<io.netty.channel.DefaultChannelPipeline$HeadContext: io.netty.channel.AbstractChannelHandlerContext next>;
label:
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$TailContext tail>;
if v == v goto label;
v = virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: java.lang.String name()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return v;
label:
v = v.<io.netty.channel.AbstractChannelHandlerContext: io.netty.channel.AbstractChannelHandlerContext next>;
goto label;
label:
return null;
}
private io.netty.channel.AbstractChannelHandlerContext getContextOrDie(java.lang.String)
{
io.netty.channel.ChannelHandlerContext v;
java.lang.String v;
java.util.NoSuchElementException v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.String;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandlerContext context(java.lang.String)>(v);
if v != null goto label;
v = new java.util.NoSuchElementException;
specialinvoke v.<java.util.NoSuchElementException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
private io.netty.channel.AbstractChannelHandlerContext getContextOrDie(io.netty.channel.ChannelHandler)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelHandler v;
java.lang.Class v;
java.lang.String v;
java.util.NoSuchElementException v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandler;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandlerContext context(io.netty.channel.ChannelHandler)>(v);
if v != null goto label;
v = new java.util.NoSuchElementException;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
specialinvoke v.<java.util.NoSuchElementException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
private io.netty.channel.AbstractChannelHandlerContext getContextOrDie(java.lang.Class)
{
io.netty.channel.ChannelHandlerContext v;
java.lang.Class v;
java.lang.String v;
java.util.NoSuchElementException v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.ChannelHandlerContext context(java.lang.Class)>(v);
if v != null goto label;
v = new java.util.NoSuchElementException;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
specialinvoke v.<java.util.NoSuchElementException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
private void callHandlerAddedForAllHandlers()
{
java.lang.Throwable v;
io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback v, v;
java.lang.AssertionError v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v;
v := @this: io.netty.channel.DefaultChannelPipeline;
entermonitor v;
label:
v = <io.netty.channel.DefaultChannelPipeline: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.channel.DefaultChannelPipeline: boolean registered>;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v.<io.netty.channel.DefaultChannelPipeline: boolean registered> = 1;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pendingHandlerCallbackHead>;
v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pendingHandlerCallbackHead> = null;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v;
label:
if v == null goto label;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback: void execute()>();
v = v.<io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback next>;
goto label;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void callHandlerCallbackLater(io.netty.channel.AbstractChannelHandlerContext, boolean)
{
io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback v, v, v, v;
java.lang.AssertionError v;
io.netty.channel.DefaultChannelPipeline$PendingHandlerRemovedTask v;
io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.DefaultChannelPipeline v;
boolean v, v, v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: boolean;
v = <io.netty.channel.DefaultChannelPipeline: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.channel.DefaultChannelPipeline: boolean registered>;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
if v == 0 goto label;
v = new io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask;
v = v;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask: void <init>(io.netty.channel.DefaultChannelPipeline,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
goto label;
label:
v = new io.netty.channel.DefaultChannelPipeline$PendingHandlerRemovedTask;
v = v;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline$PendingHandlerRemovedTask: void <init>(io.netty.channel.DefaultChannelPipeline,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
label:
v = v;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pendingHandlerCallbackHead>;
if v != null goto label;
v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback pendingHandlerCallbackHead> = v;
goto label;
label:
v = v.<io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback next>;
if v == null goto label;
v = v.<io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback next>;
goto label;
label:
v.<io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback: io.netty.channel.DefaultChannelPipeline$PendingHandlerCallback next> = v;
label:
return;
}
private void callHandlerAddedInEventLoop(io.netty.channel.AbstractChannelHandlerContext, io.netty.util.concurrent.EventExecutor)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.channel.DefaultChannelPipeline$6 v;
io.netty.channel.AbstractChannelHandlerContext v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.AbstractChannelHandlerContext;
v := @parameter: io.netty.util.concurrent.EventExecutor;
virtualinvoke v.<io.netty.channel.AbstractChannelHandlerContext: void setAddPending()>();
v = new io.netty.channel.DefaultChannelPipeline$6;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline$6: void <init>(io.netty.channel.DefaultChannelPipeline,io.netty.channel.AbstractChannelHandlerContext)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: void execute(java.lang.Runnable)>(v);
return;
}
protected void onUnhandledInboundException(java.lang.Throwable)
{
java.lang.Throwable v, v;
io.netty.util.internal.logging.InternalLogger v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Throwable;
label:
v = <io.netty.channel.DefaultChannelPipeline: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Throwable)>("An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.", v);
label:
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void onUnhandledInboundChannelActive()
{
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
return;
}
protected void onUnhandledInboundChannelInactive()
{
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
return;
}
protected void onUnhandledInboundMessage(java.lang.Object)
{
java.lang.Throwable v;
io.netty.util.internal.logging.InternalLogger v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Object;
label:
v = <io.netty.channel.DefaultChannelPipeline: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object)>("Discarded inbound message {} that reached at the tail of the pipeline. Please check your pipeline configuration.", v);
label:
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void onUnhandledInboundMessage(io.netty.channel.ChannelHandlerContext, java.lang.Object)
{
io.netty.channel.ChannelPipeline v;
io.netty.channel.Channel v;
io.netty.channel.ChannelHandlerContext v;
java.util.List v;
io.netty.util.internal.logging.InternalLogger v, v;
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
boolean v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
virtualinvoke v.<io.netty.channel.DefaultChannelPipeline: void onUnhandledInboundMessage(java.lang.Object)>(v);
v = <io.netty.channel.DefaultChannelPipeline: 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.DefaultChannelPipeline: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelPipeline pipeline()>();
v = interfaceinvoke v.<io.netty.channel.ChannelPipeline: java.util.List names()>();
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Discarded message pipeline : {}. Channel : {}.", v, v);
label:
return;
}
protected void onUnhandledInboundChannelReadComplete()
{
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
return;
}
protected void onUnhandledInboundUserEventTriggered(java.lang.Object)
{
java.lang.Object v;
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: java.lang.Object;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
return;
}
protected void onUnhandledChannelWritabilityChanged()
{
io.netty.channel.DefaultChannelPipeline v;
v := @this: io.netty.channel.DefaultChannelPipeline;
return;
}
protected void incrementPendingOutboundBytes(long)
{
io.netty.channel.Channel v;
io.netty.channel.ChannelOutboundBuffer v;
long v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.Channel$Unsafe v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: long;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.Channel$Unsafe unsafe()>();
v = interfaceinvoke v.<io.netty.channel.Channel$Unsafe: io.netty.channel.ChannelOutboundBuffer outboundBuffer()>();
if v == null goto label;
virtualinvoke v.<io.netty.channel.ChannelOutboundBuffer: void incrementPendingOutboundBytes(long)>(v);
label:
return;
}
protected void decrementPendingOutboundBytes(long)
{
io.netty.channel.Channel v;
io.netty.channel.ChannelOutboundBuffer v;
long v;
io.netty.channel.DefaultChannelPipeline v;
io.netty.channel.Channel$Unsafe v;
v := @this: io.netty.channel.DefaultChannelPipeline;
v := @parameter: long;
v = v.<io.netty.channel.DefaultChannelPipeline: io.netty.channel.Channel channel>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.Channel$Unsafe unsafe()>();
v = interfaceinvoke v.<io.netty.channel.Channel$Unsafe: io.netty.channel.ChannelOutboundBuffer outboundBuffer()>();
if v == null goto label;
virtualinvoke v.<io.netty.channel.ChannelOutboundBuffer: void decrementPendingOutboundBytes(long)>(v);
label:
return;
}
static void <clinit>()
{
java.util.concurrent.atomic.AtomicReferenceFieldUpdater v;
io.netty.util.internal.logging.InternalLogger v;
java.lang.Class v;
java.lang.String v, v;
io.netty.channel.DefaultChannelPipeline$1 v;
boolean v, v;
v = class "Lio/netty/channel/DefaultChannelPipeline;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.netty.channel.DefaultChannelPipeline: 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/DefaultChannelPipeline;");
<io.netty.channel.DefaultChannelPipeline: io.netty.util.internal.logging.InternalLogger logger> = v;
v = staticinvoke <io.netty.channel.DefaultChannelPipeline: java.lang.String generateName0(java.lang.Class)>(class "Lio/netty/channel/DefaultChannelPipeline$HeadContext;");
<io.netty.channel.DefaultChannelPipeline: java.lang.String HEAD_NAME> = v;
v = staticinvoke <io.netty.channel.DefaultChannelPipeline: java.lang.String generateName0(java.lang.Class)>(class "Lio/netty/channel/DefaultChannelPipeline$TailContext;");
<io.netty.channel.DefaultChannelPipeline: java.lang.String TAIL_NAME> = v;
v = new io.netty.channel.DefaultChannelPipeline$1;
specialinvoke v.<io.netty.channel.DefaultChannelPipeline$1: void <init>()>();
<io.netty.channel.DefaultChannelPipeline: io.netty.util.concurrent.FastThreadLocal nameCaches> = v;
v = staticinvoke <java.util.concurrent.atomic.AtomicReferenceFieldUpdater: java.util.concurrent.atomic.AtomicReferenceFieldUpdater newUpdater(java.lang.Class,java.lang.Class,java.lang.String)>(class "Lio/netty/channel/DefaultChannelPipeline;", class "Lio/netty/channel/MessageSizeEstimator$Handle;", "estimatorHandle");
<io.netty.channel.DefaultChannelPipeline: java.util.concurrent.atomic.AtomicReferenceFieldUpdater ESTIMATOR> = v;
return;
}
}