abstract class io.netty.resolver.dns.DnsResolveContext extends java.lang.Object
{
private static final io.netty.util.internal.logging.InternalLogger logger;
private static final java.lang.RuntimeException NXDOMAIN_QUERY_FAILED_EXCEPTION;
private static final java.lang.RuntimeException CNAME_NOT_FOUND_QUERY_FAILED_EXCEPTION;
private static final java.lang.RuntimeException NO_MATCHING_RECORD_QUERY_FAILED_EXCEPTION;
private static final java.lang.RuntimeException UNRECOGNIZED_TYPE_QUERY_FAILED_EXCEPTION;
private static final java.lang.RuntimeException NAME_SERVERS_EXHAUSTED_EXCEPTION;
final io.netty.resolver.dns.DnsNameResolver parent;
private final io.netty.util.concurrent.Promise originalPromise;
private final io.netty.resolver.dns.DnsServerAddressStream nameServerAddrs;
private final java.lang.String hostname;
private final int dnsClass;
private final io.netty.handler.codec.dns.DnsRecordType[] expectedTypes;
final io.netty.handler.codec.dns.DnsRecord[] additionals;
private final java.util.Set queriesInProgress;
private java.util.List finalResult;
private int allowedQueries;
private boolean triedCNAME;
private boolean completeEarly;
static final boolean $assertionsDisabled;
void <init>(io.netty.resolver.dns.DnsNameResolver, io.netty.util.concurrent.Promise, java.lang.String, int, io.netty.handler.codec.dns.DnsRecordType[], io.netty.handler.codec.dns.DnsRecord[], io.netty.resolver.dns.DnsServerAddressStream, int)
{
io.netty.resolver.dns.DnsNameResolver v;
java.util.IdentityHashMap v;
io.netty.util.concurrent.Promise v;
io.netty.resolver.dns.DnsServerAddressStream v;
java.util.Set v;
io.netty.handler.codec.dns.DnsRecordType[] v;
java.lang.AssertionError v;
io.netty.resolver.dns.DnsResolveContext v;
io.netty.handler.codec.dns.DnsRecord[] v;
int v, v, v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.resolver.dns.DnsNameResolver;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.dns.DnsRecordType[];
v := @parameter: io.netty.handler.codec.dns.DnsRecord[];
v := @parameter: io.netty.resolver.dns.DnsServerAddressStream;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.IdentityHashMap;
specialinvoke v.<java.util.IdentityHashMap: void <init>()>();
v = staticinvoke <java.util.Collections: java.util.Set newSetFromMap(java.util.Map)>(v);
v.<io.netty.resolver.dns.DnsResolveContext: java.util.Set queriesInProgress> = v;
v = <io.netty.resolver.dns.DnsResolveContext: boolean $assertionsDisabled>;
if v != 0 goto label;
v = lengthof v;
if v > 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent> = v;
v.<io.netty.resolver.dns.DnsResolveContext: io.netty.util.concurrent.Promise originalPromise> = v;
v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname> = v;
v.<io.netty.resolver.dns.DnsResolveContext: int dnsClass> = v;
v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecordType[] expectedTypes> = v;
v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecord[] additionals> = v;
v = staticinvoke <io.netty.util.internal.ObjectUtil: java.lang.Object checkNotNull(java.lang.Object,java.lang.String)>(v, "nameServerAddrs");
v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsServerAddressStream nameServerAddrs> = v;
v.<io.netty.resolver.dns.DnsResolveContext: int allowedQueries> = v;
return;
}
io.netty.resolver.dns.DnsCache resolveCache()
{
io.netty.resolver.dns.DnsResolveContext v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.resolver.dns.DnsCache v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsCache resolveCache()>();
return v;
}
io.netty.resolver.dns.DnsCnameCache cnameCache()
{
io.netty.resolver.dns.DnsResolveContext v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.resolver.dns.DnsCnameCache v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsCnameCache cnameCache()>();
return v;
}
io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache()
{
io.netty.resolver.dns.AuthoritativeDnsServerCache v;
io.netty.resolver.dns.DnsResolveContext v;
io.netty.resolver.dns.DnsNameResolver v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache()>();
return v;
}
abstract io.netty.resolver.dns.DnsResolveContext newResolverContext(io.netty.resolver.dns.DnsNameResolver, io.netty.util.concurrent.Promise, java.lang.String, int, io.netty.handler.codec.dns.DnsRecordType[], io.netty.handler.codec.dns.DnsRecord[], io.netty.resolver.dns.DnsServerAddressStream, int);
abstract java.lang.Object convertRecord(io.netty.handler.codec.dns.DnsRecord, java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.channel.EventLoop);
abstract java.util.List filterResults(java.util.List);
abstract boolean isCompleteEarly(java.lang.Object);
abstract boolean isDuplicateAllowed();
abstract void cache(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.handler.codec.dns.DnsRecord, java.lang.Object);
abstract void cache(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], java.net.UnknownHostException);
void resolve(io.netty.util.concurrent.Promise)
{
java.lang.String[] v;
io.netty.resolver.dns.DnsResolveContext v;
byte v;
int v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v;
io.netty.resolver.dns.DnsNameResolver v, v, v;
io.netty.util.concurrent.Promise v, v;
io.netty.channel.EventLoop v;
io.netty.resolver.dns.DnsResolveContext$1 v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.util.concurrent.Promise;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.lang.String[] searchDomains()>();
v = lengthof v;
if v == 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: int ndots()>();
if v == 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = staticinvoke <io.netty.util.internal.StringUtil: boolean endsWith(java.lang.CharSequence,char)>(v, 46);
if v == 0 goto label;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void internalResolve(java.lang.String,io.netty.util.concurrent.Promise)>(v, v);
goto label;
label:
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: boolean hasNDots()>();
if v == 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
goto label;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = v[0];
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u.\u0001");
label:
v = v;
if v == 0 goto label;
v = 0;
goto label;
label:
v = 1;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v = new io.netty.resolver.dns.DnsResolveContext$1;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext$1: void <init>(io.netty.resolver.dns.DnsResolveContext,int,io.netty.util.concurrent.Promise,java.lang.String[],boolean)>(v, v, v, v, v);
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: void doSearchDomainQuery(java.lang.String,io.netty.util.concurrent.Promise)>(v, v);
label:
return;
}
private boolean hasNDots()
{
io.netty.resolver.dns.DnsNameResolver v;
char v;
io.netty.resolver.dns.DnsResolveContext v;
int v, v, v, v;
java.lang.String v, v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = 0;
label:
if v < 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 46 goto label;
v = v + 1;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: int ndots()>();
if v < v goto label;
return 1;
label:
v = v - 1;
goto label;
label:
return 0;
}
void doSearchDomainQuery(java.lang.String, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.DnsNameResolver v, v;
io.netty.util.concurrent.Promise v, v;
io.netty.resolver.dns.DnsServerAddressStream v;
io.netty.handler.codec.dns.DnsRecordType[] v;
io.netty.resolver.dns.DnsResolveContext v, v;
io.netty.handler.codec.dns.DnsRecord[] v;
int v, v;
java.lang.String v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: java.lang.String;
v := @parameter: io.netty.util.concurrent.Promise;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.util.concurrent.Promise originalPromise>;
v = v.<io.netty.resolver.dns.DnsResolveContext: int dnsClass>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecordType[] expectedTypes>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecord[] additionals>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsServerAddressStream nameServerAddrs>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: int maxQueriesPerResolve()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsResolveContext newResolverContext(io.netty.resolver.dns.DnsNameResolver,io.netty.util.concurrent.Promise,java.lang.String,int,io.netty.handler.codec.dns.DnsRecordType[],io.netty.handler.codec.dns.DnsRecord[],io.netty.resolver.dns.DnsServerAddressStream,int)>(v, v, v, v, v, v, v, v);
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void internalResolve(java.lang.String,io.netty.util.concurrent.Promise)>(v, v);
return;
}
private static java.lang.String hostnameWithDot(java.lang.String)
{
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = staticinvoke <io.netty.util.internal.StringUtil: boolean endsWith(java.lang.CharSequence,char)>(v, 46);
if v == 0 goto label;
return v;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("\u.");
return v;
}
static java.lang.String cnameResolveFromCache(io.netty.resolver.dns.DnsCnameCache, java.lang.String) throws java.net.UnknownHostException
{
java.lang.String v, v, v, v, v, v;
io.netty.resolver.dns.DnsCnameCache v;
v := @parameter: io.netty.resolver.dns.DnsCnameCache;
v := @parameter: java.lang.String;
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.lang.String hostnameWithDot(java.lang.String)>(v);
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCnameCache: java.lang.String get(java.lang.String)>(v);
if v != null goto label;
return v;
label:
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.lang.String hostnameWithDot(java.lang.String)>(v);
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCnameCache: java.lang.String get(java.lang.String)>(v);
if v != null goto label;
return v;
label:
staticinvoke <io.netty.resolver.dns.DnsResolveContext: void checkCnameLoop(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.lang.String cnameResolveFromCacheLoop(io.netty.resolver.dns.DnsCnameCache,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v);
return v;
}
private static java.lang.String cnameResolveFromCacheLoop(io.netty.resolver.dns.DnsCnameCache, java.lang.String, java.lang.String, java.lang.String) throws java.net.UnknownHostException
{
java.lang.String v, v, v, v, v, v;
io.netty.resolver.dns.DnsCnameCache v;
boolean v, v;
v := @parameter: io.netty.resolver.dns.DnsCnameCache;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = 0;
v = v;
label:
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.lang.String hostnameWithDot(java.lang.String)>(v);
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCnameCache: java.lang.String get(java.lang.String)>(v);
if v == null goto label;
staticinvoke <io.netty.resolver.dns.DnsResolveContext: void checkCnameLoop(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
v = v;
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsCnameCache: java.lang.String get(java.lang.String)>(v);
label:
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
goto label;
label:
return v;
}
private static void checkCnameLoop(java.lang.String, java.lang.String, java.lang.String) throws java.net.UnknownHostException
{
java.lang.String v, v, v, v;
java.net.UnknownHostException v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.net.UnknownHostException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("CNAME loop detected for \'\u0001\'");
specialinvoke v.<java.net.UnknownHostException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private void internalResolve(java.lang.String, io.netty.util.concurrent.Promise)
{
java.lang.Throwable v, v;
io.netty.resolver.dns.DnsServerAddressStream v, v;
io.netty.handler.codec.dns.DnsRecordType[] v, v, v;
io.netty.resolver.dns.DnsResolveContext v;
int v, v, v;
java.lang.String v, v;
boolean v;
io.netty.handler.codec.dns.DnsRecordType v, v;
io.netty.resolver.dns.DnsNameResolver v, v, v;
io.netty.util.concurrent.Promise v;
io.netty.resolver.dns.DnsCnameCache v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: java.lang.String;
v := @parameter: io.netty.util.concurrent.Promise;
label:
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsCnameCache cnameCache()>();
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.lang.String cnameResolveFromCache(io.netty.resolver.dns.DnsCnameCache,java.lang.String)>(v, v);
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean tryFailure(java.lang.Throwable)>(v);
return;
label:
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsServerAddressStream getNameServers(java.lang.String)>(v);
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecordType[] expectedTypes>;
v = lengthof v;
v = v - 1;
v = 0;
label:
if v >= v goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecordType[] expectedTypes>;
v = v[v];
v = interfaceinvoke v.<io.netty.resolver.dns.DnsServerAddressStream: io.netty.resolver.dns.DnsServerAddressStream duplicate()>();
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: boolean query(java.lang.String,io.netty.handler.codec.dns.DnsRecordType,io.netty.resolver.dns.DnsServerAddressStream,boolean,io.netty.util.concurrent.Promise)>(v, v, v, 0, v);
if v != 0 goto label;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: void flushQueries()>();
return;
label:
v = v + 1;
goto label;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecordType[] expectedTypes>;
v = v[v];
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: boolean query(java.lang.String,io.netty.handler.codec.dns.DnsRecordType,io.netty.resolver.dns.DnsServerAddressStream,boolean,io.netty.util.concurrent.Promise)>(v, v, v, 0, v);
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: void flushQueries()>();
goto label;
label:
v := @caughtexception;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: void flushQueries()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private io.netty.resolver.dns.DnsServerAddressStream getNameServersFromCache(java.lang.String)
{
io.netty.resolver.dns.DnsServerAddressStream v;
char v;
io.netty.resolver.dns.AuthoritativeDnsServerCache v;
io.netty.resolver.dns.DnsResolveContext v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
return null;
label:
v = v - 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 46 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("\u.");
label:
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(46);
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
if v != v goto label;
return null;
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(46);
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
if v != v goto label;
label:
return null;
label:
v = v;
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache()>();
v = interfaceinvoke v.<io.netty.resolver.dns.AuthoritativeDnsServerCache: io.netty.resolver.dns.DnsServerAddressStream get(java.lang.String)>(v);
if v == null goto label;
return v;
}
private void query(io.netty.resolver.dns.DnsServerAddressStream, int, io.netty.handler.codec.dns.DnsQuestion, io.netty.resolver.dns.DnsQueryLifecycleObserver, boolean, io.netty.util.concurrent.Promise, java.lang.Throwable)
{
io.netty.resolver.dns.DnsServerAddressStream v;
io.netty.resolver.dns.DnsResolveContext v;
io.netty.channel.ChannelPromise v;
boolean v, v, v, v, v, v, v;
io.netty.resolver.dns.DnsNameResolver v, v, v;
io.netty.handler.codec.dns.DnsQuestion v;
java.util.Set v;
io.netty.channel.EventLoop v;
java.net.InetSocketAddress v;
io.netty.resolver.dns.DnsQueryLifecycleObserver v;
io.netty.resolver.dns.DnsResolveContext$2 v;
java.lang.Throwable v;
long v;
int v, v, v, v, v;
io.netty.util.concurrent.Promise v, v, v;
io.netty.channel.Channel v, v;
io.netty.handler.codec.dns.DnsRecord[] v;
io.netty.util.concurrent.Future v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.resolver.dns.DnsServerAddressStream;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserver;
v := @parameter: boolean;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: java.lang.Throwable;
v = v.<io.netty.resolver.dns.DnsResolveContext: boolean completeEarly>;
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsServerAddressStream: int size()>();
if v >= v goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: int allowedQueries>;
if v == 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.util.concurrent.Promise originalPromise>;
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean isCancelled()>();
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean isCancelled()>();
if v == 0 goto label;
label:
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void tryToFinishResolve(io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.handler.codec.dns.DnsQuestion,io.netty.resolver.dns.DnsQueryLifecycleObserver,io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, v, v, v, v, v);
return;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: int allowedQueries>;
v = v - 1;
v.<io.netty.resolver.dns.DnsResolveContext: int allowedQueries> = v;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsServerAddressStream: java.net.InetSocketAddress next()>();
v = virtualinvoke v.<java.net.InetSocketAddress: boolean isUnresolved()>();
if v == 0 goto label;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void queryUnresolvedNameServer(java.net.InetSocketAddress,io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.handler.codec.dns.DnsQuestion,io.netty.resolver.dns.DnsQueryLifecycleObserver,io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, v, v, v, v, v, v);
return;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.ChannelPromise newPromise()>();
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.Channel ch>;
v = interfaceinvoke v.<io.netty.channel.Channel: io.netty.channel.EventLoop eventLoop()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v = v instanceof io.netty.resolver.dns.DnsServerResponseFeedbackAddressStream;
if v == 0 goto label;
v = staticinvoke <java.lang.System: long nanoTime()>();
v = 1;
goto label;
label:
v = -1L;
v = 0;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecord[] additionals>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.util.concurrent.Future query0(java.net.InetSocketAddress,io.netty.handler.codec.dns.DnsQuestion,io.netty.handler.codec.dns.DnsRecord[],boolean,io.netty.channel.ChannelPromise,io.netty.util.concurrent.Promise)>(v, v, v, v, v, v);
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.Set queriesInProgress>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void queryWritten(java.net.InetSocketAddress,io.netty.channel.ChannelFuture)>(v, v);
v = new io.netty.resolver.dns.DnsResolveContext$2;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext$2: void <init>(io.netty.resolver.dns.DnsResolveContext,io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsQueryLifecycleObserver,boolean,io.netty.resolver.dns.DnsServerAddressStream,java.net.InetSocketAddress,long,int,io.netty.handler.codec.dns.DnsQuestion)>(v, v, v, v, v, v, v, v, v);
interfaceinvoke v.<io.netty.util.concurrent.Future: io.netty.util.concurrent.Future addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
return;
}
private void queryUnresolvedNameServer(java.net.InetSocketAddress, io.netty.resolver.dns.DnsServerAddressStream, int, io.netty.handler.codec.dns.DnsQuestion, io.netty.resolver.dns.DnsQueryLifecycleObserver, io.netty.util.concurrent.Promise, java.lang.Throwable)
{
io.netty.resolver.dns.DnsServerAddressStream v, v;
io.netty.resolver.dns.DnsResolveContext v;
boolean v, v;
io.netty.resolver.dns.DnsNameResolver v, v, v, v, v;
io.netty.handler.codec.dns.DnsQuestion v;
java.util.Set v;
io.netty.channel.EventLoop v, v;
java.net.InetSocketAddress v;
io.netty.resolver.dns.DnsQueryLifecycleObserver v;
io.netty.channel.socket.InternetProtocolFamily[] v;
io.netty.resolver.dns.DnsResolveContext$3 v;
java.lang.Throwable v;
io.netty.resolver.dns.DnsAddressResolveContext v;
io.netty.resolver.dns.AuthoritativeDnsServerCache v, v;
java.lang.AssertionError v;
io.netty.resolver.dns.DnsCache v;
int v, v, v;
java.lang.String v, v;
io.netty.util.concurrent.Promise v, v, v;
io.netty.handler.codec.dns.DnsRecord[] v, v;
io.netty.util.concurrent.Future v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: java.net.InetSocketAddress;
v := @parameter: io.netty.resolver.dns.DnsServerAddressStream;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserver;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: java.lang.Throwable;
v = staticinvoke <io.netty.util.internal.PlatformDependent: int javaVersion()>();
if v < 7 goto label;
v = virtualinvoke v.<java.net.InetSocketAddress: java.lang.String getHostString()>();
goto label;
label:
v = virtualinvoke v.<java.net.InetSocketAddress: java.lang.String getHostName()>();
label:
v = v;
v = <io.netty.resolver.dns.DnsResolveContext: boolean $assertionsDisabled>;
if v != 0 goto label;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Future newSucceededFuture(java.lang.Object)>(null);
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.Set queriesInProgress>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = interfaceinvoke v.<io.netty.channel.EventLoop: io.netty.util.concurrent.Promise newPromise()>();
v = new io.netty.resolver.dns.DnsResolveContext$3;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext$3: void <init>(io.netty.resolver.dns.DnsResolveContext,io.netty.util.concurrent.Future,java.net.InetSocketAddress,io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.handler.codec.dns.DnsQuestion,io.netty.resolver.dns.DnsQueryLifecycleObserver,io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, v, v, v, v, v, v, v, v);
interfaceinvoke v.<io.netty.util.concurrent.Promise: io.netty.util.concurrent.Promise addListener(io.netty.util.concurrent.GenericFutureListener)>(v);
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsCache resolveCache()>();
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecord[] additionals>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamiliesUnsafe()>();
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: boolean doResolveAllCached(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.util.concurrent.Promise,io.netty.resolver.dns.DnsCache,io.netty.channel.socket.InternetProtocolFamily[])>(v, v, v, v, v);
if v != 0 goto label;
v = new io.netty.resolver.dns.DnsAddressResolveContext;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.util.concurrent.Promise originalPromise>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecord[] additionals>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsServerAddressStream newNameServerAddressStream(java.lang.String)>(v);
v = v.<io.netty.resolver.dns.DnsResolveContext: int allowedQueries>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache()>();
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.AuthoritativeDnsServerCache redirectAuthoritativeDnsServerCache(io.netty.resolver.dns.AuthoritativeDnsServerCache)>(v);
specialinvoke v.<io.netty.resolver.dns.DnsAddressResolveContext: void <init>(io.netty.resolver.dns.DnsNameResolver,io.netty.util.concurrent.Promise,java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.resolver.dns.DnsCache,io.netty.resolver.dns.AuthoritativeDnsServerCache,boolean)>(v, v, v, v, v, v, v, v, 0);
virtualinvoke v.<io.netty.resolver.dns.DnsAddressResolveContext: void resolve(io.netty.util.concurrent.Promise)>(v);
label:
return;
}
private static io.netty.resolver.dns.AuthoritativeDnsServerCache redirectAuthoritativeDnsServerCache(io.netty.resolver.dns.AuthoritativeDnsServerCache)
{
io.netty.resolver.dns.AuthoritativeDnsServerCache v;
io.netty.resolver.dns.DnsResolveContext$RedirectAuthoritativeDnsServerCache v;
boolean v;
v := @parameter: io.netty.resolver.dns.AuthoritativeDnsServerCache;
v = v instanceof io.netty.resolver.dns.DnsResolveContext$RedirectAuthoritativeDnsServerCache;
if v == 0 goto label;
return v;
label:
v = new io.netty.resolver.dns.DnsResolveContext$RedirectAuthoritativeDnsServerCache;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext$RedirectAuthoritativeDnsServerCache: void <init>(io.netty.resolver.dns.AuthoritativeDnsServerCache)>(v);
return v;
}
private void onResponse(io.netty.resolver.dns.DnsServerAddressStream, int, io.netty.handler.codec.dns.DnsQuestion, io.netty.channel.AddressedEnvelope, io.netty.resolver.dns.DnsQueryLifecycleObserver, io.netty.util.concurrent.Promise)
{
io.netty.handler.codec.dns.DnsResponseCode v, v, v;
java.lang.Throwable v;
io.netty.resolver.dns.DnsServerAddressStream v;
io.netty.handler.codec.dns.DnsRecordType[] v;
io.netty.channel.AddressedEnvelope v;
io.netty.resolver.dns.DnsResolveContext v;
java.util.Map v;
int v, v, v, v, v;
boolean v, v;
io.netty.handler.codec.dns.DnsRecordType v, v, v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
java.lang.RuntimeException v, v;
io.netty.channel.EventLoop v;
io.netty.resolver.dns.DnsQueryLifecycleObserver v, v, v;
java.lang.Object v, v;
io.netty.resolver.dns.DnsCnameCache v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.resolver.dns.DnsServerAddressStream;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: io.netty.channel.AddressedEnvelope;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserver;
v := @parameter: io.netty.util.concurrent.Promise;
label:
v = interfaceinvoke v.<io.netty.channel.AddressedEnvelope: java.lang.Object content()>();
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: io.netty.handler.codec.dns.DnsResponseCode code()>();
v = <io.netty.handler.codec.dns.DnsResponseCode: io.netty.handler.codec.dns.DnsResponseCode NOERROR>;
if v != v goto label;
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: boolean handleRedirect(io.netty.handler.codec.dns.DnsQuestion,io.netty.channel.AddressedEnvelope,io.netty.resolver.dns.DnsQueryLifecycleObserver,io.netty.util.concurrent.Promise)>(v, v, v, v);
if v == 0 goto label;
label:
staticinvoke <io.netty.util.ReferenceCountUtil: void safeRelease(java.lang.Object)>(v);
return;
label:
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsQuestion: io.netty.handler.codec.dns.DnsRecordType type()>();
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType CNAME>;
if v != v goto label;
v = interfaceinvoke v.<io.netty.channel.AddressedEnvelope: java.lang.Object content()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsCnameCache cnameCache()>();
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.util.Map buildAliasMap(io.netty.handler.codec.dns.DnsResponse,io.netty.resolver.dns.DnsCnameCache,io.netty.channel.EventLoop)>(v, v, v);
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void onResponseCNAME(io.netty.handler.codec.dns.DnsQuestion,java.util.Map,io.netty.resolver.dns.DnsQueryLifecycleObserver,io.netty.util.concurrent.Promise)>(v, v, v, v);
label:
staticinvoke <io.netty.util.ReferenceCountUtil: void safeRelease(java.lang.Object)>(v);
return;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecordType[] expectedTypes>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
if v != v goto label;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void onExpectedResponse(io.netty.handler.codec.dns.DnsQuestion,io.netty.channel.AddressedEnvelope,io.netty.resolver.dns.DnsQueryLifecycleObserver,io.netty.util.concurrent.Promise)>(v, v, v, v);
label:
staticinvoke <io.netty.util.ReferenceCountUtil: void safeRelease(java.lang.Object)>(v);
return;
label:
v = v + 1;
goto label;
label:
v = <io.netty.resolver.dns.DnsResolveContext: java.lang.RuntimeException UNRECOGNIZED_TYPE_QUERY_FAILED_EXCEPTION>;
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void queryFailed(java.lang.Throwable)>(v);
label:
staticinvoke <io.netty.util.ReferenceCountUtil: void safeRelease(java.lang.Object)>(v);
return;
label:
v = <io.netty.handler.codec.dns.DnsResponseCode: io.netty.handler.codec.dns.DnsResponseCode NXDOMAIN>;
if v == v goto label;
v = v + 1;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: io.netty.resolver.dns.DnsQueryLifecycleObserver queryNoAnswer(io.netty.handler.codec.dns.DnsResponseCode)>(v);
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void query(io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.handler.codec.dns.DnsQuestion,io.netty.resolver.dns.DnsQueryLifecycleObserver,boolean,io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, v, v, v, 1, v, null);
goto label;
label:
v = <io.netty.resolver.dns.DnsResolveContext: java.lang.RuntimeException NXDOMAIN_QUERY_FAILED_EXCEPTION>;
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void queryFailed(java.lang.Throwable)>(v);
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: boolean isAuthoritativeAnswer()>();
if v != 0 goto label;
v = v + 1;
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsQueryLifecycleObserver newDnsQueryLifecycleObserver(io.netty.handler.codec.dns.DnsQuestion)>(v);
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void query(io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.handler.codec.dns.DnsQuestion,io.netty.resolver.dns.DnsQueryLifecycleObserver,boolean,io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, v, v, v, 1, v, null);
label:
staticinvoke <io.netty.util.ReferenceCountUtil: void safeRelease(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <io.netty.util.ReferenceCountUtil: void safeRelease(java.lang.Object)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private boolean handleRedirect(io.netty.handler.codec.dns.DnsQuestion, io.netty.channel.AddressedEnvelope, io.netty.resolver.dns.DnsQueryLifecycleObserver, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.DnsServerAddressStream v;
io.netty.resolver.dns.DnsResolveContext$DnsAddressStreamList v;
io.netty.resolver.dns.DnsResolveContext v;
io.netty.handler.codec.dns.DnsSection v, v, v;
boolean v, v;
io.netty.resolver.dns.DnsNameResolver v, v, v, v, v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.resolver.dns.DnsQueryLifecycleObserver v, v;
java.util.List v;
io.netty.handler.codec.dns.DnsRecord v;
io.netty.resolver.dns.AuthoritativeDnsServerCache v;
io.netty.channel.AddressedEnvelope v;
io.netty.resolver.dns.DnsCache v;
int v, v, v;
java.lang.String v, v;
io.netty.handler.codec.dns.DnsRecordType v, v, v, v;
io.netty.util.concurrent.Promise v;
io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList v;
java.lang.Object v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: io.netty.channel.AddressedEnvelope;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserver;
v := @parameter: io.netty.util.concurrent.Promise;
v = interfaceinvoke v.<io.netty.channel.AddressedEnvelope: java.lang.Object content()>();
v = <io.netty.handler.codec.dns.DnsSection: io.netty.handler.codec.dns.DnsSection ANSWER>;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: int count(io.netty.handler.codec.dns.DnsSection)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsQuestion: java.lang.String name()>();
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList extractAuthoritativeNameServers(java.lang.String,io.netty.handler.codec.dns.DnsResponse)>(v, v);
if v == null goto label;
v = <io.netty.handler.codec.dns.DnsSection: io.netty.handler.codec.dns.DnsSection ADDITIONAL>;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: int count(io.netty.handler.codec.dns.DnsSection)>(v);
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.AuthoritativeDnsServerCache authoritativeDnsServerCache()>();
v = 0;
label:
if v >= v goto label;
v = <io.netty.handler.codec.dns.DnsSection: io.netty.handler.codec.dns.DnsSection ADDITIONAL>;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: io.netty.handler.codec.dns.DnsRecord recordAt(io.netty.handler.codec.dns.DnsSection,int)>(v, v);
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsRecord: io.netty.handler.codec.dns.DnsRecordType type()>();
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType A>;
if v != v goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsARecords()>();
if v == 0 goto label;
label:
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsRecord: io.netty.handler.codec.dns.DnsRecordType type()>();
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType AAAA>;
if v != v goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: boolean supportsAAAARecords()>();
if v == 0 goto label;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList: void handleWithAdditional(io.netty.resolver.dns.DnsNameResolver,io.netty.handler.codec.dns.DnsRecord,io.netty.resolver.dns.AuthoritativeDnsServerCache)>(v, v, v);
label:
v = v + 1;
goto label;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsCache resolveCache()>();
virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList: void handleWithoutAdditionals(io.netty.resolver.dns.DnsNameResolver,io.netty.resolver.dns.DnsCache,io.netty.resolver.dns.AuthoritativeDnsServerCache)>(v, v, v);
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList: java.util.List addressList()>();
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsQuestion: java.lang.String name()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsServerAddressStream newRedirectDnsServerStream(java.lang.String,java.util.List)>(v, v);
if v == null goto label;
v = new io.netty.resolver.dns.DnsResolveContext$DnsAddressStreamList;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext$DnsAddressStreamList: void <init>(io.netty.resolver.dns.DnsServerAddressStream)>(v);
v = interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: io.netty.resolver.dns.DnsQueryLifecycleObserver queryRedirected(java.util.List)>(v);
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void query(io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.handler.codec.dns.DnsQuestion,io.netty.resolver.dns.DnsQueryLifecycleObserver,boolean,io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, 0, v, v, 1, v, null);
return 1;
label:
return 0;
}
private static io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList extractAuthoritativeNameServers(java.lang.String, io.netty.handler.codec.dns.DnsResponse)
{
io.netty.handler.codec.dns.DnsRecord v;
io.netty.handler.codec.dns.DnsResponse v;
io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList v, v;
io.netty.handler.codec.dns.DnsSection v, v;
int v, v;
java.lang.String v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: io.netty.handler.codec.dns.DnsResponse;
v = <io.netty.handler.codec.dns.DnsSection: io.netty.handler.codec.dns.DnsSection AUTHORITY>;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: int count(io.netty.handler.codec.dns.DnsSection)>(v);
if v != 0 goto label;
return null;
label:
v = new io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList: void <init>(java.lang.String)>(v);
v = 0;
label:
if v >= v goto label;
v = <io.netty.handler.codec.dns.DnsSection: io.netty.handler.codec.dns.DnsSection AUTHORITY>;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: io.netty.handler.codec.dns.DnsRecord recordAt(io.netty.handler.codec.dns.DnsSection,int)>(v, v);
virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList: void add(io.netty.handler.codec.dns.DnsRecord)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext$AuthoritativeNameServerList: boolean isEmpty()>();
if v == 0 goto label;
v = null;
goto label;
label:
v = v;
label:
return v;
}
private void onExpectedResponse(io.netty.handler.codec.dns.DnsQuestion, io.netty.channel.AddressedEnvelope, io.netty.resolver.dns.DnsQueryLifecycleObserver, io.netty.util.concurrent.Promise)
{
io.netty.resolver.dns.DnsResolveContext v;
java.util.Map v;
io.netty.resolver.dns.DnsNameResolver v, v, v, v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.resolver.dns.DnsQueryLifecycleObserver v, v;
io.netty.util.internal.logging.InternalLogger v, v, v, v;
io.netty.resolver.dns.DnsCnameCache v;
java.lang.Object[] v, v;
java.lang.AssertionError v;
io.netty.channel.AddressedEnvelope v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
io.netty.util.concurrent.Promise v;
java.lang.RuntimeException v;
io.netty.handler.codec.dns.DnsRecord[] v, v, v;
io.netty.handler.codec.dns.DnsRecordType[] v;
io.netty.handler.codec.dns.DnsSection v, v;
java.util.Locale v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
io.netty.channel.EventLoop v, v;
java.util.List v, v, v, v;
io.netty.handler.codec.dns.DnsRecord v;
java.lang.String[] v, v;
java.util.HashMap v;
int v, v, v, v, v, v, v, v, v, v;
io.netty.handler.codec.dns.DnsRecordType v, v;
char v, v;
java.lang.Object v, v, v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: io.netty.channel.AddressedEnvelope;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserver;
v := @parameter: io.netty.util.concurrent.Promise;
v = interfaceinvoke v.<io.netty.channel.AddressedEnvelope: java.lang.Object content()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsCnameCache cnameCache()>();
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.util.Map buildAliasMap(io.netty.handler.codec.dns.DnsResponse,io.netty.resolver.dns.DnsCnameCache,io.netty.channel.EventLoop)>(v, v, v);
v = <io.netty.handler.codec.dns.DnsSection: io.netty.handler.codec.dns.DnsSection ANSWER>;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: int count(io.netty.handler.codec.dns.DnsSection)>(v);
v = 0;
v = v.<io.netty.resolver.dns.DnsResolveContext: boolean completeEarly>;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = 0;
label:
if v >= v goto label;
v = <io.netty.handler.codec.dns.DnsSection: io.netty.handler.codec.dns.DnsSection ANSWER>;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: io.netty.handler.codec.dns.DnsRecord recordAt(io.netty.handler.codec.dns.DnsSection,int)>(v, v);
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsRecord: io.netty.handler.codec.dns.DnsRecordType type()>();
v = 0;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecordType[] expectedTypes>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
if v != v goto label;
v = 1;
goto label;
label:
v = v + 1;
goto label;
label:
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsQuestion: java.lang.String name()>();
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsRecord: java.lang.String name()>();
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 0;
goto label;
label:
if v != null goto label;
label:
if v != null goto label;
v = <io.netty.resolver.dns.DnsResolveContext: boolean $assertionsDisabled>;
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 46 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.lang.String[] searchDomains()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v != 46 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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\u0001");
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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.");
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v;
goto label;
label:
v = v + 1;
goto label;
label:
if v != null goto label;
v = <io.netty.resolver.dns.DnsResolveContext: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <io.netty.resolver.dns.DnsResolveContext: io.netty.util.internal.logging.InternalLogger logger>;
v = newarray (java.lang.Object)[4];
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v[0] = v;
v[1] = v;
v[2] = v;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: java.lang.String[] searchDomains()>();
v[3] = v;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object[])>("Ignoring record {} as it contains a different name than the question name [{}]. Cnames: {}, Search domains: {}", v);
goto label;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecord[] additionals>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.channel.EventLoop executor()>();
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: java.lang.Object convertRecord(io.netty.handler.codec.dns.DnsRecord,java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.channel.EventLoop)>(v, v, v, v);
if v != null goto label;
v = <io.netty.resolver.dns.DnsResolveContext: io.netty.util.internal.logging.InternalLogger logger>;
v = interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <io.netty.resolver.dns.DnsResolveContext: io.netty.util.internal.logging.InternalLogger logger>;
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v[0] = v;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v[1] = v;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecord[] additionals>;
v[2] = v;
interfaceinvoke v.<io.netty.util.internal.logging.InternalLogger: void debug(java.lang.String,java.lang.Object[])>("Ignoring record {} as the converted record is null. hostname [{}], Additionals: {}", v);
goto label;
label:
v = 0;
if v != 0 goto label;
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: boolean isCompleteEarly(java.lang.Object)>(v);
label:
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean isDone()>();
if v != 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.List finalResult>;
if v != null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(8);
v.<io.netty.resolver.dns.DnsResolveContext: java.util.List finalResult> = v;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.List finalResult>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: boolean isDuplicateAllowed()>();
if v != 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.List finalResult>;
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.List finalResult>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = 1;
goto label;
label:
v = 1;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecord[] additionals>;
virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: void cache(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],io.netty.handler.codec.dns.DnsRecord,java.lang.Object)>(v, v, v, v);
v = 1;
if v == 0 goto label;
staticinvoke <io.netty.util.ReferenceCountUtil: boolean release(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
if v == 0 goto label;
if v != 0 goto label;
if v == 0 goto label;
v.<io.netty.resolver.dns.DnsResolveContext: boolean completeEarly> = 1;
label:
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void querySucceed()>();
goto label;
label:
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
v = <io.netty.resolver.dns.DnsResolveContext: java.lang.RuntimeException NO_MATCHING_RECORD_QUERY_FAILED_EXCEPTION>;
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void queryFailed(java.lang.Throwable)>(v);
goto label;
label:
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void querySucceed()>();
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsQueryLifecycleObserver newDnsQueryLifecycleObserver(io.netty.handler.codec.dns.DnsQuestion)>(v);
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void onResponseCNAME(io.netty.handler.codec.dns.DnsQuestion,java.util.Map,io.netty.resolver.dns.DnsQueryLifecycleObserver,io.netty.util.concurrent.Promise)>(v, v, v, v);
label:
return;
}
private void onResponseCNAME(io.netty.handler.codec.dns.DnsQuestion, java.util.Map, io.netty.resolver.dns.DnsQueryLifecycleObserver, io.netty.util.concurrent.Promise)
{
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
java.lang.RuntimeException v;
io.netty.resolver.dns.DnsQueryLifecycleObserver v;
io.netty.resolver.dns.DnsResolveContext v;
java.util.Locale v;
java.util.Map v;
java.lang.Object v;
java.lang.String v, v;
boolean v, v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: java.util.Map;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserver;
v := @parameter: io.netty.util.concurrent.Promise;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsQuestion: java.lang.String name()>();
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = 0;
label:
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = 1;
v = v;
goto label;
label:
if v == 0 goto label;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void followCname(io.netty.handler.codec.dns.DnsQuestion,java.lang.String,io.netty.resolver.dns.DnsQueryLifecycleObserver,io.netty.util.concurrent.Promise)>(v, v, v, v);
goto label;
label:
v = <io.netty.resolver.dns.DnsResolveContext: java.lang.RuntimeException CNAME_NOT_FOUND_QUERY_FAILED_EXCEPTION>;
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void queryFailed(java.lang.Throwable)>(v);
label:
return;
}
private static java.util.Map buildAliasMap(io.netty.handler.codec.dns.DnsResponse, io.netty.resolver.dns.DnsCnameCache, io.netty.channel.EventLoop)
{
io.netty.handler.codec.dns.DnsRecord v;
io.netty.handler.codec.dns.DnsResponse v;
java.util.HashMap v, v;
long v;
io.netty.buffer.ByteBuf v;
io.netty.handler.codec.dns.DnsSection v, v;
java.util.Locale v, v;
java.util.Map v;
int v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v;
io.netty.handler.codec.dns.DnsRecordType v, v;
io.netty.channel.EventLoop v;
io.netty.resolver.dns.DnsCnameCache v;
v := @parameter: io.netty.handler.codec.dns.DnsResponse;
v := @parameter: io.netty.resolver.dns.DnsCnameCache;
v := @parameter: io.netty.channel.EventLoop;
v = <io.netty.handler.codec.dns.DnsSection: io.netty.handler.codec.dns.DnsSection ANSWER>;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: int count(io.netty.handler.codec.dns.DnsSection)>(v);
v = null;
v = 0;
label:
if v >= v goto label;
v = <io.netty.handler.codec.dns.DnsSection: io.netty.handler.codec.dns.DnsSection ANSWER>;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsResponse: io.netty.handler.codec.dns.DnsRecord recordAt(io.netty.handler.codec.dns.DnsSection,int)>(v, v);
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsRecord: io.netty.handler.codec.dns.DnsRecordType type()>();
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType CNAME>;
if v != v goto label;
v = v instanceof io.netty.handler.codec.dns.DnsRawRecord;
if v == 0 goto label;
v = interfaceinvoke v.<io.netty.buffer.ByteBufHolder: io.netty.buffer.ByteBuf content()>();
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.lang.String decodeDomainName(io.netty.buffer.ByteBuf)>(v);
if v == null goto label;
if v != null goto label;
v = new java.util.HashMap;
v = staticinvoke <java.lang.Math: int min(int,int)>(8, v);
specialinvoke v.<java.util.HashMap: void <init>(int)>(v);
v = v;
label:
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsRecord: java.lang.String name()>();
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.lang.String hostnameWithDot(java.lang.String)>(v);
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.lang.String hostnameWithDot(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsRecord: long timeToLive()>();
interfaceinvoke v.<io.netty.resolver.dns.DnsCnameCache: void cache(java.lang.String,java.lang.String,long,io.netty.channel.EventLoop)>(v, v, v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v + 1;
goto label;
label:
if v == null goto label;
v = v;
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
label:
return v;
}
private void tryToFinishResolve(io.netty.resolver.dns.DnsServerAddressStream, int, io.netty.handler.codec.dns.DnsQuestion, io.netty.resolver.dns.DnsQueryLifecycleObserver, io.netty.util.concurrent.Promise, java.lang.Throwable)
{
java.lang.Throwable v;
io.netty.resolver.dns.DnsServerAddressStream v, v;
io.netty.resolver.dns.DnsResolveContext v;
int v, v, v, v, v, v;
java.lang.String v, v;
boolean v, v, v;
io.netty.handler.codec.dns.DnsRecordType v, v, v, v, v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
java.util.Set v;
java.lang.RuntimeException v;
io.netty.resolver.dns.DnsQueryLifecycleObserver v, v;
java.util.List v;
io.netty.resolver.dns.NoopDnsQueryLifecycleObserver v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.resolver.dns.DnsServerAddressStream;
v := @parameter: int;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserver;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: java.lang.Throwable;
v = v.<io.netty.resolver.dns.DnsResolveContext: boolean completeEarly>;
if v != 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.Set queriesInProgress>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: int allowedQueries>;
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void queryCancelled(int)>(v);
return;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.List finalResult>;
if v != null goto label;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsServerAddressStream: int size()>();
if v >= v goto label;
v = <io.netty.resolver.dns.NoopDnsQueryLifecycleObserver: io.netty.resolver.dns.NoopDnsQueryLifecycleObserver INSTANCE>;
if v != v goto label;
v = v + 1;
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsQueryLifecycleObserver newDnsQueryLifecycleObserver(io.netty.handler.codec.dns.DnsQuestion)>(v);
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void query(io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.handler.codec.dns.DnsQuestion,io.netty.resolver.dns.DnsQueryLifecycleObserver,boolean,io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, v, v, v, 1, v, v);
goto label;
label:
v = v + 1;
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void query(io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.handler.codec.dns.DnsQuestion,io.netty.resolver.dns.DnsQueryLifecycleObserver,boolean,io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, v, v, v, 1, v, v);
label:
return;
label:
v = <io.netty.resolver.dns.DnsResolveContext: java.lang.RuntimeException NAME_SERVERS_EXHAUSTED_EXCEPTION>;
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void queryFailed(java.lang.Throwable)>(v);
if v != null goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: boolean triedCNAME>;
if v != 0 goto label;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsQuestion: io.netty.handler.codec.dns.DnsRecordType type()>();
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType A>;
if v == v goto label;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsQuestion: io.netty.handler.codec.dns.DnsRecordType type()>();
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType AAAA>;
if v != v goto label;
label:
v.<io.netty.resolver.dns.DnsResolveContext: boolean triedCNAME> = 1;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = <io.netty.handler.codec.dns.DnsRecordType: io.netty.handler.codec.dns.DnsRecordType CNAME>;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsServerAddressStream getNameServers(java.lang.String)>(v);
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: boolean query(java.lang.String,io.netty.handler.codec.dns.DnsRecordType,io.netty.resolver.dns.DnsServerAddressStream,boolean,io.netty.util.concurrent.Promise)>(v, v, v, 1, v);
return;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: int allowedQueries>;
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void queryCancelled(int)>(v);
label:
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void finishResolve(io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, v);
return;
}
private void finishResolve(io.netty.util.concurrent.Promise, java.lang.Throwable)
{
io.netty.handler.codec.dns.DnsRecordType[] v;
io.netty.resolver.dns.DnsResolveContext v;
boolean v, v, v, v, v, v, v, v;
io.netty.resolver.dns.DnsNameResolver v;
java.util.Set v, v;
java.util.List v, v, v, v, v;
java.lang.StringBuilder v, v, v, v, v, v, v, v;
java.lang.Throwable v;
java.lang.AssertionError v;
int v, v, v;
java.lang.String v, v, v, v;
io.netty.util.concurrent.Promise v;
java.util.Iterator v, v;
java.net.UnknownHostException v;
io.netty.handler.codec.dns.DnsRecord[] v;
java.lang.Object v, v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.util.concurrent.Promise;
v := @parameter: java.lang.Throwable;
v = v.<io.netty.resolver.dns.DnsResolveContext: boolean completeEarly>;
if v != 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.Set queriesInProgress>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.Set queriesInProgress>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.Iterator: void remove()>();
interfaceinvoke v.<io.netty.util.concurrent.Future: boolean cancel(boolean)>(0);
goto label;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.List finalResult>;
if v == null goto label;
v = interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean isDone()>();
if v != 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.List finalResult>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: java.util.List filterResults(java.util.List)>(v);
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
v.<io.netty.resolver.dns.DnsResolveContext: java.util.List finalResult> = v;
v = staticinvoke <io.netty.resolver.dns.DnsNameResolver: boolean trySuccess(io.netty.util.concurrent.Promise,java.lang.Object)>(v, v);
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
staticinvoke <io.netty.util.ReferenceCountUtil: void safeRelease(java.lang.Object)>(v);
goto label;
label:
v = <io.netty.resolver.dns.DnsResolveContext: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.util.List finalResult>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
return;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: int maxQueriesPerResolve()>();
v = v.<io.netty.resolver.dns.DnsResolveContext: int allowedQueries>;
v = v - v;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(64);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("Failed to resolve \'");
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\' ");
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecordType[] expectedTypes>;
v = staticinvoke <java.util.Arrays: java.lang.String toString(java.lang.Object[])>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
if v <= 1 goto label;
if v >= v goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" after ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" queries ");
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(". Exceeded max queries per resolve ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(32);
label:
v = new java.net.UnknownHostException;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<java.net.UnknownHostException: void <init>(java.lang.String)>(v);
if v != null goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.handler.codec.dns.DnsRecord[] additionals>;
virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: void cache(java.lang.String,io.netty.handler.codec.dns.DnsRecord[],java.net.UnknownHostException)>(v, v, v);
goto label;
label:
virtualinvoke v.<java.net.UnknownHostException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
label:
interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean tryFailure(java.lang.Throwable)>(v);
return;
}
static java.lang.String decodeDomainName(io.netty.buffer.ByteBuf)
{
java.lang.Throwable v;
io.netty.buffer.ByteBuf v;
java.lang.String v;
io.netty.handler.codec.CorruptedFrameException v;
v := @parameter: io.netty.buffer.ByteBuf;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf markReaderIndex()>();
label:
v = staticinvoke <io.netty.handler.codec.dns.DefaultDnsRecordDecoder: java.lang.String decodeName(io.netty.buffer.ByteBuf)>(v);
label:
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf resetReaderIndex()>();
return v;
label:
v := @caughtexception;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf resetReaderIndex()>();
return null;
label:
v := @caughtexception;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf resetReaderIndex()>();
throw v;
catch io.netty.handler.codec.CorruptedFrameException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private io.netty.resolver.dns.DnsServerAddressStream getNameServers(java.lang.String)
{
io.netty.resolver.dns.DnsNameResolver v;
io.netty.resolver.dns.DnsServerAddressStream v, v, v, v;
io.netty.resolver.dns.DnsResolveContext v;
java.lang.String v, v;
boolean v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: java.lang.String;
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsServerAddressStream getNameServersFromCache(java.lang.String)>(v);
if v != null goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: java.lang.String hostname>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsServerAddressStream nameServerAddrs>;
v = interfaceinvoke v.<io.netty.resolver.dns.DnsServerAddressStream: io.netty.resolver.dns.DnsServerAddressStream duplicate()>();
return v;
label:
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsServerAddressStream newNameServerAddressStream(java.lang.String)>(v);
return v;
label:
return v;
}
private void followCname(io.netty.handler.codec.dns.DnsQuestion, java.lang.String, io.netty.resolver.dns.DnsQueryLifecycleObserver, io.netty.util.concurrent.Promise)
{
java.lang.Throwable v;
io.netty.handler.codec.dns.DnsRecordType v;
io.netty.util.concurrent.Promise v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.resolver.dns.DnsServerAddressStream v;
io.netty.handler.codec.dns.DefaultDnsQuestion v;
io.netty.resolver.dns.DnsQueryLifecycleObserver v, v;
io.netty.resolver.dns.DnsResolveContext v;
int v;
java.lang.String v, v;
io.netty.resolver.dns.DnsCnameCache v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v := @parameter: java.lang.String;
v := @parameter: io.netty.resolver.dns.DnsQueryLifecycleObserver;
v := @parameter: io.netty.util.concurrent.Promise;
label:
v = virtualinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsCnameCache cnameCache()>();
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext: java.lang.String cnameResolveFromCache(io.netty.resolver.dns.DnsCnameCache,java.lang.String)>(v, v);
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsServerAddressStream getNameServers(java.lang.String)>(v);
v = new io.netty.handler.codec.dns.DefaultDnsQuestion;
v = interfaceinvoke v.<io.netty.handler.codec.dns.DnsQuestion: io.netty.handler.codec.dns.DnsRecordType type()>();
v = v.<io.netty.resolver.dns.DnsResolveContext: int dnsClass>;
specialinvoke v.<io.netty.handler.codec.dns.DefaultDnsQuestion: void <init>(java.lang.String,io.netty.handler.codec.dns.DnsRecordType,int)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: void queryFailed(java.lang.Throwable)>(v);
staticinvoke <io.netty.util.internal.PlatformDependent: void throwException(java.lang.Throwable)>(v);
return;
label:
v = interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserver: io.netty.resolver.dns.DnsQueryLifecycleObserver queryCNAMEd(io.netty.handler.codec.dns.DnsQuestion)>(v);
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void query(io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.handler.codec.dns.DnsQuestion,io.netty.resolver.dns.DnsQueryLifecycleObserver,boolean,io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, 0, v, v, 1, v, null);
return;
catch java.lang.Throwable from label to label with label;
}
private boolean query(java.lang.String, io.netty.handler.codec.dns.DnsRecordType, io.netty.resolver.dns.DnsServerAddressStream, boolean, io.netty.util.concurrent.Promise)
{
java.lang.Throwable v;
io.netty.handler.codec.dns.DnsRecordType v;
io.netty.util.concurrent.Promise v;
io.netty.resolver.dns.DnsServerAddressStream v;
java.lang.IllegalArgumentException v;
io.netty.handler.codec.dns.DefaultDnsQuestion v;
io.netty.resolver.dns.DnsQueryLifecycleObserver v;
io.netty.resolver.dns.DnsResolveContext v;
int v;
java.lang.String v, v;
boolean v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: java.lang.String;
v := @parameter: io.netty.handler.codec.dns.DnsRecordType;
v := @parameter: io.netty.resolver.dns.DnsServerAddressStream;
v := @parameter: boolean;
v := @parameter: io.netty.util.concurrent.Promise;
label:
v = new io.netty.handler.codec.dns.DefaultDnsQuestion;
v = v.<io.netty.resolver.dns.DnsResolveContext: int dnsClass>;
specialinvoke v.<io.netty.handler.codec.dns.DefaultDnsQuestion: void <init>(java.lang.String,io.netty.handler.codec.dns.DnsRecordType,int)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,io.netty.handler.codec.dns.DnsRecordType)>(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[])>("Unable to create DNS Question for: [\u, \u]");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
interfaceinvoke v.<io.netty.util.concurrent.Promise: boolean tryFailure(java.lang.Throwable)>(v);
return 0;
label:
v = specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsQueryLifecycleObserver newDnsQueryLifecycleObserver(io.netty.handler.codec.dns.DnsQuestion)>(v);
specialinvoke v.<io.netty.resolver.dns.DnsResolveContext: void query(io.netty.resolver.dns.DnsServerAddressStream,int,io.netty.handler.codec.dns.DnsQuestion,io.netty.resolver.dns.DnsQueryLifecycleObserver,boolean,io.netty.util.concurrent.Promise,java.lang.Throwable)>(v, 0, v, v, v, v, null);
return 1;
catch java.lang.Throwable from label to label with label;
}
private io.netty.resolver.dns.DnsQueryLifecycleObserver newDnsQueryLifecycleObserver(io.netty.handler.codec.dns.DnsQuestion)
{
io.netty.resolver.dns.DnsQueryLifecycleObserver v;
io.netty.resolver.dns.DnsResolveContext v;
io.netty.resolver.dns.DnsNameResolver v;
io.netty.handler.codec.dns.DnsQuestion v;
io.netty.resolver.dns.DnsQueryLifecycleObserverFactory v;
v := @this: io.netty.resolver.dns.DnsResolveContext;
v := @parameter: io.netty.handler.codec.dns.DnsQuestion;
v = v.<io.netty.resolver.dns.DnsResolveContext: io.netty.resolver.dns.DnsNameResolver parent>;
v = virtualinvoke v.<io.netty.resolver.dns.DnsNameResolver: io.netty.resolver.dns.DnsQueryLifecycleObserverFactory dnsQueryLifecycleObserverFactory()>();
v = interfaceinvoke v.<io.netty.resolver.dns.DnsQueryLifecycleObserverFactory: io.netty.resolver.dns.DnsQueryLifecycleObserver newDnsQueryLifecycleObserver(io.netty.handler.codec.dns.DnsQuestion)>(v);
return v;
}
static void <clinit>()
{
io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException v, v, v, v, v;
io.netty.util.internal.logging.InternalLogger v;
java.lang.Class v;
boolean v, v;
v = class "Lio/netty/resolver/dns/DnsResolveContext;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.netty.resolver.dns.DnsResolveContext: boolean $assertionsDisabled> = v;
v = staticinvoke <io.netty.util.internal.logging.InternalLoggerFactory: io.netty.util.internal.logging.InternalLogger getInstance(java.lang.Class)>(class "Lio/netty/resolver/dns/DnsResolveContext;");
<io.netty.resolver.dns.DnsResolveContext: io.netty.util.internal.logging.InternalLogger logger> = v;
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException: io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException newStatic(java.lang.String,java.lang.Class,java.lang.String)>("No answer found and NXDOMAIN response code returned", class "Lio/netty/resolver/dns/DnsResolveContext;", "onResponse(..)");
<io.netty.resolver.dns.DnsResolveContext: java.lang.RuntimeException NXDOMAIN_QUERY_FAILED_EXCEPTION> = v;
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException: io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException newStatic(java.lang.String,java.lang.Class,java.lang.String)>("No matching CNAME record found", class "Lio/netty/resolver/dns/DnsResolveContext;", "onResponseCNAME(..)");
<io.netty.resolver.dns.DnsResolveContext: java.lang.RuntimeException CNAME_NOT_FOUND_QUERY_FAILED_EXCEPTION> = v;
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException: io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException newStatic(java.lang.String,java.lang.Class,java.lang.String)>("No matching record type found", class "Lio/netty/resolver/dns/DnsResolveContext;", "onResponseAorAAAA(..)");
<io.netty.resolver.dns.DnsResolveContext: java.lang.RuntimeException NO_MATCHING_RECORD_QUERY_FAILED_EXCEPTION> = v;
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException: io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException newStatic(java.lang.String,java.lang.Class,java.lang.String)>("Response type was unrecognized", class "Lio/netty/resolver/dns/DnsResolveContext;", "onResponse(..)");
<io.netty.resolver.dns.DnsResolveContext: java.lang.RuntimeException UNRECOGNIZED_TYPE_QUERY_FAILED_EXCEPTION> = v;
v = staticinvoke <io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException: io.netty.resolver.dns.DnsResolveContext$DnsResolveContextException newStatic(java.lang.String,java.lang.Class,java.lang.String)>("No name servers returned an answer", class "Lio/netty/resolver/dns/DnsResolveContext;", "tryToFinishResolve(..)");
<io.netty.resolver.dns.DnsResolveContext: java.lang.RuntimeException NAME_SERVERS_EXHAUSTED_EXCEPTION> = v;
return;
}
}