class sun.nio.ch.Net
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.ch.Net
super_class: java.lang.Object
{
private static boolean revealLocalAddress;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static volatile boolean propRevealLocalAddress;
descriptor: Z
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final boolean exclusiveBind;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: invokestatic sun.nio.ch.Net.isExclusiveBindAvailable:()I
istore 0
start local 0 1: iload 0
iflt 16
2: new sun.nio.ch.Net$1
dup
invokespecial sun.nio.ch.Net$1.<init>:()V
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
4: astore 1
start local 1 5: aload 1
ifnull 11
6: aload 1
invokevirtual java.lang.String.length:()I
ifne 8
7: iconst_1
goto 9
StackMap locals: int java.lang.String
StackMap stack:
8: aload 1
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
9: StackMap locals:
StackMap stack: int
putstatic sun.nio.ch.Net.exclusiveBind:Z
10: goto 17
StackMap locals:
StackMap stack:
11: iload 0
iconst_1
if_icmpne 14
12: iconst_1
putstatic sun.nio.ch.Net.exclusiveBind:Z
13: goto 17
14: StackMap locals:
StackMap stack:
iconst_0
putstatic sun.nio.ch.Net.exclusiveBind:Z
end local 1 15: goto 17
16: StackMap locals:
StackMap stack:
iconst_0
putstatic sun.nio.ch.Net.exclusiveBind:Z
end local 0 17: StackMap locals:
StackMap stack:
invokestatic sun.nio.ch.IOUtil.load:()V
18: invokestatic sun.nio.ch.Net.initIDs:()V
19: return
LocalVariableTable:
Start End Slot Name Signature
1 17 0 availLevel I
5 15 1 exclBindProp Ljava/lang/String;
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
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/Net;
static boolean useExclusiveBind();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic sun.nio.ch.Net.exclusiveBind:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static java.net.InetSocketAddress checkAddress(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.net.InetSocketAddress
ifne 4
3: new java.nio.channels.UnsupportedAddressTypeException
dup
invokespecial java.nio.channels.UnsupportedAddressTypeException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
checkcast java.net.InetSocketAddress
astore 1
start local 1 5: aload 1
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 7
6: new java.nio.channels.UnresolvedAddressException
dup
invokespecial java.nio.channels.UnresolvedAddressException.<init>:()V
athrow
7: StackMap locals: java.net.InetSocketAddress
StackMap stack:
aload 1
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
astore 2
start local 2 8: aload 2
instanceof java.net.Inet4Address
ifne 10
aload 2
instanceof java.net.Inet6Address
ifne 10
9: new java.lang.IllegalArgumentException
dup
ldc "Invalid address type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.net.InetAddress
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 sa Ljava/net/SocketAddress;
5 11 1 isa Ljava/net/InetSocketAddress;
8 11 2 addr Ljava/net/InetAddress;
MethodParameters:
Name Flags
sa
static java.net.InetSocketAddress asInetSocketAddress(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.net.InetSocketAddress
ifne 2
1: new java.nio.channels.UnsupportedAddressTypeException
dup
invokespecial java.nio.channels.UnsupportedAddressTypeException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
checkcast java.net.InetSocketAddress
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 sa Ljava/net/SocketAddress;
MethodParameters:
Name Flags
sa
static void translateToSocketException(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
instanceof java.net.SocketException
ifeq 2
1: aload 0
checkcast java.net.SocketException
athrow
2: StackMap locals:
StackMap stack:
aload 0
astore 1
start local 1 3: aload 0
instanceof java.nio.channels.ClosedChannelException
ifeq 5
4: new java.net.SocketException
dup
ldc "Socket is closed"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 1
goto 13
5: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
instanceof sun.nio.ch.AlreadyBoundException
ifeq 7
6: new java.net.SocketException
dup
ldc "Already bound"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 1
goto 13
7: StackMap locals:
StackMap stack:
aload 0
instanceof java.nio.channels.NotYetBoundException
ifeq 9
8: new java.net.SocketException
dup
ldc "Socket is not bound yet"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 1
goto 13
9: StackMap locals:
StackMap stack:
aload 0
instanceof java.nio.channels.UnsupportedAddressTypeException
ifeq 11
10: new java.net.SocketException
dup
ldc "Unsupported address type"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 1
goto 13
11: StackMap locals:
StackMap stack:
aload 0
instanceof java.nio.channels.UnresolvedAddressException
ifeq 13
12: new java.net.SocketException
dup
ldc "Unresolved address"
invokespecial java.net.SocketException.<init>:(Ljava/lang/String;)V
astore 1
13: StackMap locals:
StackMap stack:
aload 1
aload 0
if_acmpeq 15
14: aload 1
aload 0
invokevirtual java.lang.Exception.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
15: StackMap locals:
StackMap stack:
aload 1
instanceof java.net.SocketException
ifeq 17
16: aload 1
checkcast java.net.SocketException
athrow
17: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.RuntimeException
ifeq 19
18: aload 1
checkcast java.lang.RuntimeException
athrow
19: StackMap locals:
StackMap stack:
new java.lang.Error
dup
ldc "Untranslated exception"
aload 1
invokespecial java.lang.Error.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 x Ljava/lang/Exception;
3 20 1 nx Ljava/lang/Exception;
Exceptions:
throws java.net.SocketException
MethodParameters:
Name Flags
x
static void translateException(java.lang.Exception, boolean);
descriptor: (Ljava/lang/Exception;Z)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.io.IOException
ifeq 2
1: aload 0
checkcast java.io.IOException
athrow
2: StackMap locals:
StackMap stack:
iload 1
ifeq 5
3: aload 0
instanceof java.nio.channels.UnresolvedAddressException
ifeq 5
4: new java.net.UnknownHostException
dup
invokespecial java.net.UnknownHostException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.nio.ch.Net.translateToSocketException:(Ljava/lang/Exception;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 x Ljava/lang/Exception;
0 7 1 unknownHostForUnresolved Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
x
unknownHostForUnresolved
static void translateException(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic sun.nio.ch.Net.translateException:(Ljava/lang/Exception;Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 x Ljava/lang/Exception;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
x
static java.io.FileDescriptor socket(boolean);
descriptor: (Z)Ljava/io/FileDescriptor;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_0
invokestatic sun.nio.ch.Net.socket0:(ZZ)I
invokestatic sun.nio.ch.IOUtil.newFD:(I)Ljava/io/FileDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 stream Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
static java.io.FileDescriptor serverSocket(boolean);
descriptor: (Z)Ljava/io/FileDescriptor;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
invokestatic sun.nio.ch.Net.socket0:(ZZ)I
invokestatic sun.nio.ch.IOUtil.newFD:(I)Ljava/io/FileDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 stream Z
MethodParameters:
Name Flags
stream
private static native int isExclusiveBindAvailable();
descriptor: ()I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native int socket0(boolean, boolean);
descriptor: (ZZ)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
stream
reuse
static void bind(java.io.FileDescriptor, java.net.InetAddress, int);
descriptor: (Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic sun.nio.ch.Net.exclusiveBind:Z
aload 1
iload 2
invokestatic sun.nio.ch.Net.bind0:(Ljava/io/FileDescriptor;ZLjava/net/InetAddress;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fd Ljava/io/FileDescriptor;
0 2 1 addr Ljava/net/InetAddress;
0 2 2 port I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
addr
port
private static native void bind0(java.io.FileDescriptor, boolean, java.net.InetAddress, int);
descriptor: (Ljava/io/FileDescriptor;ZLjava/net/InetAddress;I)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
useExclBind
addr
port
static native int connect(java.io.FileDescriptor, java.net.InetAddress, int, int);
descriptor: (Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)I
flags: (0x0108) ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
remote
remotePort
trafficClass
private static native int localPort(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
private static native java.net.InetAddress localInetAddress(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)Ljava/net/InetAddress;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
static java.net.InetSocketAddress localAddress(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.net.InetSocketAddress
dup
aload 0
invokestatic sun.nio.ch.Net.localInetAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetAddress;
1: aload 0
invokestatic sun.nio.ch.Net.localPort:(Ljava/io/FileDescriptor;)I
2: invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
3: areturn
4: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 5: new java.lang.Error
dup
aload 1
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 fd Ljava/io/FileDescriptor;
5 6 1 x Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.io.IOException
MethodParameters:
Name Flags
fd
static int localPortNumber(java.io.FileDescriptor);
descriptor: (Ljava/io/FileDescriptor;)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic sun.nio.ch.Net.localPort:(Ljava/io/FileDescriptor;)I
1: ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 3: new java.lang.Error
dup
aload 1
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 fd Ljava/io/FileDescriptor;
3 4 1 x Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
fd
private static native int getIntOption0(java.io.FileDescriptor, int);
descriptor: (Ljava/io/FileDescriptor;I)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
opt
static int getIntOption(java.io.FileDescriptor, int);
descriptor: (Ljava/io/FileDescriptor;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic sun.nio.ch.Net.getIntOption0:(Ljava/io/FileDescriptor;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 fd Ljava/io/FileDescriptor;
0 1 1 opt I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
opt
private static native void setIntOption0(java.io.FileDescriptor, int, int);
descriptor: (Ljava/io/FileDescriptor;II)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
opt
arg
static void setIntOption(java.io.FileDescriptor, int, int);
descriptor: (Ljava/io/FileDescriptor;II)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokestatic sun.nio.ch.Net.setIntOption0:(Ljava/io/FileDescriptor;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fd Ljava/io/FileDescriptor;
0 2 1 opt I
0 2 2 arg I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
opt
arg
private static native void initIDs();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
static java.net.InetSocketAddress getRevealedLocalAddress(java.net.InetSocketAddress);
descriptor: (Ljava/net/InetSocketAddress;)Ljava/net/InetSocketAddress;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 0
ifnull 2
aload 1
ifnonnull 3
2: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
invokestatic sun.nio.ch.Net.getRevealLocalAddress:()Z
ifne 8
4: aload 1
aload 0
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
iconst_m1
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
5: goto 8
StackMap locals:
StackMap stack: java.lang.SecurityException
6: pop
7: aload 0
invokevirtual java.net.InetSocketAddress.getPort:()I
invokestatic sun.nio.ch.Net.getLoopbackAddress:(I)Ljava/net/InetSocketAddress;
astore 0
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 addr Ljava/net/InetSocketAddress;
1 9 1 sm Ljava/lang/SecurityManager;
Exception table:
from to target type
4 5 6 Class java.lang.SecurityException
MethodParameters:
Name Flags
addr
static java.lang.String getRevealedLocalAddressAsString(java.net.InetSocketAddress);
descriptor: (Ljava/net/InetSocketAddress;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic sun.nio.ch.Net.getRevealLocalAddress:()Z
ifne 2
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 2
1: aload 0
invokevirtual java.net.InetSocketAddress.getPort:()I
invokestatic sun.nio.ch.Net.getLoopbackAddress:(I)Ljava/net/InetSocketAddress;
astore 0
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.InetSocketAddress.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 addr Ljava/net/InetSocketAddress;
MethodParameters:
Name Flags
addr
private static boolean getRevealLocalAddress();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.nio.ch.Net.propRevealLocalAddress:Z
ifne 7
1: new sun.nio.ch.Net$2
dup
invokespecial sun.nio.ch.Net$2.<init>:()V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.lang.String
3: invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
putstatic sun.nio.ch.Net.revealLocalAddress:Z
4: goto 6
StackMap locals:
StackMap stack: java.lang.Exception
5: pop
6: StackMap locals:
StackMap stack:
iconst_1
putstatic sun.nio.ch.Net.propRevealLocalAddress:Z
7: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.Net.revealLocalAddress:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 4 5 Class java.lang.Exception
private static java.net.InetSocketAddress getLoopbackAddress(int);
descriptor: (I)Ljava/net/InetSocketAddress;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.net.InetSocketAddress
dup
aconst_null
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
1: iload 0
2: invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
3: areturn
4: StackMap locals:
StackMap stack: java.net.UnknownHostException
pop
5: new java.lang.InternalError
dup
ldc "Shouldn't reach here."
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 port I
Exception table:
from to target type
0 3 4 Class java.net.UnknownHostException
MethodParameters:
Name Flags
port
}
SourceFile: "Net.java"
NestMembers:
sun.nio.ch.Net$1 sun.nio.ch.Net$2
InnerClasses:
sun.nio.ch.Net$1
sun.nio.ch.Net$2