public class org.h2.util.NetUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.util.NetUtils
super_class: java.lang.Object
{
private static final int CACHE_MILLIS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000
private static java.net.InetAddress cachedBindAddress;
descriptor: Ljava/net/InetAddress;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String cachedLocalAddress;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static long cachedLocalAddressTime;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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 Lorg/h2/util/NetUtils;
public static java.net.Socket createLoopbackSocket(int, boolean);
descriptor: (IZ)Ljava/net/Socket;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: invokestatic org.h2.util.NetUtils.getLocalAddress:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
iload 0
iload 1
invokestatic org.h2.util.NetUtils.createSocket:(Ljava/lang/String;IZ)Ljava/net/Socket;
2: areturn
3: StackMap locals: int int java.lang.String
StackMap stack: java.io.IOException
astore 3
start local 3 4: ldc "localhost"
iload 0
iload 1
invokestatic org.h2.util.NetUtils.createSocket:(Ljava/lang/String;IZ)Ljava/net/Socket;
5: areturn
6: StackMap locals: int int java.lang.String java.io.IOException
StackMap stack: java.io.IOException
pop
7: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 port I
0 8 1 ssl Z
1 8 2 local Ljava/lang/String;
4 8 3 e Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
4 5 6 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
port
ssl
public static java.net.Socket createSocket(java.lang.String, int, boolean);
descriptor: (Ljava/lang/String;IZ)Ljava/net/Socket;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 1
istore 3
start local 3 1: aload 0
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
aload 0
bipush 93
invokevirtual java.lang.String.indexOf:(I)I
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: aload 0
bipush 58
iload 4
invokevirtual java.lang.String.indexOf:(II)I
istore 5
start local 5 5: iload 5
iflt 8
6: aload 0
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.decode:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 3
7: aload 0
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 0
8: StackMap locals: int int
StackMap stack:
aload 0
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
astore 6
start local 6 9: aload 6
iload 3
iload 2
invokestatic org.h2.util.NetUtils.createSocket:(Ljava/net/InetAddress;IZ)Ljava/net/Socket;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 server Ljava/lang/String;
0 10 1 defaultPort I
0 10 2 ssl Z
1 10 3 port I
4 10 4 startIndex I
5 10 5 idx I
9 10 6 address Ljava/net/InetAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
server
defaultPort
ssl
public static java.net.Socket createSocket(java.net.InetAddress, int, boolean);
descriptor: (Ljava/net/InetAddress;IZ)Ljava/net/Socket;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.nanoTime:()J
lstore 3
start local 3 1: iconst_0
istore 5
start local 5 2: StackMap locals: long int
StackMap stack:
iload 2
ifeq 5
3: aload 0
iload 1
invokestatic org.h2.security.CipherFactory.createSocket:(Ljava/net/InetAddress;I)Ljava/net/Socket;
4: areturn
5: StackMap locals:
StackMap stack:
new java.net.Socket
dup
invokespecial java.net.Socket.<init>:()V
astore 6
start local 6 6: aload 6
new java.net.InetSocketAddress
dup
aload 0
iload 1
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
7: getstatic org.h2.engine.SysProperties.SOCKET_CONNECT_TIMEOUT:I
8: invokevirtual java.net.Socket.connect:(Ljava/net/SocketAddress;I)V
9: aload 6
10: areturn
end local 6 11: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 12: invokestatic java.lang.System.nanoTime:()J
lload 3
lsub
13: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
getstatic org.h2.engine.SysProperties.SOCKET_CONNECT_TIMEOUT:I
i2l
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lcmp
iflt 15
14: aload 6
athrow
15: StackMap locals: java.io.IOException
StackMap stack:
iload 5
getstatic org.h2.engine.SysProperties.SOCKET_CONNECT_RETRY:I
if_icmplt 17
16: aload 6
athrow
17: StackMap locals:
StackMap stack:
sipush 256
iload 5
iload 5
imul
invokestatic java.lang.Math.min:(II)I
i2l
lstore 7
start local 7 18: lload 7
invokestatic java.lang.Thread.sleep:(J)V
end local 7 19: goto 21
StackMap locals:
StackMap stack: java.lang.InterruptedException
20: pop
end local 6 21: StackMap locals:
StackMap stack:
iinc 5 1
goto 2
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 address Ljava/net/InetAddress;
0 22 1 port I
0 22 2 ssl Z
1 22 3 start J
2 22 5 i I
6 11 6 socket Ljava/net/Socket;
12 21 6 e Ljava/io/IOException;
18 19 7 sleep J
Exception table:
from to target type
2 4 11 Class java.io.IOException
5 10 11 Class java.io.IOException
17 19 20 Class java.lang.InterruptedException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
address
port
ssl
public static java.net.ServerSocket createServerSocket(int, boolean);
descriptor: (IZ)Ljava/net/ServerSocket;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
invokestatic org.h2.util.NetUtils.createServerSocketTry:(IZ)Ljava/net/ServerSocket;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
pop
3: iload 0
iload 1
invokestatic org.h2.util.NetUtils.createServerSocketTry:(IZ)Ljava/net/ServerSocket;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 port I
0 4 1 ssl Z
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
port
ssl
private static java.net.InetAddress getBindAddress();
descriptor: ()Ljava/net/InetAddress;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: getstatic org.h2.engine.SysProperties.BIND_ADDRESS:Ljava/lang/String;
astore 0
start local 0 1: aload 0
ifnull 2
aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
2: StackMap locals: java.lang.String
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
ldc Lorg/h2/util/NetUtils;
dup
astore 1
monitorenter
4: getstatic org.h2.util.NetUtils.cachedBindAddress:Ljava/net/InetAddress;
ifnonnull 6
5: aload 0
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
putstatic org.h2.util.NetUtils.cachedBindAddress:Ljava/net/InetAddress;
6: StackMap locals: java.lang.Class
StackMap stack:
aload 1
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
getstatic org.h2.util.NetUtils.cachedBindAddress:Ljava/net/InetAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 11 0 host Ljava/lang/String;
Exception table:
from to target type
4 7 8 any
8 9 8 any
Exceptions:
throws java.net.UnknownHostException
private static java.net.ServerSocket createServerSocketTry(int, boolean);
descriptor: (IZ)Ljava/net/ServerSocket;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: invokestatic org.h2.util.NetUtils.getBindAddress:()Ljava/net/InetAddress;
astore 2
start local 2 1: iload 1
ifeq 4
2: iload 0
aload 2
invokestatic org.h2.security.CipherFactory.createServerSocket:(ILjava/net/InetAddress;)Ljava/net/ServerSocket;
3: areturn
4: StackMap locals: java.net.InetAddress
StackMap stack:
aload 2
ifnonnull 7
5: new java.net.ServerSocket
dup
iload 0
invokespecial java.net.ServerSocket.<init>:(I)V
6: areturn
7: StackMap locals:
StackMap stack:
new java.net.ServerSocket
dup
iload 0
iconst_0
aload 2
invokespecial java.net.ServerSocket.<init>:(IILjava/net/InetAddress;)V
8: areturn
end local 2 9: StackMap locals: int int
StackMap stack: java.net.BindException
astore 2
start local 2 10: ldc 90061
11: aload 2
iconst_2
anewarray java.lang.String
dup
iconst_0
iload 0
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
aastore
dup
iconst_1
aload 2
invokevirtual java.net.BindException.toString:()Ljava/lang/String;
aastore
12: invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 2 13: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 14: aload 2
new java.lang.StringBuilder
dup
ldc "port: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ssl: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 port I
0 15 1 ssl Z
1 9 2 bindAddress Ljava/net/InetAddress;
10 13 2 be Ljava/net/BindException;
14 15 2 e Ljava/io/IOException;
Exception table:
from to target type
0 3 9 Class java.net.BindException
4 6 9 Class java.net.BindException
7 8 9 Class java.net.BindException
0 3 13 Class java.io.IOException
4 6 13 Class java.io.IOException
7 8 13 Class java.io.IOException
MethodParameters:
Name Flags
port
ssl
public static boolean isLocalAddress(java.net.Socket);
descriptor: (Ljava/net/Socket;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual java.net.Socket.getInetAddress:()Ljava/net/InetAddress;
astore 1
start local 1 1: aload 1
invokevirtual java.net.InetAddress.isLoopbackAddress:()Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals: java.net.InetAddress
StackMap stack:
invokestatic java.net.InetAddress.getLocalHost:()Ljava/net/InetAddress;
astore 2
start local 2 4: aload 2
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
astore 3
start local 3 5: aload 3
invokestatic java.net.InetAddress.getAllByName:(Ljava/lang/String;)[Ljava/net/InetAddress;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 10
StackMap locals: java.net.Socket java.net.InetAddress java.net.InetAddress java.lang.String top int int java.net.InetAddress[]
StackMap stack:
6: aload 7
iload 5
aaload
astore 4
start local 4 7: aload 1
aload 4
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 9
8: iconst_1
ireturn
end local 4 9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 6
if_icmplt 6
11: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 socket Ljava/net/Socket;
1 12 1 test Ljava/net/InetAddress;
4 12 2 localhost Ljava/net/InetAddress;
5 12 3 host Ljava/lang/String;
7 9 4 addr Ljava/net/InetAddress;
Exceptions:
throws java.net.UnknownHostException
MethodParameters:
Name Flags
socket
public static java.net.ServerSocket closeSilently(java.net.ServerSocket);
descriptor: (Ljava/net/ServerSocket;)Ljava/net/ServerSocket;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 4
1: aload 0
invokevirtual java.net.ServerSocket.close:()V
2: goto 4
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 socket Ljava/net/ServerSocket;
Exception table:
from to target type
1 2 3 Class java.io.IOException
MethodParameters:
Name Flags
socket
public static synchronized java.lang.String getLocalAddress();
descriptor: ()Ljava/lang/String;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=5, args_size=0
0: invokestatic java.lang.System.nanoTime:()J
lstore 0
start local 0 1: getstatic org.h2.util.NetUtils.cachedLocalAddress:Ljava/lang/String;
ifnull 4
2: getstatic org.h2.util.NetUtils.cachedLocalAddressTime:J
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
ldc 1000
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
ladd
lload 0
lcmp
ifle 4
3: getstatic org.h2.util.NetUtils.cachedLocalAddress:Ljava/lang/String;
areturn
4: StackMap locals: long
StackMap stack:
aconst_null
astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: invokestatic org.h2.util.NetUtils.getBindAddress:()Ljava/net/InetAddress;
astore 2
7: aload 2
ifnonnull 11
8: iconst_1
istore 3
9: goto 11
StackMap locals: long java.net.InetAddress int
StackMap stack: java.net.UnknownHostException
10: pop
11: StackMap locals:
StackMap stack:
iload 3
ifeq 16
12: invokestatic java.net.InetAddress.getLocalHost:()Ljava/net/InetAddress;
astore 2
13: goto 16
StackMap locals:
StackMap stack: java.net.UnknownHostException
14: astore 4
start local 4 15: aload 4
invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
athrow
end local 4 16: StackMap locals:
StackMap stack:
aload 2
ifnonnull 19
17: ldc "localhost"
astore 4
start local 4 18: goto 26
end local 4 19: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
astore 4
start local 4 20: aload 2
instanceof java.net.Inet6Address
ifeq 26
21: aload 4
bipush 37
invokevirtual java.lang.String.indexOf:(I)I
iflt 24
22: ldc "localhost"
astore 4
23: goto 26
StackMap locals: java.lang.String
StackMap stack:
24: aload 4
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iflt 26
aload 4
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 26
25: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
26: StackMap locals:
StackMap stack:
aload 4
ldc "127.0.0.1"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 28
27: ldc "localhost"
astore 4
28: StackMap locals:
StackMap stack:
aload 4
putstatic org.h2.util.NetUtils.cachedLocalAddress:Ljava/lang/String;
29: lload 0
putstatic org.h2.util.NetUtils.cachedLocalAddressTime:J
30: aload 4
areturn
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 31 0 now J
5 31 2 bind Ljava/net/InetAddress;
6 31 3 useLocalhost Z
15 16 4 e Ljava/net/UnknownHostException;
18 19 4 address Ljava/lang/String;
20 31 4 address Ljava/lang/String;
Exception table:
from to target type
6 9 10 Class java.net.UnknownHostException
12 13 14 Class java.net.UnknownHostException
public static java.lang.String getHostName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
astore 1
start local 1 1: aload 1
invokevirtual java.net.InetAddress.getHostName:()Ljava/lang/String;
2: areturn
end local 1 3: StackMap locals:
StackMap stack: java.lang.Exception
pop
4: ldc "unknown"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 localAddress Ljava/lang/String;
1 3 1 addr Ljava/net/InetAddress;
Exception table:
from to target type
0 2 3 Class java.lang.Exception
MethodParameters:
Name Flags
localAddress
}
SourceFile: "NetUtils.java"