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