public class io.netty.channel.embedded.EmbeddedChannel extends io.netty.channel.AbstractChannel
{
private static final java.net.SocketAddress LOCAL_ADDRESS;
private static final java.net.SocketAddress REMOTE_ADDRESS;
private static final io.netty.channel.ChannelHandler[] EMPTY_HANDLERS;
private static final io.netty.util.internal.logging.InternalLogger logger;
private static final io.netty.channel.ChannelMetadata METADATA_NO_DISCONNECT;
private static final io.netty.channel.ChannelMetadata METADATA_DISCONNECT;
private final io.netty.channel.embedded.EmbeddedEventLoop loop;
private final io.netty.channel.ChannelFutureListener recordExceptionListener;
private final io.netty.channel.ChannelMetadata metadata;
private final io.netty.channel.ChannelConfig config;
private java.util.Queue inboundMessages;
private java.util.Queue outboundMessages;
private java.lang.Throwable lastException;
private io.netty.channel.embedded.EmbeddedChannel$State state;
static final boolean $assertionsDisabled;
public void <init>()
{
io.netty.channel.ChannelHandler[] v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = <io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelHandler[] EMPTY_HANDLERS>;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void <init>(io.netty.channel.ChannelHandler[])>(v);
return;
}
public void <init>(io.netty.channel.ChannelId)
{
io.netty.channel.ChannelId v;
io.netty.channel.ChannelHandler[] v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelId;
v = <io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelHandler[] EMPTY_HANDLERS>;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void <init>(io.netty.channel.ChannelId,io.netty.channel.ChannelHandler[])>(v, v);
return;
}
public transient void <init>(io.netty.channel.ChannelHandler[])
{
io.netty.channel.ChannelId v;
io.netty.channel.ChannelHandler[] v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelHandler[];
v = <io.netty.channel.embedded.EmbeddedChannelId: io.netty.channel.ChannelId INSTANCE>;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void <init>(io.netty.channel.ChannelId,io.netty.channel.ChannelHandler[])>(v, v);
return;
}
public transient void <init>(boolean, io.netty.channel.ChannelHandler[])
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.ChannelId v;
io.netty.channel.ChannelHandler[] v;
boolean v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: boolean;
v := @parameter: io.netty.channel.ChannelHandler[];
v = <io.netty.channel.embedded.EmbeddedChannelId: io.netty.channel.ChannelId INSTANCE>;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void <init>(io.netty.channel.ChannelId,boolean,io.netty.channel.ChannelHandler[])>(v, v, v);
return;
}
public transient void <init>(boolean, boolean, io.netty.channel.ChannelHandler[])
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.ChannelId v;
io.netty.channel.ChannelHandler[] v;
boolean v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: io.netty.channel.ChannelHandler[];
v = <io.netty.channel.embedded.EmbeddedChannelId: io.netty.channel.ChannelId INSTANCE>;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void <init>(io.netty.channel.ChannelId,boolean,boolean,io.netty.channel.ChannelHandler[])>(v, v, v, v);
return;
}
public transient void <init>(io.netty.channel.ChannelId, io.netty.channel.ChannelHandler[])
{
io.netty.channel.ChannelId v;
io.netty.channel.ChannelHandler[] v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelId;
v := @parameter: io.netty.channel.ChannelHandler[];
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void <init>(io.netty.channel.ChannelId,boolean,io.netty.channel.ChannelHandler[])>(v, 0, v);
return;
}
public transient void <init>(io.netty.channel.ChannelId, boolean, io.netty.channel.ChannelHandler[])
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.ChannelId v;
io.netty.channel.ChannelHandler[] v;
boolean v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelId;
v := @parameter: boolean;
v := @parameter: io.netty.channel.ChannelHandler[];
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void <init>(io.netty.channel.ChannelId,boolean,boolean,io.netty.channel.ChannelHandler[])>(v, 1, v, v);
return;
}
public transient void <init>(io.netty.channel.ChannelId, boolean, boolean, io.netty.channel.ChannelHandler[])
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.ChannelId v;
io.netty.channel.ChannelHandler[] v;
boolean v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelId;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: io.netty.channel.ChannelHandler[];
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void <init>(io.netty.channel.Channel,io.netty.channel.ChannelId,boolean,boolean,io.netty.channel.ChannelHandler[])>(null, v, v, v, v);
return;
}
public transient void <init>(io.netty.channel.Channel, io.netty.channel.ChannelId, boolean, boolean, io.netty.channel.ChannelHandler[])
{
io.netty.channel.DefaultChannelConfig v;
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.ChannelId v;
io.netty.channel.embedded.EmbeddedChannel$1 v;
io.netty.channel.embedded.EmbeddedEventLoop v;
io.netty.channel.ChannelHandler[] v;
io.netty.channel.Channel v;
io.netty.channel.ChannelMetadata v;
boolean v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.Channel;
v := @parameter: io.netty.channel.ChannelId;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: io.netty.channel.ChannelHandler[];
specialinvoke v.<io.netty.channel.AbstractChannel: void <init>(io.netty.channel.Channel,io.netty.channel.ChannelId)>(v, v);
v = new io.netty.channel.embedded.EmbeddedEventLoop;
specialinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: void <init>()>();
v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop loop> = v;
v = new io.netty.channel.embedded.EmbeddedChannel$1;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel$1: void <init>(io.netty.channel.embedded.EmbeddedChannel)>(v);
v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFutureListener recordExceptionListener> = v;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata metadata(boolean)>(v);
v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata metadata> = v;
v = new io.netty.channel.DefaultChannelConfig;
specialinvoke v.<io.netty.channel.DefaultChannelConfig: void <init>(io.netty.channel.Channel)>(v);
v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelConfig config> = v;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void setup(boolean,io.netty.channel.ChannelHandler[])>(v, v);
return;
}
public transient void <init>(io.netty.channel.ChannelId, boolean, io.netty.channel.ChannelConfig, io.netty.channel.ChannelHandler[])
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.ChannelId v;
io.netty.channel.embedded.EmbeddedChannel$1 v;
io.netty.channel.embedded.EmbeddedEventLoop v;
io.netty.channel.ChannelHandler[] v;
io.netty.channel.ChannelConfig v;
java.lang.Object v;
io.netty.channel.ChannelMetadata v;
boolean v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelId;
v := @parameter: boolean;
v := @parameter: io.netty.channel.ChannelConfig;
v := @parameter: io.netty.channel.ChannelHandler[];
specialinvoke v.<io.netty.channel.AbstractChannel: void <init>(io.netty.channel.Channel,io.netty.channel.ChannelId)>(null, v);
v = new io.netty.channel.embedded.EmbeddedEventLoop;
specialinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: void <init>()>();
v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop loop> = v;
v = new io.netty.channel.embedded.EmbeddedChannel$1;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel$1: void <init>(io.netty.channel.embedded.EmbeddedChannel)>(v);
v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFutureListener recordExceptionListener> = v;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata metadata(boolean)>(v);
v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata metadata> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "config");
v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelConfig config> = v;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void setup(boolean,io.netty.channel.ChannelHandler[])>(1, v);
return;
}
private static io.netty.channel.ChannelMetadata metadata(boolean)
{
io.netty.channel.ChannelMetadata v;
boolean v;
v := @parameter: boolean;
if v == 0 goto label;
v = <io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata METADATA_DISCONNECT>;
goto label;
label:
v = <io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata METADATA_NO_DISCONNECT>;
label:
return v;
}
private transient void setup(boolean, io.netty.channel.ChannelHandler[])
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.embedded.EmbeddedChannel$2 v;
io.netty.channel.ChannelPipeline v;
java.lang.AssertionError v;
io.netty.channel.embedded.EmbeddedEventLoop v;
io.netty.channel.ChannelHandler[] v, v;
io.netty.channel.ChannelFuture v;
boolean v, v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: boolean;
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 = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPipeline pipeline()>();
v = newarray (io.netty.channel.ChannelHandler)[1];
v = new io.netty.channel.embedded.EmbeddedChannel$2;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel$2: void <init>(io.netty.channel.embedded.EmbeddedChannel,io.netty.channel.ChannelHandler[])>(v, v);
v[0] = v;
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline addLast(io.netty.channel.ChannelHandler[])>(v);
if v == 0 goto label;
v = v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop loop>;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: io.netty.channel.ChannelFuture register(io.netty.channel.Channel)>(v);
v = <io.netty.channel.embedded.EmbeddedChannel: boolean $assertionsDisabled>;
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: boolean isDone()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
return;
}
public void register() throws java.lang.Exception
{
java.lang.Throwable v;
io.netty.channel.embedded.EmbeddedChannel v;
java.lang.AssertionError v;
io.netty.channel.embedded.EmbeddedEventLoop v;
boolean v, v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop loop>;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: io.netty.channel.ChannelFuture register(io.netty.channel.Channel)>(v);
v = <io.netty.channel.embedded.EmbeddedChannel: boolean $assertionsDisabled>;
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: boolean isDone()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: java.lang.Throwable cause()>();
if v == null goto label;
staticinvoke <io.netty.util.internal.PlatformDependent: void throwException(java.lang.Throwable)>(v);
label:
return;
}
protected final io.netty.channel.DefaultChannelPipeline newChannelPipeline()
{
io.netty.channel.embedded.EmbeddedChannel$EmbeddedChannelPipeline v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = new io.netty.channel.embedded.EmbeddedChannel$EmbeddedChannelPipeline;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel$EmbeddedChannelPipeline: void <init>(io.netty.channel.embedded.EmbeddedChannel,io.netty.channel.embedded.EmbeddedChannel)>(v, v);
return v;
}
public io.netty.channel.ChannelMetadata metadata()
{
io.netty.channel.ChannelMetadata v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata metadata>;
return v;
}
public io.netty.channel.ChannelConfig config()
{
io.netty.channel.ChannelConfig v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelConfig config>;
return v;
}
public boolean isOpen()
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.embedded.EmbeddedChannel$State v, v;
boolean v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedChannel$State state>;
v = <io.netty.channel.embedded.EmbeddedChannel$State: io.netty.channel.embedded.EmbeddedChannel$State CLOSED>;
if v == v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isActive()
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.embedded.EmbeddedChannel$State v, v;
boolean v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedChannel$State state>;
v = <io.netty.channel.embedded.EmbeddedChannel$State: io.netty.channel.embedded.EmbeddedChannel$State ACTIVE>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.util.Queue inboundMessages()
{
io.netty.channel.embedded.EmbeddedChannel v;
java.util.Queue v, v;
java.util.ArrayDeque v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages>;
if v != null goto label;
v = new java.util.ArrayDeque;
specialinvoke v.<java.util.ArrayDeque: void <init>()>();
v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages> = v;
label:
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages>;
return v;
}
public java.util.Queue lastInboundBuffer()
{
java.util.Queue v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages()>();
return v;
}
public java.util.Queue outboundMessages()
{
io.netty.channel.embedded.EmbeddedChannel v;
java.util.Queue v, v;
java.util.ArrayDeque v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages>;
if v != null goto label;
v = new java.util.ArrayDeque;
specialinvoke v.<java.util.ArrayDeque: void <init>()>();
v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages> = v;
label:
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages>;
return v;
}
public java.util.Queue lastOutboundBuffer()
{
java.util.Queue v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages()>();
return v;
}
public java.lang.Object readInbound()
{
java.lang.Object v;
java.util.Queue v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages>;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: java.lang.Object poll(java.util.Queue)>(v);
if v == null goto label;
staticinvoke <io.netty.util.ReferenceCountUtil: java.lang.Object touch(java.lang.Object,java.lang.Object)>(v, "Caller of readInbound() will handle the message from this point");
label:
return v;
}
public java.lang.Object readOutbound()
{
java.lang.Object v;
java.util.Queue v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages>;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: java.lang.Object poll(java.util.Queue)>(v);
if v == null goto label;
staticinvoke <io.netty.util.ReferenceCountUtil: java.lang.Object touch(java.lang.Object,java.lang.Object)>(v, "Caller of readOutbound() will handle the message from this point.");
label:
return v;
}
public transient boolean writeInbound(java.lang.Object[])
{
java.lang.Object[] v;
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.ChannelPipeline v;
io.netty.channel.ChannelPromise v;
int v, v, v;
java.lang.Object v;
java.util.Queue v, v;
boolean v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: java.lang.Object[];
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void ensureOpen()>();
v = lengthof v;
if v != 0 goto label;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages>;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean isNotEmpty(java.util.Queue)>(v);
return v;
label:
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPipeline pipeline()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireChannelRead(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPromise voidPromise()>();
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture flushInbound(boolean,io.netty.channel.ChannelPromise)>(0, v);
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages>;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean isNotEmpty(java.util.Queue)>(v);
return v;
}
public io.netty.channel.ChannelFuture writeOneInbound(java.lang.Object)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.embedded.EmbeddedChannel v;
java.lang.Object v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture writeOneInbound(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
return v;
}
public io.netty.channel.ChannelFuture writeOneInbound(java.lang.Object, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.embedded.EmbeddedChannel v;
java.lang.Object v;
io.netty.channel.ChannelPipeline v;
boolean v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean checkOpen(boolean)>(1);
if v == 0 goto label;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPipeline pipeline()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireChannelRead(java.lang.Object)>(v);
label:
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture checkException(io.netty.channel.ChannelPromise)>(v);
return v;
}
public io.netty.channel.embedded.EmbeddedChannel flushInbound()
{
io.netty.channel.ChannelPromise v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPromise voidPromise()>();
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture flushInbound(boolean,io.netty.channel.ChannelPromise)>(1, v);
return v;
}
private io.netty.channel.ChannelFuture flushInbound(boolean, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.ChannelPipeline v;
boolean v, v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: boolean;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean checkOpen(boolean)>(v);
if v == 0 goto label;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPipeline pipeline()>();
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline fireChannelReadComplete()>();
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void runPendingTasks()>();
label:
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture checkException(io.netty.channel.ChannelPromise)>(v);
return v;
}
public transient boolean writeOutbound(java.lang.Object[])
{
java.lang.Throwable v;
java.lang.Object[] v;
io.netty.util.internal.RecyclableArrayList v;
io.netty.channel.ChannelFutureListener v;
int v, v, v, v, v, v;
boolean v, v, v;
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.ChannelFuture v;
java.lang.Object v, v;
java.util.Queue v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: java.lang.Object[];
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void ensureOpen()>();
v = lengthof v;
if v != 0 goto label;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages>;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean isNotEmpty(java.util.Queue)>(v);
return v;
label:
v = lengthof v;
v = staticinvoke <io.netty.util.internal.RecyclableArrayList: io.netty.util.internal.RecyclableArrayList newInstance(int)>(v);
label:
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
if v == null goto label;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture write(java.lang.Object)>(v);
virtualinvoke v.<io.netty.util.internal.RecyclableArrayList: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void flushOutbound0()>();
v = virtualinvoke v.<io.netty.util.internal.RecyclableArrayList: int size()>();
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.util.internal.RecyclableArrayList: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: boolean isDone()>();
if v == 0 goto label;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void recordException(io.netty.channel.ChannelFuture)>(v);
goto label;
label:
v = v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFutureListener recordExceptionListener>;
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
label:
v = v + 1;
goto label;
label:
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void checkException()>();
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages>;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean isNotEmpty(java.util.Queue)>(v);
label:
virtualinvoke v.<io.netty.util.internal.RecyclableArrayList: boolean recycle()>();
return v;
label:
v := @caughtexception;
virtualinvoke v.<io.netty.util.internal.RecyclableArrayList: boolean recycle()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
public io.netty.channel.ChannelFuture writeOneOutbound(java.lang.Object)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.embedded.EmbeddedChannel v;
java.lang.Object v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture writeOneOutbound(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
return v;
}
public io.netty.channel.ChannelFuture writeOneOutbound(java.lang.Object, io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.embedded.EmbeddedChannel v;
java.lang.Object v;
boolean v;
io.netty.channel.ChannelFuture v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean checkOpen(boolean)>(1);
if v == 0 goto label;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture write(java.lang.Object,io.netty.channel.ChannelPromise)>(v, v);
return v;
label:
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture checkException(io.netty.channel.ChannelPromise)>(v);
return v;
}
public io.netty.channel.embedded.EmbeddedChannel flushOutbound()
{
io.netty.channel.ChannelPromise v;
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean checkOpen(boolean)>(1);
if v == 0 goto label;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void flushOutbound0()>();
label:
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPromise voidPromise()>();
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture checkException(io.netty.channel.ChannelPromise)>(v);
return v;
}
private void flushOutbound0()
{
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void runPendingTasks()>();
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.Channel flush()>();
return;
}
public boolean finish()
{
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean finish(boolean)>(0);
return v;
}
public boolean finishAndReleaseAll()
{
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean finish(boolean)>(1);
return v;
}
private boolean finish(boolean)
{
java.lang.Throwable v;
io.netty.channel.embedded.EmbeddedChannel v;
java.util.Queue v, v, v, v, v, v;
boolean v, v, v, v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: boolean;
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture close()>();
label:
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void checkException()>();
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages>;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean isNotEmpty(java.util.Queue)>(v);
if v != 0 goto label;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages>;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean isNotEmpty(java.util.Queue)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
if v == 0 goto label;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages>;
staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean releaseAll(java.util.Queue)>(v);
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages>;
staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean releaseAll(java.util.Queue)>(v);
label:
return v;
label:
v := @caughtexception;
if v == 0 goto label;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages>;
staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean releaseAll(java.util.Queue)>(v);
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages>;
staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean releaseAll(java.util.Queue)>(v);
label:
throw v;
catch java.lang.Throwable from label to label with label;
}
public boolean releaseInbound()
{
java.util.Queue v;
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages>;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean releaseAll(java.util.Queue)>(v);
return v;
}
public boolean releaseOutbound()
{
java.util.Queue v;
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages>;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean releaseAll(java.util.Queue)>(v);
return v;
}
private static boolean releaseAll(java.util.Queue)
{
java.lang.Object v;
java.util.Queue v;
boolean v;
v := @parameter: java.util.Queue;
v = staticinvoke <io.netty.channel.embedded.EmbeddedChannel: boolean isNotEmpty(java.util.Queue)>(v);
if v == 0 goto label;
label:
v = interfaceinvoke v.<java.util.Queue: java.lang.Object poll()>();
if v == null goto label;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
goto label;
label:
return 1;
label:
return 0;
}
private void finishPendingTasks(boolean)
{
io.netty.channel.embedded.EmbeddedEventLoop v;
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: boolean;
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void runPendingTasks()>();
if v == 0 goto label;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()>();
virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: void cancelScheduledTasks()>();
label:
return;
}
public final io.netty.channel.ChannelFuture close()
{
io.netty.channel.ChannelPromise v;
io.netty.channel.ChannelFuture v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise)>(v);
return v;
}
public final io.netty.channel.ChannelFuture disconnect()
{
io.netty.channel.ChannelPromise v;
io.netty.channel.ChannelFuture v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: 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.ChannelFuture v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelPromise;
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void runPendingTasks()>();
v = specialinvoke v.<io.netty.channel.AbstractChannel: io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise)>(v);
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void finishPendingTasks(boolean)>(1);
return v;
}
public final io.netty.channel.ChannelFuture disconnect(io.netty.channel.ChannelPromise)
{
io.netty.channel.ChannelPromise v;
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.ChannelMetadata v;
boolean v, v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelPromise;
v = specialinvoke v.<io.netty.channel.AbstractChannel: io.netty.channel.ChannelFuture disconnect(io.netty.channel.ChannelPromise)>(v);
v = v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata metadata>;
v = virtualinvoke v.<io.netty.channel.ChannelMetadata: boolean hasDisconnect()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void finishPendingTasks(boolean)>(v);
return v;
}
private static boolean isNotEmpty(java.util.Queue)
{
java.util.Queue v;
boolean v, v;
v := @parameter: java.util.Queue;
if v == null goto label;
v = interfaceinvoke v.<java.util.Queue: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static java.lang.Object poll(java.util.Queue)
{
java.lang.Object v;
java.util.Queue v;
v := @parameter: java.util.Queue;
if v == null goto label;
v = interfaceinvoke v.<java.util.Queue: java.lang.Object poll()>();
goto label;
label:
v = null;
label:
return v;
}
public void runPendingTasks()
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.embedded.EmbeddedEventLoop v, v;
java.lang.Exception v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
label:
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()>();
virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: void runTasks()>();
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void recordException(java.lang.Throwable)>(v);
label:
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()>();
virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: long runScheduledTasks()>();
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void recordException(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public boolean hasPendingTasks()
{
byte v;
io.netty.channel.embedded.EmbeddedChannel v;
long v;
io.netty.channel.embedded.EmbeddedEventLoop v, v;
boolean v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()>();
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: boolean hasPendingNormalTasks()>();
if v != 0 goto label;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()>();
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: long nextScheduledTask()>();
v = v cmp 0L;
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public long runScheduledPendingTasks()
{
io.netty.channel.embedded.EmbeddedChannel v;
long v, v;
io.netty.channel.embedded.EmbeddedEventLoop v, v;
java.lang.Exception v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
label:
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()>();
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: long runScheduledTasks()>();
label:
return v;
label:
v := @caughtexception;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void recordException(java.lang.Throwable)>(v);
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()>();
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: long nextScheduledTask()>();
return v;
catch java.lang.Exception from label to label with label;
}
private void recordException(io.netty.channel.ChannelFuture)
{
java.lang.Throwable v;
io.netty.channel.embedded.EmbeddedChannel v;
boolean v;
io.netty.channel.ChannelFuture v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelFuture;
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: boolean isSuccess()>();
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.channel.ChannelFuture: java.lang.Throwable cause()>();
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void recordException(java.lang.Throwable)>(v);
label:
return;
}
private void recordException(java.lang.Throwable)
{
java.lang.Throwable v, v;
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.util.internal.logging.InternalLogger v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: java.lang.Throwable;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.lang.Throwable lastException>;
if v != null goto label;
v.<io.netty.channel.embedded.EmbeddedChannel: java.lang.Throwable lastException> = v;
goto label;
label:
v = <io.netty.channel.embedded.EmbeddedChannel: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Throwable)>("More than one exception was raised. Will report only the first one and log others.", v);
label:
return;
}
public void advanceTimeBy(long, java.util.concurrent.TimeUnit)
{
java.util.concurrent.TimeUnit v;
io.netty.channel.embedded.EmbeddedChannel v;
long v, v;
io.netty.channel.embedded.EmbeddedEventLoop v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()>();
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toNanos(long)>(v);
virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: void advanceTimeBy(long)>(v);
return;
}
public void freezeTime()
{
io.netty.channel.embedded.EmbeddedEventLoop v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()>();
virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: void freezeTime()>();
return;
}
public void unfreezeTime()
{
io.netty.channel.embedded.EmbeddedEventLoop v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()>();
virtualinvoke v.<io.netty.channel.embedded.EmbeddedEventLoop: void unfreezeTime()>();
return;
}
private io.netty.channel.ChannelFuture checkException(io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
io.netty.channel.ChannelPromise v, v, v;
io.netty.channel.embedded.EmbeddedChannel v;
boolean v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelPromise;
v = v.<io.netty.channel.embedded.EmbeddedChannel: java.lang.Throwable lastException>;
if v == null goto label;
v.<io.netty.channel.embedded.EmbeddedChannel: java.lang.Throwable lastException> = null;
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: boolean isVoid()>();
if v == 0 goto label;
staticinvoke <io.netty.util.internal.PlatformDependent: void throwException(java.lang.Throwable)>(v);
label:
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
return v;
label:
v = interfaceinvoke v.<io.netty.channel.ChannelPromise: io.netty.channel.ChannelPromise setSuccess()>();
return v;
}
public void checkException()
{
io.netty.channel.ChannelPromise v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelPromise voidPromise()>();
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelFuture checkException(io.netty.channel.ChannelPromise)>(v);
return;
}
private boolean checkOpen(boolean)
{
java.nio.channels.ClosedChannelException v;
io.netty.channel.embedded.EmbeddedChannel v;
boolean v, v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: boolean;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean isOpen()>();
if v != 0 goto label;
if v == 0 goto label;
v = new java.nio.channels.ClosedChannelException;
specialinvoke v.<java.nio.channels.ClosedChannelException: void <init>()>();
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void recordException(java.lang.Throwable)>(v);
label:
return 0;
label:
return 1;
}
private io.netty.channel.embedded.EmbeddedEventLoop embeddedEventLoop()
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.EventLoop v;
io.netty.channel.embedded.EmbeddedEventLoop v;
boolean v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean isRegistered()>();
if v == 0 goto label;
v = specialinvoke v.<io.netty.channel.AbstractChannel: io.netty.channel.EventLoop eventLoop()>();
return v;
label:
v = v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedEventLoop loop>;
return v;
}
protected final void ensureOpen()
{
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean checkOpen(boolean)>(1);
if v != 0 goto label;
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void checkException()>();
label:
return;
}
protected boolean isCompatible(io.netty.channel.EventLoop)
{
io.netty.channel.EventLoop v;
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.EventLoop;
v = v instanceof io.netty.channel.embedded.EmbeddedEventLoop;
return v;
}
protected java.net.SocketAddress localAddress0()
{
java.net.SocketAddress v;
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean isActive()>();
if v == 0 goto label;
v = <io.netty.channel.embedded.EmbeddedChannel: java.net.SocketAddress LOCAL_ADDRESS>;
goto label;
label:
v = null;
label:
return v;
}
protected java.net.SocketAddress remoteAddress0()
{
java.net.SocketAddress v;
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: boolean isActive()>();
if v == 0 goto label;
v = <io.netty.channel.embedded.EmbeddedChannel: java.net.SocketAddress REMOTE_ADDRESS>;
goto label;
label:
v = null;
label:
return v;
}
protected void doRegister() throws java.lang.Exception
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.embedded.EmbeddedChannel$State v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = <io.netty.channel.embedded.EmbeddedChannel$State: io.netty.channel.embedded.EmbeddedChannel$State ACTIVE>;
v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedChannel$State state> = v;
return;
}
protected void doBind(java.net.SocketAddress) throws java.lang.Exception
{
java.net.SocketAddress v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: java.net.SocketAddress;
return;
}
protected void doDisconnect() throws java.lang.Exception
{
io.netty.channel.ChannelMetadata v;
boolean v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata metadata>;
v = virtualinvoke v.<io.netty.channel.ChannelMetadata: boolean hasDisconnect()>();
if v != 0 goto label;
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void doClose()>();
label:
return;
}
protected void doClose() throws java.lang.Exception
{
io.netty.channel.embedded.EmbeddedChannel v;
io.netty.channel.embedded.EmbeddedChannel$State v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = <io.netty.channel.embedded.EmbeddedChannel$State: io.netty.channel.embedded.EmbeddedChannel$State CLOSED>;
v.<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.embedded.EmbeddedChannel$State state> = v;
return;
}
protected void doBeginRead() throws java.lang.Exception
{
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
return;
}
protected io.netty.channel.AbstractChannel$AbstractUnsafe newUnsafe()
{
io.netty.channel.embedded.EmbeddedChannel$EmbeddedUnsafe v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = new io.netty.channel.embedded.EmbeddedChannel$EmbeddedUnsafe;
specialinvoke v.<io.netty.channel.embedded.EmbeddedChannel$EmbeddedUnsafe: void <init>(io.netty.channel.embedded.EmbeddedChannel)>(v);
return v;
}
public io.netty.channel.Channel$Unsafe unsafe()
{
io.netty.channel.Channel$Unsafe v, v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v = specialinvoke v.<io.netty.channel.AbstractChannel: io.netty.channel.Channel$Unsafe unsafe()>();
v = v.<io.netty.channel.embedded.EmbeddedChannel$EmbeddedUnsafe: io.netty.channel.Channel$Unsafe wrapped>;
return v;
}
protected void doWrite(io.netty.channel.ChannelOutboundBuffer) throws java.lang.Exception
{
io.netty.channel.ChannelOutboundBuffer v;
java.lang.Object v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: io.netty.channel.ChannelOutboundBuffer;
label:
v = virtualinvoke v.<io.netty.channel.ChannelOutboundBuffer: java.lang.Object current()>();
if v == null goto label;
staticinvoke <io.netty.util.ReferenceCountUtil: java.lang.Object retain(java.lang.Object)>(v);
virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: void handleOutboundMessage(java.lang.Object)>(v);
virtualinvoke v.<io.netty.channel.ChannelOutboundBuffer: boolean remove()>();
goto label;
label:
return;
}
protected void handleOutboundMessage(java.lang.Object)
{
java.lang.Object v;
java.util.Queue v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue outboundMessages()>();
interfaceinvoke v.<java.util.Queue: boolean add(java.lang.Object)>(v);
return;
}
protected void handleInboundMessage(java.lang.Object)
{
java.lang.Object v;
java.util.Queue v;
io.netty.channel.embedded.EmbeddedChannel v;
v := @this: io.netty.channel.embedded.EmbeddedChannel;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<io.netty.channel.embedded.EmbeddedChannel: java.util.Queue inboundMessages()>();
interfaceinvoke v.<java.util.Queue: boolean add(java.lang.Object)>(v);
return;
}
static void <clinit>()
{
io.netty.channel.ChannelHandler[] v;
io.netty.channel.embedded.EmbeddedSocketAddress v, v;
io.netty.util.internal.logging.InternalLogger v;
java.lang.Class v;
io.netty.channel.ChannelMetadata v, v;
boolean v, v;
v = class "Lio/netty/channel/embedded/EmbeddedChannel;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.netty.channel.embedded.EmbeddedChannel: boolean $assertionsDisabled> = v;
v = new io.netty.channel.embedded.EmbeddedSocketAddress;
specialinvoke v.<io.netty.channel.embedded.EmbeddedSocketAddress: void <init>()>();
<io.netty.channel.embedded.EmbeddedChannel: java.net.SocketAddress LOCAL_ADDRESS> = v;
v = new io.netty.channel.embedded.EmbeddedSocketAddress;
specialinvoke v.<io.netty.channel.embedded.EmbeddedSocketAddress: void <init>()>();
<io.netty.channel.embedded.EmbeddedChannel: java.net.SocketAddress REMOTE_ADDRESS> = v;
v = newarray (io.netty.channel.ChannelHandler)[0];
<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelHandler[] EMPTY_HANDLERS> = v;
v = staticinvoke <io.netty.util.internal.logging.InternalLoggerFactory: io.netty.util.internal.logging.InternalLogger getInstance(java.lang.Class)>(class "Lio/netty/channel/embedded/EmbeddedChannel;");
<io.netty.channel.embedded.EmbeddedChannel: io.netty.util.internal.logging.InternalLogger logger> = v;
v = new io.netty.channel.ChannelMetadata;
specialinvoke v.<io.netty.channel.ChannelMetadata: void <init>(boolean)>(0);
<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata METADATA_NO_DISCONNECT> = v;
v = new io.netty.channel.ChannelMetadata;
specialinvoke v.<io.netty.channel.ChannelMetadata: void <init>(boolean)>(1);
<io.netty.channel.embedded.EmbeddedChannel: io.netty.channel.ChannelMetadata METADATA_DISCONNECT> = v;
return;
}
}