final class io.netty.resolver.dns.InflightNameResolver extends java.lang.Object implements io.netty.resolver.NameResolver
{
private final io.netty.util.concurrent.EventExecutor executor;
private final io.netty.resolver.NameResolver delegate;
private final java.util.concurrent.ConcurrentMap resolvesInProgress;
private final java.util.concurrent.ConcurrentMap resolveAllsInProgress;
void <init>(io.netty.util.concurrent.EventExecutor, io.netty.resolver.NameResolver, java.util.concurrent.ConcurrentMap, java.util.concurrent.ConcurrentMap)
{
io.netty.resolver.dns.InflightNameResolver v;
io.netty.util.concurrent.EventExecutor v;
io.netty.resolver.NameResolver v;
java.util.concurrent.ConcurrentMap v, v;
java.lang.Object v, v, v, v;
v := @this: io.netty.resolver.dns.InflightNameResolver;
v := @parameter: io.netty.util.concurrent.EventExecutor;
v := @parameter: io.netty.resolver.NameResolver;
v := @parameter: java.util.concurrent.ConcurrentMap;
v := @parameter: java.util.concurrent.ConcurrentMap;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "executor");
v.<io.netty.resolver.dns.InflightNameResolver: io.netty.util.concurrent.EventExecutor executor> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "delegate");
v.<io.netty.resolver.dns.InflightNameResolver: io.netty.resolver.NameResolver delegate> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "resolvesInProgress");
v.<io.netty.resolver.dns.InflightNameResolver: java.util.concurrent.ConcurrentMap resolvesInProgress> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "resolveAllsInProgress");
v.<io.netty.resolver.dns.InflightNameResolver: java.util.concurrent.ConcurrentMap resolveAllsInProgress> = v;
return;
}
public io.netty.util.concurrent.Future resolve(java.lang.String)
{
io.netty.resolver.dns.InflightNameResolver v;
io.netty.util.concurrent.EventExecutor v;
io.netty.util.concurrent.Promise v, v;
java.lang.String v;
v := @this: io.netty.resolver.dns.InflightNameResolver;
v := @parameter: java.lang.String;
v = v.<io.netty.resolver.dns.InflightNameResolver: io.netty.util.concurrent.EventExecutor executor>;
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: io.netty.util.concurrent.Promise newPromise()>();
v = virtualinvoke v.<io.netty.resolver.dns.InflightNameResolver: io.netty.util.concurrent.Promise resolve(java.lang.String,io.netty.util.concurrent.Promise)>(v, v);
return v;
}
public io.netty.util.concurrent.Future resolveAll(java.lang.String)
{
io.netty.resolver.dns.InflightNameResolver v;
io.netty.util.concurrent.EventExecutor v;
io.netty.util.concurrent.Promise v, v;
java.lang.String v;
v := @this: io.netty.resolver.dns.InflightNameResolver;
v := @parameter: java.lang.String;
v = v.<io.netty.resolver.dns.InflightNameResolver: io.netty.util.concurrent.EventExecutor executor>;
v = interfaceinvoke v.<io.netty.util.concurrent.EventExecutor: io.netty.util.concurrent.Promise newPromise()>();
v = virtualinvoke v.<io.netty.resolver.dns.InflightNameResolver: io.netty.util.concurrent.Promise resolveAll(java.lang.String,io.netty.util.concurrent.Promise)>(v, v);
return v;
}
public void close()
{
io.netty.resolver.dns.InflightNameResolver v;
io.netty.resolver.NameResolver v;
v := @this: io.netty.resolver.dns.InflightNameResolver;
v = v.<io.netty.resolver.dns.InflightNameResolver: io.netty.resolver.NameResolver delegate>;
interfaceinvoke v.<io.netty.resolver.NameResolver: void close()>();
return;
}
public io.netty.util.concurrent.Promise resolve(java.lang.String, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.InflightNameResolver v;
io.netty.util.concurrent.Promise v, v;
java.lang.String v;
java.util.concurrent.ConcurrentMap v;
v := @this: io.netty.resolver.dns.InflightNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.util.concurrent.Promise;
v = v.<io.netty.resolver.dns.InflightNameResolver: java.util.concurrent.ConcurrentMap resolvesInProgress>;
v = specialinvoke v.<io.netty.resolver.dns.InflightNameResolver: io.netty.util.concurrent.Promise resolve(java.util.concurrent.ConcurrentMap,java.lang.String,io.netty.util.concurrent.Promise,boolean)>(v, v, v, 0);
return v;
}
public io.netty.util.concurrent.Promise resolveAll(java.lang.String, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.InflightNameResolver v;
io.netty.util.concurrent.Promise v, v;
java.lang.String v;
java.util.concurrent.ConcurrentMap v;
v := @this: io.netty.resolver.dns.InflightNameResolver;
v := @parameter: java.lang.String;
v := @parameter: io.netty.util.concurrent.Promise;
v = v.<io.netty.resolver.dns.InflightNameResolver: java.util.concurrent.ConcurrentMap resolveAllsInProgress>;
v = specialinvoke v.<io.netty.resolver.dns.InflightNameResolver: io.netty.util.concurrent.Promise resolve(java.util.concurrent.ConcurrentMap,java.lang.String,io.netty.util.concurrent.Promise,boolean)>(v, v, v, 1);
return v;
}
private io.netty.util.concurrent.Promise resolve(java.util.concurrent.ConcurrentMap, java.lang.String, io.netty.util.concurrent.Promise, boolean)
{
io.netty.resolver.dns.InflightNameResolver v;
java.lang.Throwable v;
io.netty.util.concurrent.Promise v;
io.netty.resolver.NameResolver v, v;
java.util.concurrent.ConcurrentMap v;
io.netty.resolver.dns.InflightNameResolver$1 v;
io.netty.resolver.dns.InflightNameResolver$2 v, v;
java.lang.Object v;
java.lang.String v;
boolean v, v, v, v;
v := @this: io.netty.resolver.dns.InflightNameResolver;
v := @parameter: java.util.concurrent.ConcurrentMap;
v := @parameter: java.lang.String;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: boolean;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean isDone()>();
if v == 0 goto label;
staticinvoke <io.netty.resolver.dns.InflightNameResolver: void transferResult(io.netty.util.concurrent.Future,io.netty.util.concurrent.Promise)>(v, v);
goto label;
label:
v = new io.netty.resolver.dns.InflightNameResolver$1;
specialinvoke v.<io.netty.resolver.dns.InflightNameResolver$1: void <init>(io.netty.resolver.dns.InflightNameResolver,io.netty.util.concurrent.Promise)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
goto label;
label:
if v == 0 goto label;
v = v.<io.netty.resolver.dns.InflightNameResolver: io.netty.resolver.NameResolver delegate>;
interfaceinvoke v.<io.netty.resolver.NameResolver: io.netty.util.concurrent.Future resolveAll(java.lang.String,io.netty.util.concurrent.Promise)>(v, v);
goto label;
label:
v = v.<io.netty.resolver.dns.InflightNameResolver: io.netty.resolver.NameResolver delegate>;
interfaceinvoke v.<io.netty.resolver.NameResolver: io.netty.util.concurrent.Future resolve(java.lang.String,io.netty.util.concurrent.Promise)>(v, v);
label:
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean isDone()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = new io.netty.resolver.dns.InflightNameResolver$2;
specialinvoke v.<io.netty.resolver.dns.InflightNameResolver$2: void <init>(io.netty.resolver.dns.InflightNameResolver,java.util.concurrent.ConcurrentMap,java.lang.String)>(v, v, v);
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
goto label;
label:
v := @caughtexception;
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean isDone()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = new io.netty.resolver.dns.InflightNameResolver$2;
specialinvoke v.<io.netty.resolver.dns.InflightNameResolver$2: void <init>(io.netty.resolver.dns.InflightNameResolver,java.util.concurrent.ConcurrentMap,java.lang.String)>(v, v, v);
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
label:
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
private static void transferResult(io.netty.util.concurrent.Future, io.netty.util.concurrent.Promise)
{
java.lang.Throwable v;
io.netty.util.concurrent.Promise v;
java.lang.Object v;
io.netty.util.concurrent.Future v;
boolean v;
v := @parameter: io.netty.util.concurrent.Future;
v := @parameter: io.netty.util.concurrent.Promise;
v = interfaceinvoke v.<io.netty.util.concurrent.Future: boolean isSuccess()>();
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.util.concurrent.Future: java.lang.Object getNow()>();
interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean trySuccess(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<io.netty.util.concurrent.Future: java.lang.Throwable cause()>();
interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean tryFailure(java.lang.Throwable)>(v);
label:
return;
}
public java.lang.String toString()
{
io.netty.resolver.dns.InflightNameResolver v;
io.netty.resolver.NameResolver v;
java.lang.String v, v;
v := @this: io.netty.resolver.dns.InflightNameResolver;
v = staticinvoke <io.netty.util.internal.StringUtil: java.lang.String simpleClassName(java.lang.Object)>(v);
v = v.<io.netty.resolver.dns.InflightNameResolver: io.netty.resolver.NameResolver delegate>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,io.netty.resolver.NameResolver)>(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;
}
}