public class oadd.io.netty.channel.socket.nio.NioSocketChannel extends oadd.io.netty.channel.nio.AbstractNioByteChannel implements oadd.io.netty.channel.socket.SocketChannel
{
private static final oadd.io.netty.util.internal.logging.InternalLogger logger;
private static final java.nio.channels.spi.SelectorProvider DEFAULT_SELECTOR_PROVIDER;
private final oadd.io.netty.channel.socket.SocketChannelConfig config;
private static java.nio.channels.SocketChannel newSocket(java.nio.channels.spi.SelectorProvider)
{
java.nio.channels.spi.SelectorProvider v;
java.nio.channels.SocketChannel v;
java.io.IOException v;
oadd.io.netty.channel.ChannelException v;
v := @parameter: java.nio.channels.spi.SelectorProvider;
label:
v = virtualinvoke v.<java.nio.channels.spi.SelectorProvider: java.nio.channels.SocketChannel openSocketChannel()>();
label:
return v;
label:
v := @caughtexception;
v = new oadd.io.netty.channel.ChannelException;
specialinvoke v.<oadd.io.netty.channel.ChannelException: void <init>(java.lang.String,java.lang.Throwable)>("Failed to open a socket.", v);
throw v;
catch java.io.IOException from label to label with label;
}
public void <init>()
{
java.nio.channels.spi.SelectorProvider v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = <oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.spi.SelectorProvider DEFAULT_SELECTOR_PROVIDER>;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void <init>(java.nio.channels.spi.SelectorProvider)>(v);
return;
}
public void <init>(java.nio.channels.spi.SelectorProvider)
{
java.nio.channels.spi.SelectorProvider v;
java.nio.channels.SocketChannel v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: java.nio.channels.spi.SelectorProvider;
v = staticinvoke <oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel newSocket(java.nio.channels.spi.SelectorProvider)>(v);
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void <init>(java.nio.channels.SocketChannel)>(v);
return;
}
public void <init>(java.nio.channels.SocketChannel)
{
java.nio.channels.SocketChannel v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: java.nio.channels.SocketChannel;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void <init>(oadd.io.netty.channel.Channel,java.nio.channels.SocketChannel)>(null, v);
return;
}
public void <init>(oadd.io.netty.channel.Channel, java.nio.channels.SocketChannel)
{
java.net.Socket v;
java.nio.channels.SocketChannel v;
oadd.io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelConfig v;
oadd.io.netty.channel.Channel v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: oadd.io.netty.channel.Channel;
v := @parameter: java.nio.channels.SocketChannel;
specialinvoke v.<oadd.io.netty.channel.nio.AbstractNioByteChannel: void <init>(oadd.io.netty.channel.Channel,java.nio.channels.SelectableChannel)>(v, v);
v = new oadd.io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelConfig;
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelConfig: void <init>(oadd.io.netty.channel.socket.nio.NioSocketChannel,oadd.io.netty.channel.socket.nio.NioSocketChannel,java.net.Socket)>(v, v, v);
v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.socket.SocketChannelConfig config> = v;
return;
}
public oadd.io.netty.channel.socket.ServerSocketChannel parent()
{
oadd.io.netty.channel.Channel v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = specialinvoke v.<oadd.io.netty.channel.nio.AbstractNioByteChannel: oadd.io.netty.channel.Channel parent()>();
return v;
}
public oadd.io.netty.channel.socket.SocketChannelConfig config()
{
oadd.io.netty.channel.socket.SocketChannelConfig v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.socket.SocketChannelConfig config>;
return v;
}
protected java.nio.channels.SocketChannel javaChannel()
{
java.nio.channels.SelectableChannel v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = specialinvoke v.<oadd.io.netty.channel.nio.AbstractNioByteChannel: java.nio.channels.SelectableChannel javaChannel()>();
return v;
}
public boolean isActive()
{
java.nio.channels.SocketChannel v;
boolean v, v, v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: boolean isOpen()>();
if v == 0 goto label;
v = virtualinvoke v.<java.nio.channels.SocketChannel: boolean isConnected()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isOutputShutdown()
{
java.net.Socket v;
java.nio.channels.SocketChannel v;
boolean v, v, v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: boolean isOutputShutdown()>();
if v != 0 goto label;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: boolean isActive()>();
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isInputShutdown()
{
java.net.Socket v;
java.nio.channels.SocketChannel v;
boolean v, v, v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: boolean isInputShutdown()>();
if v != 0 goto label;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: boolean isActive()>();
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isShutdown()
{
java.net.Socket v;
java.nio.channels.SocketChannel v;
boolean v, v, v, v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: boolean isInputShutdown()>();
if v == 0 goto label;
v = virtualinvoke v.<java.net.Socket: boolean isOutputShutdown()>();
if v != 0 goto label;
label:
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: boolean isActive()>();
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.net.InetSocketAddress localAddress()
{
java.net.SocketAddress v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = specialinvoke v.<oadd.io.netty.channel.nio.AbstractNioByteChannel: java.net.SocketAddress localAddress()>();
return v;
}
public java.net.InetSocketAddress remoteAddress()
{
java.net.SocketAddress v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = specialinvoke v.<oadd.io.netty.channel.nio.AbstractNioByteChannel: java.net.SocketAddress remoteAddress()>();
return v;
}
protected final void doShutdownOutput() throws java.lang.Exception
{
java.net.Socket v;
java.nio.channels.SocketChannel v, v;
int v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = staticinvoke <oadd.io.netty.util.internal.PlatformDependent: int javaVersion()>();
if v < 7 goto label;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
virtualinvoke v.<java.nio.channels.SocketChannel: java.nio.channels.SocketChannel shutdownOutput()>();
goto label;
label:
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
virtualinvoke v.<java.net.Socket: void shutdownOutput()>();
label:
return;
}
public oadd.io.netty.channel.ChannelFuture shutdownOutput()
{
oadd.io.netty.channel.ChannelFuture v;
oadd.io.netty.channel.ChannelPromise v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.ChannelFuture shutdownOutput(oadd.io.netty.channel.ChannelPromise)>(v);
return v;
}
public oadd.io.netty.channel.ChannelFuture shutdownOutput(oadd.io.netty.channel.ChannelPromise)
{
oadd.io.netty.channel.nio.NioEventLoop v;
oadd.io.netty.channel.nio.AbstractNioChannel$NioUnsafe v;
oadd.io.netty.channel.socket.nio.NioSocketChannel$1 v;
oadd.io.netty.channel.ChannelPromise v;
boolean v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: oadd.io.netty.channel.ChannelPromise;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.nio.NioEventLoop eventLoop()>();
v = interfaceinvoke v.<oadd.io.netty.channel.EventLoop: boolean inEventLoop()>();
if v == 0 goto label;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.nio.AbstractNioChannel$NioUnsafe unsafe()>();
virtualinvoke v.<oadd.io.netty.channel.AbstractChannel$AbstractUnsafe: void shutdownOutput(oadd.io.netty.channel.ChannelPromise)>(v);
goto label;
label:
v = new oadd.io.netty.channel.socket.nio.NioSocketChannel$1;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel$1: void <init>(oadd.io.netty.channel.socket.nio.NioSocketChannel,oadd.io.netty.channel.ChannelPromise)>(v, v);
interfaceinvoke v.<oadd.io.netty.channel.EventLoop: void execute(java.lang.Runnable)>(v);
label:
return v;
}
public oadd.io.netty.channel.ChannelFuture shutdownInput()
{
oadd.io.netty.channel.ChannelFuture v;
oadd.io.netty.channel.ChannelPromise v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.ChannelFuture shutdownInput(oadd.io.netty.channel.ChannelPromise)>(v);
return v;
}
protected boolean isInputShutdown0()
{
boolean v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: boolean isInputShutdown()>();
return v;
}
public oadd.io.netty.channel.ChannelFuture shutdownInput(oadd.io.netty.channel.ChannelPromise)
{
oadd.io.netty.channel.nio.NioEventLoop v;
oadd.io.netty.channel.socket.nio.NioSocketChannel$2 v;
oadd.io.netty.channel.ChannelPromise v;
boolean v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: oadd.io.netty.channel.ChannelPromise;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.nio.NioEventLoop eventLoop()>();
v = interfaceinvoke v.<oadd.io.netty.channel.EventLoop: boolean inEventLoop()>();
if v == 0 goto label;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void shutdownInput0(oadd.io.netty.channel.ChannelPromise)>(v);
goto label;
label:
v = new oadd.io.netty.channel.socket.nio.NioSocketChannel$2;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel$2: void <init>(oadd.io.netty.channel.socket.nio.NioSocketChannel,oadd.io.netty.channel.ChannelPromise)>(v, v);
interfaceinvoke v.<oadd.io.netty.channel.EventLoop: void execute(java.lang.Runnable)>(v);
label:
return v;
}
public oadd.io.netty.channel.ChannelFuture shutdown()
{
oadd.io.netty.channel.ChannelFuture v;
oadd.io.netty.channel.ChannelPromise v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.ChannelPromise newPromise()>();
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.ChannelFuture shutdown(oadd.io.netty.channel.ChannelPromise)>(v);
return v;
}
public oadd.io.netty.channel.ChannelFuture shutdown(oadd.io.netty.channel.ChannelPromise)
{
oadd.io.netty.channel.socket.nio.NioSocketChannel$3 v;
oadd.io.netty.channel.ChannelFuture v;
oadd.io.netty.channel.ChannelPromise v;
boolean v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: oadd.io.netty.channel.ChannelPromise;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.ChannelFuture shutdownOutput()>();
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: boolean isDone()>();
if v == 0 goto label;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void shutdownOutputDone(oadd.io.netty.channel.ChannelFuture,oadd.io.netty.channel.ChannelPromise)>(v, v);
goto label;
label:
v = new oadd.io.netty.channel.socket.nio.NioSocketChannel$3;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel$3: void <init>(oadd.io.netty.channel.socket.nio.NioSocketChannel,oadd.io.netty.channel.ChannelPromise)>(v, v);
interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: oadd.io.netty.channel.ChannelFuture addListener(oadd.io.netty.util.concurrent.GenericFutureListener)>(v);
label:
return v;
}
private void shutdownOutputDone(oadd.io.netty.channel.ChannelFuture, oadd.io.netty.channel.ChannelPromise)
{
oadd.io.netty.channel.socket.nio.NioSocketChannel$4 v;
oadd.io.netty.channel.ChannelFuture v, v;
oadd.io.netty.channel.ChannelPromise v;
boolean v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: oadd.io.netty.channel.ChannelFuture;
v := @parameter: oadd.io.netty.channel.ChannelPromise;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.ChannelFuture shutdownInput()>();
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: boolean isDone()>();
if v == 0 goto label;
staticinvoke <oadd.io.netty.channel.socket.nio.NioSocketChannel: void shutdownDone(oadd.io.netty.channel.ChannelFuture,oadd.io.netty.channel.ChannelFuture,oadd.io.netty.channel.ChannelPromise)>(v, v, v);
goto label;
label:
v = new oadd.io.netty.channel.socket.nio.NioSocketChannel$4;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel$4: void <init>(oadd.io.netty.channel.socket.nio.NioSocketChannel,oadd.io.netty.channel.ChannelFuture,oadd.io.netty.channel.ChannelPromise)>(v, v, v);
interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: oadd.io.netty.channel.ChannelFuture addListener(oadd.io.netty.util.concurrent.GenericFutureListener)>(v);
label:
return;
}
private static void shutdownDone(oadd.io.netty.channel.ChannelFuture, oadd.io.netty.channel.ChannelFuture, oadd.io.netty.channel.ChannelPromise)
{
java.lang.Throwable v, v;
oadd.io.netty.util.internal.logging.InternalLogger v;
oadd.io.netty.channel.ChannelFuture v, v;
oadd.io.netty.channel.ChannelPromise v;
v := @parameter: oadd.io.netty.channel.ChannelFuture;
v := @parameter: oadd.io.netty.channel.ChannelFuture;
v := @parameter: oadd.io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: java.lang.Throwable cause()>();
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: java.lang.Throwable cause()>();
if v == null goto label;
if v == null goto label;
v = <oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<oadd.io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Throwable)>("Exception suppressed because a previous exception occurred.", v);
label:
interfaceinvoke v.<oadd.io.netty.channel.ChannelPromise: oadd.io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
goto label;
label:
if v == null goto label;
interfaceinvoke v.<oadd.io.netty.channel.ChannelPromise: oadd.io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
goto label;
label:
interfaceinvoke v.<oadd.io.netty.channel.ChannelPromise: oadd.io.netty.channel.ChannelPromise setSuccess()>();
label:
return;
}
private void shutdownInput0(oadd.io.netty.channel.ChannelPromise)
{
java.lang.Throwable v;
oadd.io.netty.channel.ChannelPromise v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: oadd.io.netty.channel.ChannelPromise;
label:
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void shutdownInput0()>();
interfaceinvoke v.<oadd.io.netty.channel.ChannelPromise: oadd.io.netty.channel.ChannelPromise setSuccess()>();
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<oadd.io.netty.channel.ChannelPromise: oadd.io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void shutdownInput0() throws java.lang.Exception
{
java.net.Socket v;
java.nio.channels.SocketChannel v, v;
int v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = staticinvoke <oadd.io.netty.util.internal.PlatformDependent: int javaVersion()>();
if v < 7 goto label;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
virtualinvoke v.<java.nio.channels.SocketChannel: java.nio.channels.SocketChannel shutdownInput()>();
goto label;
label:
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
virtualinvoke v.<java.net.Socket: void shutdownInput()>();
label:
return;
}
protected java.net.SocketAddress localAddress0()
{
java.net.Socket v;
java.net.SocketAddress v;
java.nio.channels.SocketChannel v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: java.net.SocketAddress getLocalSocketAddress()>();
return v;
}
protected java.net.SocketAddress remoteAddress0()
{
java.net.Socket v;
java.net.SocketAddress v;
java.nio.channels.SocketChannel v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
v = virtualinvoke v.<java.net.Socket: java.net.SocketAddress getRemoteSocketAddress()>();
return v;
}
protected void doBind(java.net.SocketAddress) throws java.lang.Exception
{
java.net.SocketAddress v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: java.net.SocketAddress;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void doBind0(java.net.SocketAddress)>(v);
return;
}
private void doBind0(java.net.SocketAddress) throws java.lang.Exception
{
java.net.Socket v;
java.net.SocketAddress v;
java.nio.channels.SocketChannel v, v;
int v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: java.net.SocketAddress;
v = staticinvoke <oadd.io.netty.util.internal.PlatformDependent: int javaVersion()>();
if v < 7 goto label;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
staticinvoke <oadd.io.netty.util.internal.SocketUtils: void bind(java.nio.channels.SocketChannel,java.net.SocketAddress)>(v, v);
goto label;
label:
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: java.net.Socket socket()>();
staticinvoke <oadd.io.netty.util.internal.SocketUtils: void bind(java.net.Socket,java.net.SocketAddress)>(v, v);
label:
return;
}
protected boolean doConnect(java.net.SocketAddress, java.net.SocketAddress) throws java.lang.Exception
{
java.lang.Throwable v;
java.net.SocketAddress v, v;
java.nio.channels.SocketChannel v;
java.nio.channels.SelectionKey v;
boolean v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: java.net.SocketAddress;
v := @parameter: java.net.SocketAddress;
if v == null goto label;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void doBind0(java.net.SocketAddress)>(v);
label:
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = staticinvoke <oadd.io.netty.util.internal.SocketUtils: boolean connect(java.nio.channels.SocketChannel,java.net.SocketAddress)>(v, v);
if v != 0 goto label;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SelectionKey selectionKey()>();
virtualinvoke v.<java.nio.channels.SelectionKey: java.nio.channels.SelectionKey interestOps(int)>(8);
label:
return v;
label:
v := @caughtexception;
virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void doClose()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
protected void doFinishConnect() throws java.lang.Exception
{
java.nio.channels.SocketChannel v;
java.lang.Error v;
boolean v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: boolean finishConnect()>();
if v != 0 goto label;
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>()>();
throw v;
label:
return;
}
protected void doDisconnect() throws java.lang.Exception
{
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void doClose()>();
return;
}
protected void doClose() throws java.lang.Exception
{
java.nio.channels.SocketChannel v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
specialinvoke v.<oadd.io.netty.channel.nio.AbstractNioByteChannel: void doClose()>();
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
virtualinvoke v.<java.nio.channels.SocketChannel: void close()>();
return;
}
protected int doReadBytes(oadd.io.netty.buffer.ByteBuf) throws java.lang.Exception
{
oadd.io.netty.channel.RecvByteBufAllocator$Handle v;
java.nio.channels.SocketChannel v;
int v, v, v;
oadd.io.netty.channel.nio.AbstractNioChannel$NioUnsafe v;
oadd.io.netty.buffer.ByteBuf v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: oadd.io.netty.buffer.ByteBuf;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.nio.AbstractNioChannel$NioUnsafe unsafe()>();
v = interfaceinvoke v.<oadd.io.netty.channel.nio.AbstractNioChannel$NioUnsafe: oadd.io.netty.channel.RecvByteBufAllocator$Handle recvBufAllocHandle()>();
v = virtualinvoke v.<oadd.io.netty.buffer.ByteBuf: int writableBytes()>();
interfaceinvoke v.<oadd.io.netty.channel.RecvByteBufAllocator$Handle: void attemptedBytesRead(int)>(v);
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = interfaceinvoke v.<oadd.io.netty.channel.RecvByteBufAllocator$Handle: int attemptedBytesRead()>();
v = virtualinvoke v.<oadd.io.netty.buffer.ByteBuf: int writeBytes(java.nio.channels.ScatteringByteChannel,int)>(v, v);
return v;
}
protected int doWriteBytes(oadd.io.netty.buffer.ByteBuf) throws java.lang.Exception
{
java.nio.channels.SocketChannel v;
int v, v;
oadd.io.netty.buffer.ByteBuf v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: oadd.io.netty.buffer.ByteBuf;
v = virtualinvoke v.<oadd.io.netty.buffer.ByteBuf: int readableBytes()>();
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<oadd.io.netty.buffer.ByteBuf: int readBytes(java.nio.channels.GatheringByteChannel,int)>(v, v);
return v;
}
protected long doWriteFileRegion(oadd.io.netty.channel.FileRegion) throws java.lang.Exception
{
java.nio.channels.SocketChannel v;
long v, v;
oadd.io.netty.channel.FileRegion v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: oadd.io.netty.channel.FileRegion;
v = interfaceinvoke v.<oadd.io.netty.channel.FileRegion: long transferred()>();
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = interfaceinvoke v.<oadd.io.netty.channel.FileRegion: long transferTo(java.nio.channels.WritableByteChannel,long)>(v, v);
return v;
}
private void adjustMaxBytesPerGatheringWrite(int, int, int)
{
oadd.io.netty.channel.socket.SocketChannelConfig v, v;
int v, v, v, v, v, v, v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: int;
v := @parameter: int;
v := @parameter: int;
if v != v goto label;
v = v << 1;
if v <= v goto label;
v = v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.socket.SocketChannelConfig config>;
v = v << 1;
virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelConfig: void setMaxBytesPerGatheringWrite(int)>(v);
goto label;
label:
if v <= 4096 goto label;
v = v >>> 1;
if v >= v goto label;
v = v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.socket.SocketChannelConfig config>;
v = v >>> 1;
virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelConfig: void setMaxBytesPerGatheringWrite(int)>(v);
label:
return;
}
protected void doWrite(oadd.io.netty.channel.ChannelOutboundBuffer) throws java.lang.Exception
{
long v, v;
java.nio.ByteBuffer v;
oadd.io.netty.channel.socket.SocketChannelConfig v, v;
byte v;
java.nio.channels.SocketChannel v;
int v, v, v, v, v, v;
boolean v, v;
java.nio.ByteBuffer[] v;
oadd.io.netty.channel.ChannelOutboundBuffer v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v := @parameter: oadd.io.netty.channel.ChannelOutboundBuffer;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.SocketChannel javaChannel()>();
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.socket.SocketChannelConfig config()>();
v = interfaceinvoke v.<oadd.io.netty.channel.socket.SocketChannelConfig: int getWriteSpinCount()>();
label:
v = virtualinvoke v.<oadd.io.netty.channel.ChannelOutboundBuffer: boolean isEmpty()>();
if v == 0 goto label;
virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void clearOpWrite()>();
return;
label:
v = v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.channel.socket.SocketChannelConfig config>;
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelConfig: int getMaxBytesPerGatheringWrite()>();
v = virtualinvoke v.<oadd.io.netty.channel.ChannelOutboundBuffer: java.nio.ByteBuffer[] nioBuffers(int,long)>(1024, v);
v = virtualinvoke v.<oadd.io.netty.channel.ChannelOutboundBuffer: int nioBufferCount()>();
lookupswitch(v)
{
case 0: goto label;
case 1: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: int doWrite0(oadd.io.netty.channel.ChannelOutboundBuffer)>(v);
v = v - v;
goto label;
label:
v = v[0];
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: int write(java.nio.ByteBuffer)>(v);
if v > 0 goto label;
virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void incompleteWrite(boolean)>(1);
return;
label:
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void adjustMaxBytesPerGatheringWrite(int,int,int)>(v, v, v);
virtualinvoke v.<oadd.io.netty.channel.ChannelOutboundBuffer: void removeBytes(long)>(v);
v = v - 1;
goto label;
label:
v = virtualinvoke v.<oadd.io.netty.channel.ChannelOutboundBuffer: long nioBufferSize()>();
v = virtualinvoke v.<java.nio.channels.SocketChannel: long write(java.nio.ByteBuffer[],int,int)>(v, 0, v);
v = v cmp 0L;
if v > 0 goto label;
virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void incompleteWrite(boolean)>(1);
return;
label:
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void adjustMaxBytesPerGatheringWrite(int,int,int)>(v, v, v);
virtualinvoke v.<oadd.io.netty.channel.ChannelOutboundBuffer: void removeBytes(long)>(v);
v = v - 1;
label:
if v > 0 goto label;
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
virtualinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel: void incompleteWrite(boolean)>(v);
return;
}
protected oadd.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe newUnsafe()
{
oadd.io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelUnsafe v;
oadd.io.netty.channel.socket.nio.NioSocketChannel v;
v := @this: oadd.io.netty.channel.socket.nio.NioSocketChannel;
v = new oadd.io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelUnsafe;
specialinvoke v.<oadd.io.netty.channel.socket.nio.NioSocketChannel$NioSocketChannelUnsafe: void <init>(oadd.io.netty.channel.socket.nio.NioSocketChannel)>(v);
return v;
}
static void <clinit>()
{
java.nio.channels.spi.SelectorProvider v;
oadd.io.netty.util.internal.logging.InternalLogger v;
v = staticinvoke <oadd.io.netty.util.internal.logging.InternalLoggerFactory: oadd.io.netty.util.internal.logging.InternalLogger getInstance(java.lang.Class)>(class "Loadd/io/netty/channel/socket/nio/NioSocketChannel;");
<oadd.io.netty.channel.socket.nio.NioSocketChannel: oadd.io.netty.util.internal.logging.InternalLogger logger> = v;
v = staticinvoke <java.nio.channels.spi.SelectorProvider: java.nio.channels.spi.SelectorProvider provider()>();
<oadd.io.netty.channel.socket.nio.NioSocketChannel: java.nio.channels.spi.SelectorProvider DEFAULT_SELECTOR_PROVIDER> = v;
return;
}
}