public abstract class oadd.io.netty.bootstrap.AbstractBootstrap extends java.lang.Object implements java.lang.Cloneable
{
private static final java.util.Map$Entry[] EMPTY_OPTION_ARRAY;
private static final java.util.Map$Entry[] EMPTY_ATTRIBUTE_ARRAY;
volatile oadd.io.netty.channel.EventLoopGroup group;
private volatile oadd.io.netty.bootstrap.ChannelFactory channelFactory;
private volatile java.net.SocketAddress localAddress;
private final java.util.Map options;
private final java.util.Map attrs;
private volatile oadd.io.netty.channel.ChannelHandler handler;
void <init>()
{
java.util.LinkedHashMap v;
java.util.concurrent.ConcurrentHashMap v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map attrs> = v;
return;
}
void <init>(oadd.io.netty.bootstrap.AbstractBootstrap)
{
java.lang.Throwable v;
oadd.io.netty.channel.EventLoopGroup v;
java.net.SocketAddress v;
java.util.concurrent.ConcurrentHashMap v;
oadd.io.netty.channel.ChannelHandler v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
oadd.io.netty.bootstrap.ChannelFactory v;
java.util.LinkedHashMap v;
java.util.Map v, v, v, v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: oadd.io.netty.bootstrap.AbstractBootstrap;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map attrs> = v;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.EventLoopGroup group>;
v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.EventLoopGroup group> = v;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.ChannelFactory channelFactory>;
v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.ChannelFactory channelFactory> = v;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelHandler handler>;
v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelHandler handler> = v;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.net.SocketAddress localAddress>;
v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.net.SocketAddress localAddress> = v;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options>;
entermonitor v;
label:
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options>;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options>;
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map attrs>;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map attrs>;
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
return;
catch java.lang.Throwable from label to label with label;
}
public oadd.io.netty.bootstrap.AbstractBootstrap group(oadd.io.netty.channel.EventLoopGroup)
{
java.lang.IllegalStateException v;
oadd.io.netty.channel.EventLoopGroup v, v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: oadd.io.netty.channel.EventLoopGroup;
staticinvoke <oadd.io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "group");
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.EventLoopGroup group>;
if v == null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("group set already");
throw v;
label:
v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.EventLoopGroup group> = v;
v = specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap self()>();
return v;
}
private oadd.io.netty.bootstrap.AbstractBootstrap self()
{
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
return v;
}
public oadd.io.netty.bootstrap.AbstractBootstrap channel(java.lang.Class)
{
java.lang.Class v;
java.lang.Object v;
oadd.io.netty.channel.ReflectiveChannelFactory v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: java.lang.Class;
v = new oadd.io.netty.channel.ReflectiveChannelFactory;
v = staticinvoke <oadd.io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "channelClass");
specialinvoke v.<oadd.io.netty.channel.ReflectiveChannelFactory: void <init>(java.lang.Class)>(v);
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap channelFactory(oadd.io.netty.channel.ChannelFactory)>(v);
return v;
}
public oadd.io.netty.bootstrap.AbstractBootstrap channelFactory(oadd.io.netty.bootstrap.ChannelFactory)
{
java.lang.IllegalStateException v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
oadd.io.netty.bootstrap.ChannelFactory v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: oadd.io.netty.bootstrap.ChannelFactory;
staticinvoke <oadd.io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "channelFactory");
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.ChannelFactory channelFactory>;
if v == null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("channelFactory set already");
throw v;
label:
v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.ChannelFactory channelFactory> = v;
v = specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap self()>();
return v;
}
public oadd.io.netty.bootstrap.AbstractBootstrap channelFactory(oadd.io.netty.channel.ChannelFactory)
{
oadd.io.netty.channel.ChannelFactory v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: oadd.io.netty.channel.ChannelFactory;
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap channelFactory(oadd.io.netty.bootstrap.ChannelFactory)>(v);
return v;
}
public oadd.io.netty.bootstrap.AbstractBootstrap localAddress(java.net.SocketAddress)
{
java.net.SocketAddress v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: java.net.SocketAddress;
v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.net.SocketAddress localAddress> = v;
v = specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap self()>();
return v;
}
public oadd.io.netty.bootstrap.AbstractBootstrap localAddress(int)
{
int v;
java.net.InetSocketAddress v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: int;
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(int)>(v);
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap localAddress(java.net.SocketAddress)>(v);
return v;
}
public oadd.io.netty.bootstrap.AbstractBootstrap localAddress(java.lang.String, int)
{
int v;
java.lang.String v;
java.net.InetSocketAddress v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: java.lang.String;
v := @parameter: int;
v = staticinvoke <oadd.io.netty.util.internal.SocketUtils: java.net.InetSocketAddress socketAddress(java.lang.String,int)>(v, v);
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap localAddress(java.net.SocketAddress)>(v);
return v;
}
public oadd.io.netty.bootstrap.AbstractBootstrap localAddress(java.net.InetAddress, int)
{
java.net.InetAddress v;
int v;
java.net.InetSocketAddress v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: java.net.InetAddress;
v := @parameter: int;
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.net.InetAddress,int)>(v, v);
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap localAddress(java.net.SocketAddress)>(v);
return v;
}
public oadd.io.netty.bootstrap.AbstractBootstrap option(oadd.io.netty.channel.ChannelOption, java.lang.Object)
{
java.lang.Throwable v;
oadd.io.netty.channel.ChannelOption v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
java.util.Map v, v, v;
java.lang.Object v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: oadd.io.netty.channel.ChannelOption;
v := @parameter: java.lang.Object;
staticinvoke <oadd.io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "option");
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options>;
entermonitor v;
label:
if v != null goto label;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap self()>();
return v;
catch java.lang.Throwable from label to label with label;
}
public oadd.io.netty.bootstrap.AbstractBootstrap attr(oadd.io.netty.util.AttributeKey, java.lang.Object)
{
oadd.io.netty.util.AttributeKey v;
java.util.Map v, v;
java.lang.Object v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: oadd.io.netty.util.AttributeKey;
v := @parameter: java.lang.Object;
staticinvoke <oadd.io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "key");
if v != null goto label;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map attrs>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map attrs>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap self()>();
return v;
}
public oadd.io.netty.bootstrap.AbstractBootstrap validate()
{
java.lang.IllegalStateException v, v;
oadd.io.netty.channel.EventLoopGroup v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
oadd.io.netty.bootstrap.ChannelFactory v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.EventLoopGroup group>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("group not set");
throw v;
label:
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.ChannelFactory channelFactory>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("channel or channelFactory not set");
throw v;
label:
v = specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap self()>();
return v;
}
public abstract oadd.io.netty.bootstrap.AbstractBootstrap clone();
public oadd.io.netty.channel.ChannelFuture register()
{
oadd.io.netty.channel.ChannelFuture v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap validate()>();
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelFuture initAndRegister()>();
return v;
}
public oadd.io.netty.channel.ChannelFuture bind()
{
java.lang.IllegalStateException v;
java.net.SocketAddress v;
oadd.io.netty.channel.ChannelFuture v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap validate()>();
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.net.SocketAddress localAddress>;
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("localAddress not set");
throw v;
label:
v = specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelFuture doBind(java.net.SocketAddress)>(v);
return v;
}
public oadd.io.netty.channel.ChannelFuture bind(int)
{
int v;
oadd.io.netty.channel.ChannelFuture v;
java.net.InetSocketAddress v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: int;
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(int)>(v);
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelFuture bind(java.net.SocketAddress)>(v);
return v;
}
public oadd.io.netty.channel.ChannelFuture bind(java.lang.String, int)
{
int v;
java.lang.String v;
oadd.io.netty.channel.ChannelFuture v;
java.net.InetSocketAddress v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: java.lang.String;
v := @parameter: int;
v = staticinvoke <oadd.io.netty.util.internal.SocketUtils: java.net.InetSocketAddress socketAddress(java.lang.String,int)>(v, v);
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelFuture bind(java.net.SocketAddress)>(v);
return v;
}
public oadd.io.netty.channel.ChannelFuture bind(java.net.InetAddress, int)
{
java.net.InetAddress v;
int v;
oadd.io.netty.channel.ChannelFuture v;
java.net.InetSocketAddress v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: java.net.InetAddress;
v := @parameter: int;
v = new java.net.InetSocketAddress;
specialinvoke v.<java.net.InetSocketAddress: void <init>(java.net.InetAddress,int)>(v, v);
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelFuture bind(java.net.SocketAddress)>(v);
return v;
}
public oadd.io.netty.channel.ChannelFuture bind(java.net.SocketAddress)
{
java.net.SocketAddress v;
java.lang.Object v;
oadd.io.netty.channel.ChannelFuture v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: java.net.SocketAddress;
virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap validate()>();
v = staticinvoke <oadd.io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "localAddress");
v = specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelFuture doBind(java.net.SocketAddress)>(v);
return v;
}
private oadd.io.netty.channel.ChannelFuture doBind(java.net.SocketAddress)
{
java.lang.Throwable v;
oadd.io.netty.bootstrap.AbstractBootstrap$1 v;
java.net.SocketAddress v;
oadd.io.netty.bootstrap.AbstractBootstrap$PendingRegistrationPromise v;
oadd.io.netty.channel.Channel v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
oadd.io.netty.channel.ChannelFuture v;
oadd.io.netty.channel.ChannelPromise v;
boolean v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: java.net.SocketAddress;
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelFuture initAndRegister()>();
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: oadd.io.netty.channel.Channel channel()>();
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: java.lang.Throwable cause()>();
if v == null goto label;
return v;
label:
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: boolean isDone()>();
if v == 0 goto label;
v = interfaceinvoke v.<oadd.io.netty.channel.Channel: oadd.io.netty.channel.ChannelPromise newPromise()>();
staticinvoke <oadd.io.netty.bootstrap.AbstractBootstrap: void doBind0(oadd.io.netty.channel.ChannelFuture,oadd.io.netty.channel.Channel,java.net.SocketAddress,oadd.io.netty.channel.ChannelPromise)>(v, v, v, v);
return v;
label:
v = new oadd.io.netty.bootstrap.AbstractBootstrap$PendingRegistrationPromise;
specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap$PendingRegistrationPromise: void <init>(oadd.io.netty.channel.Channel)>(v);
v = new oadd.io.netty.bootstrap.AbstractBootstrap$1;
specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap$1: void <init>(oadd.io.netty.bootstrap.AbstractBootstrap,oadd.io.netty.bootstrap.AbstractBootstrap$PendingRegistrationPromise,oadd.io.netty.channel.ChannelFuture,oadd.io.netty.channel.Channel,java.net.SocketAddress)>(v, v, v, v, v);
interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: oadd.io.netty.channel.ChannelFuture addListener(oadd.io.netty.util.concurrent.GenericFutureListener)>(v);
return v;
}
final oadd.io.netty.channel.ChannelFuture initAndRegister()
{
java.lang.Throwable v, v;
oadd.io.netty.bootstrap.AbstractBootstrapConfig v;
oadd.io.netty.channel.DefaultChannelPromise v, v;
oadd.io.netty.channel.ChannelPromise v, v;
boolean v;
oadd.io.netty.channel.EventLoopGroup v;
oadd.io.netty.channel.Channel$Unsafe v, v;
oadd.io.netty.channel.Channel v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
oadd.io.netty.bootstrap.ChannelFactory v;
oadd.io.netty.bootstrap.FailedChannel v;
oadd.io.netty.channel.ChannelFuture v;
oadd.io.netty.util.concurrent.GlobalEventExecutor v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = null;
label:
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.ChannelFactory channelFactory>;
v = interfaceinvoke v.<oadd.io.netty.bootstrap.ChannelFactory: oadd.io.netty.channel.Channel newChannel()>();
virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: void init(oadd.io.netty.channel.Channel)>(v);
label:
goto label;
label:
v := @caughtexception;
if v == null goto label;
v = interfaceinvoke v.<oadd.io.netty.channel.Channel: oadd.io.netty.channel.Channel$Unsafe unsafe()>();
interfaceinvoke v.<oadd.io.netty.channel.Channel$Unsafe: void closeForcibly()>();
v = new oadd.io.netty.channel.DefaultChannelPromise;
v = <oadd.io.netty.util.concurrent.GlobalEventExecutor: oadd.io.netty.util.concurrent.GlobalEventExecutor INSTANCE>;
specialinvoke v.<oadd.io.netty.channel.DefaultChannelPromise: void <init>(oadd.io.netty.channel.Channel,oadd.io.netty.util.concurrent.EventExecutor)>(v, v);
v = virtualinvoke v.<oadd.io.netty.channel.DefaultChannelPromise: oadd.io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
return v;
label:
v = new oadd.io.netty.channel.DefaultChannelPromise;
v = new oadd.io.netty.bootstrap.FailedChannel;
specialinvoke v.<oadd.io.netty.bootstrap.FailedChannel: void <init>()>();
v = <oadd.io.netty.util.concurrent.GlobalEventExecutor: oadd.io.netty.util.concurrent.GlobalEventExecutor INSTANCE>;
specialinvoke v.<oadd.io.netty.channel.DefaultChannelPromise: void <init>(oadd.io.netty.channel.Channel,oadd.io.netty.util.concurrent.EventExecutor)>(v, v);
v = virtualinvoke v.<oadd.io.netty.channel.DefaultChannelPromise: oadd.io.netty.channel.ChannelPromise setFailure(java.lang.Throwable)>(v);
return v;
label:
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrapConfig config()>();
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrapConfig: oadd.io.netty.channel.EventLoopGroup group()>();
v = interfaceinvoke v.<oadd.io.netty.channel.EventLoopGroup: oadd.io.netty.channel.ChannelFuture register(oadd.io.netty.channel.Channel)>(v);
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelFuture: java.lang.Throwable cause()>();
if v == null goto label;
v = interfaceinvoke v.<oadd.io.netty.channel.Channel: boolean isRegistered()>();
if v == 0 goto label;
interfaceinvoke v.<oadd.io.netty.channel.Channel: oadd.io.netty.channel.ChannelFuture close()>();
goto label;
label:
v = interfaceinvoke v.<oadd.io.netty.channel.Channel: oadd.io.netty.channel.Channel$Unsafe unsafe()>();
interfaceinvoke v.<oadd.io.netty.channel.Channel$Unsafe: void closeForcibly()>();
label:
return v;
catch java.lang.Throwable from label to label with label;
}
abstract void init(oadd.io.netty.channel.Channel) throws java.lang.Exception;
private static void doBind0(oadd.io.netty.channel.ChannelFuture, oadd.io.netty.channel.Channel, java.net.SocketAddress, oadd.io.netty.channel.ChannelPromise)
{
oadd.io.netty.bootstrap.AbstractBootstrap$2 v;
java.net.SocketAddress v;
oadd.io.netty.channel.EventLoop v;
oadd.io.netty.channel.Channel v;
oadd.io.netty.channel.ChannelFuture v;
oadd.io.netty.channel.ChannelPromise v;
v := @parameter: oadd.io.netty.channel.ChannelFuture;
v := @parameter: oadd.io.netty.channel.Channel;
v := @parameter: java.net.SocketAddress;
v := @parameter: oadd.io.netty.channel.ChannelPromise;
v = interfaceinvoke v.<oadd.io.netty.channel.Channel: oadd.io.netty.channel.EventLoop eventLoop()>();
v = new oadd.io.netty.bootstrap.AbstractBootstrap$2;
specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap$2: void <init>(oadd.io.netty.channel.ChannelFuture,oadd.io.netty.channel.Channel,java.net.SocketAddress,oadd.io.netty.channel.ChannelPromise)>(v, v, v, v);
interfaceinvoke v.<oadd.io.netty.channel.EventLoop: void execute(java.lang.Runnable)>(v);
return;
}
public oadd.io.netty.bootstrap.AbstractBootstrap handler(oadd.io.netty.channel.ChannelHandler)
{
java.lang.Object v;
oadd.io.netty.channel.ChannelHandler v;
oadd.io.netty.bootstrap.AbstractBootstrap v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v := @parameter: oadd.io.netty.channel.ChannelHandler;
v = staticinvoke <oadd.io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "handler");
v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelHandler handler> = v;
v = specialinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrap self()>();
return v;
}
public final oadd.io.netty.channel.EventLoopGroup group()
{
oadd.io.netty.channel.EventLoopGroup v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.EventLoopGroup group>;
return v;
}
public abstract oadd.io.netty.bootstrap.AbstractBootstrapConfig config();
final java.util.Map$Entry[] newOptionsArray()
{
java.util.Map$Entry[] v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
java.util.Map v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options>;
v = staticinvoke <oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map$Entry[] newOptionsArray(java.util.Map)>(v);
return v;
}
static java.util.Map$Entry[] newOptionsArray(java.util.Map)
{
java.lang.Throwable v;
java.util.LinkedHashMap v;
java.lang.Object[] v;
java.util.Map v;
java.util.Set v;
java.util.Map$Entry[] v;
v := @parameter: java.util.Map;
entermonitor v;
label:
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>(java.util.Map)>(v);
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Set entrySet()>();
v = <oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map$Entry[] EMPTY_OPTION_ARRAY>;
v = interfaceinvoke v.<java.util.Set: java.lang.Object[] toArray(java.lang.Object[])>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
final java.util.Map$Entry[] newAttributesArray()
{
java.util.Map$Entry[] v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
java.util.Map v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map attrs0()>();
v = staticinvoke <oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map$Entry[] newAttributesArray(java.util.Map)>(v);
return v;
}
static java.util.Map$Entry[] newAttributesArray(java.util.Map)
{
java.lang.Object[] v;
java.util.Map v;
java.util.Set v;
java.util.Map$Entry[] v;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = <oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map$Entry[] EMPTY_ATTRIBUTE_ARRAY>;
v = interfaceinvoke v.<java.util.Set: java.lang.Object[] toArray(java.lang.Object[])>(v);
return v;
}
final java.util.Map options0()
{
oadd.io.netty.bootstrap.AbstractBootstrap v;
java.util.Map v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options>;
return v;
}
final java.util.Map attrs0()
{
oadd.io.netty.bootstrap.AbstractBootstrap v;
java.util.Map v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map attrs>;
return v;
}
final java.net.SocketAddress localAddress()
{
java.net.SocketAddress v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.net.SocketAddress localAddress>;
return v;
}
final oadd.io.netty.bootstrap.ChannelFactory channelFactory()
{
oadd.io.netty.bootstrap.AbstractBootstrap v;
oadd.io.netty.bootstrap.ChannelFactory v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.ChannelFactory channelFactory>;
return v;
}
final oadd.io.netty.channel.ChannelHandler handler()
{
oadd.io.netty.channel.ChannelHandler v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.channel.ChannelHandler handler>;
return v;
}
final java.util.Map options()
{
java.lang.Throwable v;
java.util.Map v, v, v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options>;
entermonitor v;
label:
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map options>;
v = staticinvoke <oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map copiedMap(java.util.Map)>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
final java.util.Map attrs()
{
oadd.io.netty.bootstrap.AbstractBootstrap v;
java.util.Map v, v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = v.<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map attrs>;
v = staticinvoke <oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map copiedMap(java.util.Map)>(v);
return v;
}
static java.util.Map copiedMap(java.util.Map)
{
java.util.Map v, v, v;
java.util.HashMap v;
boolean v;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
return v;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
return v;
}
static void setAttributes(oadd.io.netty.channel.Channel, java.util.Map$Entry[])
{
oadd.io.netty.util.Attribute v;
java.util.Map$Entry v;
oadd.io.netty.channel.Channel v;
int v, v;
java.lang.Object v, v;
java.util.Map$Entry[] v;
v := @parameter: oadd.io.netty.channel.Channel;
v := @parameter: java.util.Map$Entry[];
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<oadd.io.netty.channel.Channel: oadd.io.netty.util.Attribute attr(oadd.io.netty.util.AttributeKey)>(v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
interfaceinvoke v.<oadd.io.netty.util.Attribute: void set(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
return;
}
static void setChannelOptions(oadd.io.netty.channel.Channel, java.util.Map$Entry[], oadd.io.netty.util.internal.logging.InternalLogger)
{
java.util.Map$Entry v;
oadd.io.netty.channel.Channel v;
oadd.io.netty.util.internal.logging.InternalLogger v;
int v, v;
java.lang.Object v, v;
java.util.Map$Entry[] v;
v := @parameter: oadd.io.netty.channel.Channel;
v := @parameter: java.util.Map$Entry[];
v := @parameter: oadd.io.netty.util.internal.logging.InternalLogger;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
staticinvoke <oadd.io.netty.bootstrap.AbstractBootstrap: void setChannelOption(oadd.io.netty.channel.Channel,oadd.io.netty.channel.ChannelOption,java.lang.Object,oadd.io.netty.util.internal.logging.InternalLogger)>(v, v, v, v);
v = v + 1;
goto label;
label:
return;
}
private static void setChannelOption(oadd.io.netty.channel.Channel, oadd.io.netty.channel.ChannelOption, java.lang.Object, oadd.io.netty.util.internal.logging.InternalLogger)
{
java.lang.Throwable v;
oadd.io.netty.channel.ChannelOption v;
java.lang.Object[] v;
oadd.io.netty.channel.Channel v;
oadd.io.netty.channel.ChannelConfig v;
oadd.io.netty.util.internal.logging.InternalLogger v;
java.lang.Object v;
boolean v;
v := @parameter: oadd.io.netty.channel.Channel;
v := @parameter: oadd.io.netty.channel.ChannelOption;
v := @parameter: java.lang.Object;
v := @parameter: oadd.io.netty.util.internal.logging.InternalLogger;
label:
v = interfaceinvoke v.<oadd.io.netty.channel.Channel: oadd.io.netty.channel.ChannelConfig config()>();
v = interfaceinvoke v.<oadd.io.netty.channel.ChannelConfig: boolean setOption(oadd.io.netty.channel.ChannelOption,java.lang.Object)>(v, v);
if v != 0 goto label;
interfaceinvoke v.<oadd.io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Unknown channel option \'{}\' for channel \'{}\'", v, v);
label:
goto label;
label:
v := @caughtexception;
v = newarray (java.lang.Object)[4];
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
interfaceinvoke v.<oadd.io.netty.util.internal.logging.InternalLogger: void warn(java.lang.String,java.lang.Object[])>("Failed to set channel option \'{}\' with value \'{}\' for channel \'{}\'", v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public java.lang.String toString()
{
java.lang.String v, v;
oadd.io.netty.bootstrap.AbstractBootstrapConfig v;
oadd.io.netty.bootstrap.AbstractBootstrap v;
v := @this: oadd.io.netty.bootstrap.AbstractBootstrap;
v = staticinvoke <oadd.io.netty.util.internal.StringUtil: java.lang.String simpleClassName(java.lang.Object)>(v);
v = virtualinvoke v.<oadd.io.netty.bootstrap.AbstractBootstrap: oadd.io.netty.bootstrap.AbstractBootstrapConfig config()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,oadd.io.netty.bootstrap.AbstractBootstrapConfig)>(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)");
return v;
}
static void <clinit>()
{
java.util.Map$Entry[] v, v;
v = newarray (java.util.Map$Entry)[0];
<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map$Entry[] EMPTY_OPTION_ARRAY> = v;
v = newarray (java.util.Map$Entry)[0];
<oadd.io.netty.bootstrap.AbstractBootstrap: java.util.Map$Entry[] EMPTY_ATTRIBUTE_ARRAY> = v;
return;
}
}