public class io.netty.resolver.RoundRobinInetAddressResolver extends io.netty.resolver.InetNameResolver
{
private final io.netty.resolver.NameResolver nameResolver;
public void <init>(io.netty.util.concurrent.EventExecutor, io.netty.resolver.NameResolver)
{
io.netty.util.concurrent.EventExecutor v;
io.netty.resolver.RoundRobinInetAddressResolver v;
io.netty.resolver.NameResolver v;
v := @this: io.netty.resolver.RoundRobinInetAddressResolver;
v := @parameter: io.netty.util.concurrent.EventExecutor;
v := @parameter: io.netty.resolver.NameResolver;
specialinvoke v.<io.netty.resolver.InetNameResolver: void <init>(io.netty.util.concurrent.EventExecutor)>(v);
v.<io.netty.resolver.RoundRobinInetAddressResolver: io.netty.resolver.NameResolver nameResolver> = v;
return;
}
protected void doResolve(java.lang.String, io.netty.util.concurrent.Promise) throws java.lang.Exception
{
io.netty.util.concurrent.Promise v;
io.netty.resolver.NameResolver v;
io.netty.resolver.RoundRobinInetAddressResolver$1 v;
java.lang.String v;
io.netty.resolver.RoundRobinInetAddressResolver v;
io.netty.util.concurrent.Future v;
v := @this: io.netty.resolver.RoundRobinInetAddressResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.util.concurrent.Promise;
v = v.<io.netty.resolver.RoundRobinInetAddressResolver: io.netty.resolver.NameResolver nameResolver>;
v = interfaceinvoke v.<io.netty.resolver.NameResolver: io.netty.util.concurrent.Future resolveAll(java.lang.String)>(v);
v = new io.netty.resolver.RoundRobinInetAddressResolver$1;
specialinvoke v.<io.netty.resolver.RoundRobinInetAddressResolver$1: void <init>(io.netty.resolver.RoundRobinInetAddressResolver,io.netty.util.concurrent.Promise,java.lang.String)>(v, v, v);
interfaceinvoke v.<io.netty.util.concurrent.Future: io.netty.util.concurrent.Future addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
protected void doResolveAll(java.lang.String, io.netty.util.concurrent.Promise) throws java.lang.Exception
{
io.netty.util.concurrent.Promise v;
io.netty.resolver.NameResolver v;
java.lang.String v;
io.netty.resolver.RoundRobinInetAddressResolver v;
io.netty.resolver.RoundRobinInetAddressResolver$2 v;
io.netty.util.concurrent.Future v;
v := @this: io.netty.resolver.RoundRobinInetAddressResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.util.concurrent.Promise;
v = v.<io.netty.resolver.RoundRobinInetAddressResolver: io.netty.resolver.NameResolver nameResolver>;
v = interfaceinvoke v.<io.netty.resolver.NameResolver: io.netty.util.concurrent.Future resolveAll(java.lang.String)>(v);
v = new io.netty.resolver.RoundRobinInetAddressResolver$2;
specialinvoke v.<io.netty.resolver.RoundRobinInetAddressResolver$2: void <init>(io.netty.resolver.RoundRobinInetAddressResolver,io.netty.util.concurrent.Promise)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.Future: io.netty.util.concurrent.Future addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
private static int randomIndex(int)
{
int v, v;
java.util.Random v;
v := @parameter: int;
if v != 1 goto label;
v = 0;
goto label;
label:
v = staticinvoke <io.netty.util.internal.PlatformDependent: java.util.Random threadLocalRandom()>();
v = virtualinvoke v.<java.util.Random: int nextInt(int)>(v);
label:
return v;
}
public void close()
{
io.netty.resolver.RoundRobinInetAddressResolver v;
io.netty.resolver.NameResolver v;
v := @this: io.netty.resolver.RoundRobinInetAddressResolver;
v = v.<io.netty.resolver.RoundRobinInetAddressResolver: io.netty.resolver.NameResolver nameResolver>;
interfaceinvoke v.<io.netty.resolver.NameResolver: void close()>();
return;
}
}