class io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor extends io.netty.channel.ChannelInboundHandlerAdapter
{
private final io.netty.channel.EventLoopGroup childGroup;
private final io.netty.channel.ChannelHandler childHandler;
private final java.util.Map$Entry[] childOptions;
private final java.util.Map$Entry[] childAttrs;
private final java.lang.Runnable enableAutoReadTask;
void <init>(io.netty.channel.Channel, io.netty.channel.EventLoopGroup, io.netty.channel.ChannelHandler, java.util.Map$Entry[], java.util.Map$Entry[])
{
io.netty.channel.Channel v;
io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$1 v;
io.netty.channel.EventLoopGroup v;
io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor v;
io.netty.channel.ChannelHandler v;
java.util.Map$Entry[] v, v;
v := @this: io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor;
v := @parameter: io.netty.channel.Channel;
v := @parameter: io.netty.channel.EventLoopGroup;
v := @parameter: io.netty.channel.ChannelHandler;
v := @parameter: java.util.Map$Entry[];
v := @parameter: java.util.Map$Entry[];
specialinvoke v.<io.netty.channel.ChannelInboundHandlerAdapter: void <init>()>();
v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: io.netty.channel.EventLoopGroup childGroup> = v;
v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: io.netty.channel.ChannelHandler childHandler> = v;
v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: java.util.Map$Entry[] childOptions> = v;
v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: java.util.Map$Entry[] childAttrs> = v;
v = new io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$1;
specialinvoke v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$1: void <init>(io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor,io.netty.channel.Channel)>(v, v);
v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: java.lang.Runnable enableAutoReadTask> = v;
return;
}
public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object)
{
java.lang.Throwable v;
io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$2 v;
io.netty.channel.EventLoopGroup v;
io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor v;
io.netty.channel.ChannelPipeline v;
io.netty.channel.ChannelHandler[] v;
io.netty.channel.ChannelFuture v;
io.netty.channel.ChannelHandlerContext v;
io.netty.util.internal.logging.InternalLogger v;
io.netty.channel.ChannelHandler v;
java.lang.Object v;
java.util.Map$Entry[] v, v;
v := @this: io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Object;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPipeline pipeline()>();
v = newarray (io.netty.channel.ChannelHandler)[1];
v = v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: io.netty.channel.ChannelHandler childHandler>;
v[0] = v;
interfaceinvoke v.<io.netty.channel.ChannelPipeline: io.netty.channel.ChannelPipeline addLast(io.netty.channel.ChannelHandler[])>(v);
v = v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: java.util.Map$Entry[] childOptions>;
v = <io.netty.bootstrap.ServerBootstrap: io.netty.util.internal.logging.InternalLogger logger>;
staticinvoke <io.netty.bootstrap.AbstractBootstrap: void setChannelOptions(io.netty.channel.Channel,java.util.Map$Entry[],io.netty.util.internal.logging.InternalLogger)>(v, v, v);
v = v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: java.util.Map$Entry[] childAttrs>;
staticinvoke <io.netty.bootstrap.AbstractBootstrap: void setAttributes(io.netty.channel.Channel,java.util.Map$Entry[])>(v, v);
label:
v = v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: io.netty.channel.EventLoopGroup childGroup>;
v = interfaceinvoke v.<io.netty.channel.EventLoopGroup: io.netty.channel.ChannelFuture register(io.netty.channel.Channel)>(v);
v = new io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$2;
specialinvoke v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$2: void <init>(io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor,io.netty.channel.Channel)>(v, v);
interfaceinvoke v.<io.netty.channel.ChannelFuture: io.netty.channel.ChannelFuture addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
label:
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: void forceClose(io.netty.channel.Channel,java.lang.Throwable)>(v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
private static void forceClose(io.netty.channel.Channel, java.lang.Throwable)
{
io.netty.channel.Channel v;
java.lang.Throwable v;
io.netty.util.internal.logging.InternalLogger v;
io.netty.channel.Channel$Unsafe v;
v := @parameter: io.netty.channel.Channel;
v := @parameter: java.lang.Throwable;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.Channel$Unsafe unsafe()>();
interfaceinvoke v.<io.netty.channel.Channel$Unsafe: void closeForcibly()>();
v = <io.netty.bootstrap.ServerBootstrap: io.netty.util.internal.logging.InternalLogger logger>;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to register an accepted channel: {}", v, v);
return;
}
public void exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable) throws java.lang.Exception
{
java.lang.Throwable v;
io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor v;
io.netty.channel.EventLoop v;
java.lang.Runnable v;
io.netty.channel.Channel v, v;
java.util.concurrent.TimeUnit v;
io.netty.channel.ChannelHandlerContext v;
io.netty.channel.ChannelConfig v;
boolean v;
v := @this: io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: java.lang.Throwable;
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelConfig config()>();
v = interfaceinvoke v.<io.netty.channel.ChannelConfig: boolean isAutoRead()>();
if v == 0 goto label;
interfaceinvoke v.<io.netty.channel.ChannelConfig: io.netty.channel.ChannelConfig setAutoRead(boolean)>(0);
v = interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.EventLoop eventLoop()>();
v = v.<io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor: java.lang.Runnable enableAutoReadTask>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.ScheduledFuture schedule(java.lang.Runnable,long,java.util.concurrent.TimeUnit)>(v, 1L, v);
label:
interfaceinvoke v.<io.netty.channel.ChannelHandlerContext: io.netty.channel.ChannelHandlerContext fireExceptionCaught(java.lang.Throwable)>(v);
return;
}
}