public final class io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider implements io.netty.resolver.dns.DnsServerAddressStreamProvider
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider
super_class: java.lang.Object
{
private static final io.netty.util.internal.logging.InternalLogger logger;
descriptor: Lio/netty/util/internal/logging/InternalLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider INSTANCE;
descriptor: Lio/netty/resolver/dns/DefaultDnsServerAddressStreamProvider;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.util.List<java.net.InetSocketAddress> DEFAULT_NAME_SERVER_LIST;
descriptor: Ljava/util/List;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/List<Ljava/net/InetSocketAddress;>;
private static final java.net.InetSocketAddress[] DEFAULT_NAME_SERVER_ARRAY;
descriptor: [Ljava/net/InetSocketAddress;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final io.netty.resolver.dns.DnsServerAddresses DEFAULT_NAME_SERVERS;
descriptor: Lio/netty/resolver/dns/DnsServerAddresses;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final int DNS_PORT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 53
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=12, args_size=0
0: ldc Lio/netty/resolver/dns/DefaultDnsServerAddressStreamProvider;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
1: putstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
2: new io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider
dup
invokespecial io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.<init>:()V
putstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.INSTANCE:Lio/netty/resolver/dns/DefaultDnsServerAddressStreamProvider;
3: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 0
start local 0 4: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 1
start local 1 5: aload 1
ldc "java.naming.factory.initial"
ldc "com.sun.jndi.dns.DnsContextFactory"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 1
ldc "java.naming.provider.url"
ldc "dns://"
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: new javax.naming.directory.InitialDirContext
dup
aload 1
invokespecial javax.naming.directory.InitialDirContext.<init>:(Ljava/util/Hashtable;)V
astore 2
start local 2 8: aload 2
invokeinterface javax.naming.directory.DirContext.getEnvironment:()Ljava/util/Hashtable;
ldc "java.naming.provider.url"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 9: aload 3
ifnull 31
aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifne 31
10: aload 3
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 11: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 28
StackMap locals: java.util.List java.util.Hashtable javax.naming.directory.DirContext java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
12: aload 8
iload 6
aaload
astore 5
start local 5 13: new java.net.URI
dup
aload 5
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
astore 9
start local 9 14: new java.net.URI
dup
aload 5
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
astore 10
start local 10 15: aload 10
ifnull 16
aload 10
invokevirtual java.lang.String.isEmpty:()Z
ifeq 20
16: StackMap locals: java.util.List java.util.Hashtable javax.naming.directory.DirContext java.lang.String java.lang.String[] java.lang.String int int java.lang.String[] java.net.URI java.lang.String
StackMap stack:
getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
17: ldc "Skipping a nameserver URI as host portion could not be extracted: {}"
aload 5
18: invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
19: goto 27
20: StackMap locals:
StackMap stack:
aload 9
invokevirtual java.net.URI.getPort:()I
istore 11
start local 11 21: aload 0
aload 9
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
iload 11
iconst_m1
if_icmpne 22
bipush 53
goto 23
StackMap locals: java.util.List java.util.Hashtable javax.naming.directory.DirContext java.lang.String java.lang.String[] java.lang.String int int java.lang.String[] java.net.URI java.lang.String int
StackMap stack: java.util.List java.lang.String
22: iload 11
StackMap locals: java.util.List java.util.Hashtable javax.naming.directory.DirContext java.lang.String java.lang.String[] java.lang.String int int java.lang.String[] java.net.URI java.lang.String int
StackMap stack: java.util.List java.lang.String int
23: invokestatic io.netty.util.internal.SocketUtils.socketAddress:(Ljava/lang/String;I)Ljava/net/InetSocketAddress;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 10 end local 9 24: goto 27
StackMap locals: java.util.List java.util.Hashtable javax.naming.directory.DirContext java.lang.String java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack: java.net.URISyntaxException
25: astore 9
start local 9 26: getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Skipping a malformed nameserver URI: {}"
aload 5
aload 9
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 9 end local 5 27: StackMap locals: java.util.List java.util.Hashtable javax.naming.directory.DirContext java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
28: iload 6
iload 7
if_icmplt 12
end local 4 end local 3 end local 2 29: goto 31
StackMap locals: java.util.List java.util.Hashtable
StackMap stack: javax.naming.NamingException
30: pop
31: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.List.isEmpty:()Z
ifeq 44
32: ldc "sun.net.dns.ResolverConfiguration"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 33: aload 2
ldc "open"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 34: aload 2
ldc "nameservers"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 4
start local 4 35: aload 3
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 36: aload 4
aload 5
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 6
start local 6 37: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 41
StackMap locals: java.util.List java.util.Hashtable java.lang.Class java.lang.reflect.Method java.lang.reflect.Method java.lang.Object java.util.List top java.util.Iterator
StackMap stack:
38: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 39: aload 7
ifnull 41
40: aload 0
new java.net.InetSocketAddress
dup
aload 7
invokestatic io.netty.util.internal.SocketUtils.addressByName:(Ljava/lang/String;)Ljava/net/InetAddress;
bipush 53
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 41: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
end local 6 end local 5 end local 4 end local 3 end local 2 42: goto 44
StackMap locals: java.util.List java.util.Hashtable
StackMap stack: java.lang.Exception
43: pop
44: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.List.isEmpty:()Z
ifne 50
45: getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
ifeq 65
46: getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
47: ldc "Default DNS servers: {} (sun.net.dns.ResolverConfiguration)"
aload 0
48: invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
49: goto 65
50: StackMap locals:
StackMap stack:
invokestatic io.netty.util.NetUtil.isIpV6AddressesPreferred:()Z
ifne 52
51: getstatic io.netty.util.NetUtil.LOCALHOST:Ljava/net/InetAddress;
instanceof java.net.Inet6Address
ifeq 57
invokestatic io.netty.util.NetUtil.isIpV4StackPreferred:()Z
ifne 57
52: StackMap locals:
StackMap stack:
aload 0
iconst_2
anewarray java.net.InetSocketAddress
dup
iconst_0
53: ldc "2001:4860:4860::8888"
bipush 53
invokestatic io.netty.util.internal.SocketUtils.socketAddress:(Ljava/lang/String;I)Ljava/net/InetSocketAddress;
aastore
dup
iconst_1
54: ldc "2001:4860:4860::8844"
bipush 53
invokestatic io.netty.util.internal.SocketUtils.socketAddress:(Ljava/lang/String;I)Ljava/net/InetSocketAddress;
aastore
55: invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
56: goto 61
57: StackMap locals:
StackMap stack:
aload 0
iconst_2
anewarray java.net.InetSocketAddress
dup
iconst_0
58: ldc "8.8.8.8"
bipush 53
invokestatic io.netty.util.internal.SocketUtils.socketAddress:(Ljava/lang/String;I)Ljava/net/InetSocketAddress;
aastore
dup
iconst_1
59: ldc "8.8.4.4"
bipush 53
invokestatic io.netty.util.internal.SocketUtils.socketAddress:(Ljava/lang/String;I)Ljava/net/InetSocketAddress;
aastore
60: invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
pop
61: StackMap locals:
StackMap stack:
getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isWarnEnabled:()Z
ifeq 65
62: getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
63: ldc "Default DNS servers: {} (Google Public DNS as a fallback)"
aload 0
64: invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
65: StackMap locals:
StackMap stack:
aload 0
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
putstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.DEFAULT_NAME_SERVER_LIST:Ljava/util/List;
66: aload 0
aload 0
invokeinterface java.util.List.size:()I
anewarray java.net.InetSocketAddress
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.net.InetSocketAddress[]
putstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.DEFAULT_NAME_SERVER_ARRAY:[Ljava/net/InetSocketAddress;
67: getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.DEFAULT_NAME_SERVER_ARRAY:[Ljava/net/InetSocketAddress;
invokestatic io.netty.resolver.dns.DnsServerAddresses.sequential:([Ljava/net/InetSocketAddress;)Lio/netty/resolver/dns/DnsServerAddresses;
putstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.DEFAULT_NAME_SERVERS:Lio/netty/resolver/dns/DnsServerAddresses;
end local 1 end local 0 68: return
LocalVariableTable:
Start End Slot Name Signature
4 68 0 defaultNameServers Ljava/util/List<Ljava/net/InetSocketAddress;>;
5 68 1 env Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
8 29 2 ctx Ljavax/naming/directory/DirContext;
9 29 3 dnsUrls Ljava/lang/String;
11 29 4 servers [Ljava/lang/String;
13 27 5 server Ljava/lang/String;
14 24 9 uri Ljava/net/URI;
15 24 10 host Ljava/lang/String;
21 24 11 port I
26 27 9 e Ljava/net/URISyntaxException;
33 42 2 configClass Ljava/lang/Class<*>;
34 42 3 open Ljava/lang/reflect/Method;
35 42 4 nameservers Ljava/lang/reflect/Method;
36 42 5 instance Ljava/lang/Object;
37 42 6 list Ljava/util/List<Ljava/lang/String;>;
39 41 7 a Ljava/lang/String;
Exception table:
from to target type
13 19 25 Class java.net.URISyntaxException
20 24 25 Class java.net.URISyntaxException
7 29 30 Class javax.naming.NamingException
32 42 43 Class java.lang.Exception
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/resolver/dns/DefaultDnsServerAddressStreamProvider;
public io.netty.resolver.dns.DnsServerAddressStream nameServerAddressStream(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/netty/resolver/dns/DnsServerAddressStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.DEFAULT_NAME_SERVERS:Lio/netty/resolver/dns/DnsServerAddresses;
invokevirtual io.netty.resolver.dns.DnsServerAddresses.stream:()Lio/netty/resolver/dns/DnsServerAddressStream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/resolver/dns/DefaultDnsServerAddressStreamProvider;
0 1 1 hostname Ljava/lang/String;
MethodParameters:
Name Flags
hostname
public static java.util.List<java.net.InetSocketAddress> defaultAddressList();
descriptor: ()Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.DEFAULT_NAME_SERVER_LIST:Ljava/util/List;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: ()Ljava/util/List<Ljava/net/InetSocketAddress;>;
public static io.netty.resolver.dns.DnsServerAddresses defaultAddresses();
descriptor: ()Lio/netty/resolver/dns/DnsServerAddresses;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.DEFAULT_NAME_SERVERS:Lio/netty/resolver/dns/DnsServerAddresses;
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.net.InetSocketAddress[] defaultAddressArray();
descriptor: ()[Ljava/net/InetSocketAddress;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.DEFAULT_NAME_SERVER_ARRAY:[Ljava/net/InetSocketAddress;
invokevirtual java.net.InetSocketAddress[].clone:()Ljava/lang/Object;
checkcast java.net.InetSocketAddress[]
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "DefaultDnsServerAddressStreamProvider.java"