class sun.nio.ch.DatagramChannelImpl extends java.nio.channels.DatagramChannel implements sun.nio.ch.SelChImpl
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.ch.DatagramChannelImpl
super_class: java.nio.channels.DatagramChannel
{
private static sun.nio.ch.NativeDispatcher nd;
descriptor: Lsun/nio/ch/NativeDispatcher;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final java.net.ProtocolFamily family;
descriptor: Ljava/net/ProtocolFamily;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.FileDescriptor fd;
descriptor: Ljava/io/FileDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int fdVal;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.net.InetAddress cachedSenderInetAddress;
descriptor: Ljava/net/InetAddress;
flags: (0x0002) ACC_PRIVATE
private int cachedSenderPort;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.concurrent.locks.ReentrantLock readLock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.locks.ReentrantLock writeLock;
descriptor: Ljava/util/concurrent/locks/ReentrantLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object stateLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int ST_UNCONNECTED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ST_CONNECTED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int ST_CLOSING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int ST_KILLPENDING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int ST_KILLED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long readerThread;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long writerThread;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.net.InetSocketAddress localAddress;
descriptor: Ljava/net/InetSocketAddress;
flags: (0x0002) ACC_PRIVATE
private java.net.InetSocketAddress remoteAddress;
descriptor: Ljava/net/InetSocketAddress;
flags: (0x0002) ACC_PRIVATE
private java.net.DatagramSocket socket;
descriptor: Ljava/net/DatagramSocket;
flags: (0x0002) ACC_PRIVATE
private sun.nio.ch.MembershipRegistry registry;
descriptor: Lsun/nio/ch/MembershipRegistry;
flags: (0x0002) ACC_PRIVATE
private boolean reuseAddressEmulated;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isReuseAddress;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.net.SocketAddress sender;
descriptor: Ljava/net/SocketAddress;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lsun/nio/ch/DatagramChannelImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
3: new sun.nio.ch.DatagramDispatcher
dup
invokespecial sun.nio.ch.DatagramDispatcher.<init>:()V
putstatic sun.nio.ch.DatagramChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
4: invokestatic sun.nio.ch.IOUtil.load:()V
5: invokestatic sun.nio.ch.DatagramChannelImpl.initIDs:()V
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.nio.channels.spi.SelectorProvider);
descriptor: (Ljava/nio/channels/spi/SelectorProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.nio.channels.DatagramChannel.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
1: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
2: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
4: invokestatic sun.net.ResourceManager.beforeUdpCreate:()V
5: aload 0
invokestatic sun.nio.ch.Net.isIPv6Available:()Z
ifeq 7
6: getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
goto 8
7: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.channels.spi.SelectorProvider
StackMap stack: sun.nio.ch.DatagramChannelImpl
getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
8: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.channels.spi.SelectorProvider
StackMap stack: sun.nio.ch.DatagramChannelImpl java.net.StandardProtocolFamily
putfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
9: aload 0
aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
iconst_0
invokestatic sun.nio.ch.Net.socket:(Ljava/net/ProtocolFamily;Z)Ljava/io/FileDescriptor;
putfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
10: aload 0
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
putfield sun.nio.ch.DatagramChannelImpl.fdVal:I
11: goto 15
StackMap locals:
StackMap stack: java.io.IOException
12: astore 2
start local 2 13: invokestatic sun.net.ResourceManager.afterUdpClose:()V
14: aload 2
athrow
end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/nio/ch/DatagramChannelImpl;
0 16 1 sp Ljava/nio/channels/spi/SelectorProvider;
13 15 2 ioe Ljava/io/IOException;
Exception table:
from to target type
5 11 12 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sp
public void <init>(java.nio.channels.spi.SelectorProvider, java.net.ProtocolFamily);
descriptor: (Ljava/nio/channels/spi/SelectorProvider;Ljava/net/ProtocolFamily;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial java.nio.channels.DatagramChannel.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
1: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
2: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
4: aload 2
ldc "'family' is null"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
5: aload 2
getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
if_acmpeq 8
6: aload 2
getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
if_acmpeq 8
7: new java.lang.UnsupportedOperationException
dup
ldc "Protocol family not supported"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.channels.spi.SelectorProvider java.net.ProtocolFamily
StackMap stack:
aload 2
getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
if_acmpne 11
9: invokestatic sun.nio.ch.Net.isIPv6Available:()Z
ifne 11
10: new java.lang.UnsupportedOperationException
dup
ldc "IPv6 not available"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
invokestatic sun.net.ResourceManager.beforeUdpCreate:()V
12: aload 0
aload 2
putfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
13: aload 0
aload 2
iconst_0
invokestatic sun.nio.ch.Net.socket:(Ljava/net/ProtocolFamily;Z)Ljava/io/FileDescriptor;
putfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
14: aload 0
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
putfield sun.nio.ch.DatagramChannelImpl.fdVal:I
15: goto 19
StackMap locals:
StackMap stack: java.io.IOException
16: astore 3
start local 3 17: invokestatic sun.net.ResourceManager.afterUdpClose:()V
18: aload 3
athrow
end local 3 19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/nio/ch/DatagramChannelImpl;
0 20 1 sp Ljava/nio/channels/spi/SelectorProvider;
0 20 2 family Ljava/net/ProtocolFamily;
17 19 3 ioe Ljava/io/IOException;
Exception table:
from to target type
12 15 16 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sp
family
public void <init>(java.nio.channels.spi.SelectorProvider, java.io.FileDescriptor);
descriptor: (Ljava/nio/channels/spi/SelectorProvider;Ljava/io/FileDescriptor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial java.nio.channels.DatagramChannel.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
1: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
2: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
4: invokestatic sun.net.ResourceManager.beforeUdpCreate:()V
5: aload 0
invokestatic sun.nio.ch.Net.isIPv6Available:()Z
ifeq 7
6: getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
goto 8
7: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.channels.spi.SelectorProvider java.io.FileDescriptor
StackMap stack: sun.nio.ch.DatagramChannelImpl
getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
8: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.channels.spi.SelectorProvider java.io.FileDescriptor
StackMap stack: sun.nio.ch.DatagramChannelImpl java.net.StandardProtocolFamily
putfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
9: aload 0
aload 2
putfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
10: aload 0
aload 2
invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
putfield sun.nio.ch.DatagramChannelImpl.fdVal:I
11: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
12: aload 0
aload 2
invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
putfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
13: aload 3
monitorexit
14: goto 17
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.channels.spi.SelectorProvider java.io.FileDescriptor java.lang.Object
StackMap stack: java.lang.Throwable
15: aload 3
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/nio/ch/DatagramChannelImpl;
0 18 1 sp Ljava/nio/channels/spi/SelectorProvider;
0 18 2 fd Ljava/io/FileDescriptor;
Exception table:
from to target type
12 14 15 any
15 16 15 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sp
fd
private void ensureOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifne 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/ch/DatagramChannelImpl;
Exceptions:
throws java.nio.channels.ClosedChannelException
public java.net.DatagramSocket socket();
descriptor: ()Ljava/net/DatagramSocket;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.socket:Ljava/net/DatagramSocket;
ifnonnull 3
2: aload 0
aload 0
invokestatic sun.nio.ch.DatagramSocketAdaptor.create:(Lsun/nio/ch/DatagramChannelImpl;)Ljava/net/DatagramSocket;
putfield sun.nio.ch.DatagramChannelImpl.socket:Ljava/net/DatagramSocket;
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.socket:Ljava/net/DatagramSocket;
aload 1
monitorexit
4: areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
6: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/nio/ch/DatagramChannelImpl;
Exception table:
from to target type
1 4 5 any
5 6 5 any
public java.net.SocketAddress getLocalAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.ensureOpen:()V
2: aload 0
getfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
invokestatic sun.nio.ch.Net.getRevealedLocalAddress:(Ljava/net/InetSocketAddress;)Ljava/net/InetSocketAddress;
aload 1
monitorexit
3: areturn
4: StackMap locals: sun.nio.ch.DatagramChannelImpl java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
5: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/ch/DatagramChannelImpl;
Exception table:
from to target type
1 3 4 any
4 5 4 any
Exceptions:
throws java.io.IOException
public java.net.SocketAddress getRemoteAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.ensureOpen:()V
2: aload 0
getfield sun.nio.ch.DatagramChannelImpl.remoteAddress:Ljava/net/InetSocketAddress;
aload 1
monitorexit
3: areturn
4: StackMap locals: sun.nio.ch.DatagramChannelImpl java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
5: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/ch/DatagramChannelImpl;
Exception table:
from to target type
1 3 4 any
4 5 4 any
Exceptions:
throws java.io.IOException
public <T> java.nio.channels.DatagramChannel setOption(java.net.SocketOption<T>, T);
descriptor: (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/DatagramChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.supportedOptions:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 3
2: new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "' not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
4: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.ensureOpen:()V
5: aload 1
getstatic java.net.StandardSocketOptions.IP_TOS:Ljava/net/SocketOption;
if_acmpeq 8
6: aload 1
getstatic java.net.StandardSocketOptions.IP_MULTICAST_TTL:Ljava/net/SocketOption;
if_acmpeq 8
7: aload 1
getstatic java.net.StandardSocketOptions.IP_MULTICAST_LOOP:Ljava/net/SocketOption;
if_acmpne 11
8: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
aload 1
aload 2
invokestatic sun.nio.ch.Net.setSocketOption:(Ljava/io/FileDescriptor;Ljava/net/ProtocolFamily;Ljava/net/SocketOption;Ljava/lang/Object;)V
9: aload 0
aload 3
monitorexit
10: areturn
11: StackMap locals:
StackMap stack:
aload 1
getstatic java.net.StandardSocketOptions.IP_MULTICAST_IF:Ljava/net/SocketOption;
if_acmpne 28
12: aload 2
ifnonnull 14
13: new java.lang.IllegalArgumentException
dup
ldc "Cannot set IP_MULTICAST_IF to 'null'"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 2
checkcast java.net.NetworkInterface
astore 4
start local 4 15: aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
if_acmpne 21
16: aload 4
invokevirtual java.net.NetworkInterface.getIndex:()I
istore 5
start local 5 17: iload 5
iconst_m1
if_icmpne 19
18: new java.io.IOException
dup
ldc "Network interface cannot be identified"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals: java.net.NetworkInterface int
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
iload 5
invokestatic sun.nio.ch.Net.setInterface6:(Ljava/io/FileDescriptor;I)V
end local 5 20: goto 26
21: StackMap locals:
StackMap stack:
aload 4
invokestatic sun.nio.ch.Net.anyInet4Address:(Ljava/net/NetworkInterface;)Ljava/net/Inet4Address;
astore 5
start local 5 22: aload 5
ifnonnull 24
23: new java.io.IOException
dup
ldc "Network interface not configured for IPv4"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: java.net.Inet4Address
StackMap stack:
aload 5
invokestatic sun.nio.ch.Net.inet4AsInt:(Ljava/net/InetAddress;)I
istore 6
start local 6 25: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
iload 6
invokestatic sun.nio.ch.Net.setInterface4:(Ljava/io/FileDescriptor;I)V
end local 6 end local 5 26: StackMap locals:
StackMap stack:
aload 0
aload 3
monitorexit
27: areturn
end local 4 28: StackMap locals:
StackMap stack:
aload 1
getstatic java.net.StandardSocketOptions.SO_REUSEADDR:Ljava/net/SocketOption;
if_acmpne 32
29: invokestatic sun.nio.ch.Net.useExclusiveBind:()Z
ifeq 32
aload 0
getfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
ifnull 32
30: aload 0
iconst_1
putfield sun.nio.ch.DatagramChannelImpl.reuseAddressEmulated:Z
31: aload 0
aload 2
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
putfield sun.nio.ch.DatagramChannelImpl.isReuseAddress:Z
32: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
getstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
aload 1
aload 2
invokestatic sun.nio.ch.Net.setSocketOption:(Ljava/io/FileDescriptor;Ljava/net/ProtocolFamily;Ljava/net/SocketOption;Ljava/lang/Object;)V
33: aload 0
aload 3
monitorexit
34: areturn
35: StackMap locals:
StackMap stack: java.lang.Throwable
aload 3
monitorexit
36: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/nio/ch/DatagramChannelImpl;
0 37 1 name Ljava/net/SocketOption<TT;>;
0 37 2 value TT;
15 28 4 interf Ljava/net/NetworkInterface;
17 20 5 index I
22 26 5 target Ljava/net/Inet4Address;
25 26 6 targetAddress I
Exception table:
from to target type
4 10 35 any
11 27 35 any
28 34 35 any
35 36 35 any
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/net/SocketOption<TT;>;TT;)Ljava/nio/channels/DatagramChannel;
MethodParameters:
Name Flags
name
value
public <T> T getOption(java.net.SocketOption<T>);
descriptor: (Ljava/net/SocketOption;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.supportedOptions:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 3
2: new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "'"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "' not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 2
monitorenter
4: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.ensureOpen:()V
5: aload 1
getstatic java.net.StandardSocketOptions.IP_TOS:Ljava/net/SocketOption;
if_acmpeq 8
6: aload 1
getstatic java.net.StandardSocketOptions.IP_MULTICAST_TTL:Ljava/net/SocketOption;
if_acmpeq 8
7: aload 1
getstatic java.net.StandardSocketOptions.IP_MULTICAST_LOOP:Ljava/net/SocketOption;
if_acmpne 10
8: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
aload 1
invokestatic sun.nio.ch.Net.getSocketOption:(Ljava/io/FileDescriptor;Ljava/net/ProtocolFamily;Ljava/net/SocketOption;)Ljava/lang/Object;
aload 2
monitorexit
9: areturn
10: StackMap locals:
StackMap stack:
aload 1
getstatic java.net.StandardSocketOptions.IP_MULTICAST_IF:Ljava/net/SocketOption;
if_acmpne 31
11: aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
if_acmpne 22
12: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.Net.getInterface4:(Ljava/io/FileDescriptor;)I
istore 3
start local 3 13: iload 3
ifne 16
14: aload 2
monitorexit
15: aconst_null
areturn
16: StackMap locals: int
StackMap stack:
iload 3
invokestatic sun.nio.ch.Net.inet4FromInt:(I)Ljava/net/InetAddress;
astore 4
start local 4 17: aload 4
invokestatic java.net.NetworkInterface.getByInetAddress:(Ljava/net/InetAddress;)Ljava/net/NetworkInterface;
astore 5
start local 5 18: aload 5
ifnonnull 20
19: new java.io.IOException
dup
ldc "Unable to map address to interface"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals: java.net.InetAddress java.net.NetworkInterface
StackMap stack:
aload 5
aload 2
monitorexit
21: areturn
end local 5 end local 4 end local 3 22: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.Net.getInterface6:(Ljava/io/FileDescriptor;)I
istore 3
start local 3 23: iload 3
ifne 26
24: aload 2
monitorexit
25: aconst_null
areturn
26: StackMap locals: int
StackMap stack:
iload 3
invokestatic java.net.NetworkInterface.getByIndex:(I)Ljava/net/NetworkInterface;
astore 4
start local 4 27: aload 4
ifnonnull 29
28: new java.io.IOException
dup
ldc "Unable to map index to interface"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals: java.net.NetworkInterface
StackMap stack:
aload 4
aload 2
monitorexit
30: areturn
end local 4 end local 3 31: StackMap locals:
StackMap stack:
aload 1
getstatic java.net.StandardSocketOptions.SO_REUSEADDR:Ljava/net/SocketOption;
if_acmpne 34
aload 0
getfield sun.nio.ch.DatagramChannelImpl.reuseAddressEmulated:Z
ifeq 34
32: aload 0
getfield sun.nio.ch.DatagramChannelImpl.isReuseAddress:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 2
monitorexit
33: areturn
34: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
getstatic sun.nio.ch.Net.UNSPEC:Ljava/net/ProtocolFamily;
aload 1
invokestatic sun.nio.ch.Net.getSocketOption:(Ljava/io/FileDescriptor;Ljava/net/ProtocolFamily;Ljava/net/SocketOption;)Ljava/lang/Object;
aload 2
monitorexit
35: areturn
36: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
37: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/nio/ch/DatagramChannelImpl;
0 38 1 name Ljava/net/SocketOption<TT;>;
13 22 3 address I
17 22 4 ia Ljava/net/InetAddress;
18 22 5 ni Ljava/net/NetworkInterface;
23 31 3 index I
27 31 4 ni Ljava/net/NetworkInterface;
Exception table:
from to target type
4 9 36 any
10 15 36 any
16 21 36 any
22 25 36 any
26 30 36 any
31 33 36 any
34 35 36 any
36 37 36 any
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/net/SocketOption<TT;>;)TT;
MethodParameters:
Name Flags
name
public final java.util.Set<java.net.SocketOption<?>> supportedOptions();
descriptor: ()Ljava/util/Set;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.nio.ch.DatagramChannelImpl$DefaultOptionsHolder.defaultOptions:Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/DatagramChannelImpl;
Signature: ()Ljava/util/Set<Ljava/net/SocketOption<*>;>;
private java.net.SocketAddress beginRead(boolean, boolean);
descriptor: (ZZ)Ljava/net/SocketAddress;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 2
1: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.begin:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 4
monitorenter
3: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.ensureOpen:()V
4: aload 0
getfield sun.nio.ch.DatagramChannelImpl.remoteAddress:Ljava/net/InetSocketAddress;
astore 3
start local 3 5: aload 3
ifnonnull 7
iload 2
ifeq 7
6: new java.nio.channels.NotYetConnectedException
dup
invokespecial java.nio.channels.NotYetConnectedException.<init>:()V
athrow
7: StackMap locals: java.net.SocketAddress java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
ifnonnull 9
8: aload 0
aconst_null
invokevirtual sun.nio.ch.DatagramChannelImpl.bindInternal:(Ljava/net/SocketAddress;)V
9: StackMap locals:
StackMap stack:
iload 1
ifeq 11
10: aload 0
invokestatic sun.nio.ch.NativeThread.current:()J
putfield sun.nio.ch.DatagramChannelImpl.readerThread:J
11: StackMap locals:
StackMap stack:
aload 4
monitorexit
12: goto 15
end local 3 StackMap locals: sun.nio.ch.DatagramChannelImpl int int top java.lang.Object
StackMap stack: java.lang.Throwable
13: aload 4
monitorexit
14: athrow
start local 3 15: StackMap locals: sun.nio.ch.DatagramChannelImpl int int java.net.SocketAddress
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/nio/ch/DatagramChannelImpl;
0 16 1 blocking Z
0 16 2 mustBeConnected Z
5 13 3 remote Ljava/net/SocketAddress;
15 16 3 remote Ljava/net/SocketAddress;
Exception table:
from to target type
3 12 13 any
13 14 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
blocking
mustBeConnected
private void endRead(boolean, boolean);
descriptor: (ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 10
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 0
lconst_0
putfield sun.nio.ch.DatagramChannelImpl.readerThread:J
3: aload 0
getfield sun.nio.ch.DatagramChannelImpl.state:I
iconst_2
if_icmpne 5
4: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
5: StackMap locals: java.lang.Object
StackMap stack:
aload 3
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual sun.nio.ch.DatagramChannelImpl.end:(Z)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/nio/ch/DatagramChannelImpl;
0 11 1 blocking Z
0 11 2 completed Z
Exception table:
from to target type
2 6 7 any
7 8 7 any
Exceptions:
throws java.nio.channels.AsynchronousCloseException
MethodParameters:
Name Flags
blocking
completed
public java.net.SocketAddress receive(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
ifeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "Read-only buffer"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
3: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isBlocking:()Z
istore 2
start local 2 4: iconst_0
istore 3
start local 3 5: aconst_null
astore 4
start local 4 6: aload 0
iload 2
iconst_0
invokevirtual sun.nio.ch.DatagramChannelImpl.beginRead:(ZZ)Ljava/net/SocketAddress;
astore 5
start local 5 7: aload 5
ifnull 8
iconst_1
goto 9
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer java.net.SocketAddress
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 6
start local 6 10: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 7
start local 7 11: iload 6
ifne 12
aload 7
ifnonnull 23
12: StackMap locals: int java.lang.SecurityManager
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
iload 6
invokevirtual sun.nio.ch.DatagramChannelImpl.receive:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Z)I
istore 3
13: iload 3
bipush -3
if_icmpne 14
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifne 12
14: StackMap locals:
StackMap stack:
iload 3
bipush -2
if_icmpne 46
15: aload 4
ifnull 17
16: aload 4
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
17: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 3
ifle 18
iconst_1
goto 19
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer java.net.SocketAddress int java.lang.SecurityManager
StackMap stack: sun.nio.ch.DatagramChannelImpl int
18: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer java.net.SocketAddress int java.lang.SecurityManager
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
19: invokevirtual sun.nio.ch.DatagramChannelImpl.endRead:(ZZ)V
20: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 21
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
22: aconst_null
areturn
23: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
astore 4
24: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 4
iload 6
invokevirtual sun.nio.ch.DatagramChannelImpl.receive:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Z)I
istore 3
25: iload 3
bipush -3
if_icmpne 26
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifne 24
26: StackMap locals:
StackMap stack:
iload 3
bipush -2
if_icmpne 35
27: aload 4
ifnull 29
28: aload 4
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
29: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 3
ifle 30
iconst_1
goto 31
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer java.net.SocketAddress int java.lang.SecurityManager
StackMap stack: sun.nio.ch.DatagramChannelImpl int
30: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer java.net.SocketAddress int java.lang.SecurityManager
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
31: invokevirtual sun.nio.ch.DatagramChannelImpl.endRead:(ZZ)V
32: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 33
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
34: aconst_null
areturn
35: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.sender:Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
astore 8
start local 8 36: aload 7
aload 8
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
37: aload 8
invokevirtual java.net.InetSocketAddress.getPort:()I
38: invokevirtual java.lang.SecurityManager.checkAccept:(Ljava/lang/String;I)V
39: goto 44
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer java.net.SocketAddress int java.lang.SecurityManager java.net.InetSocketAddress
StackMap stack: java.lang.SecurityException
40: pop
41: aload 4
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
42: iconst_0
istore 3
43: goto 24
44: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
45: aload 1
aload 4
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
end local 8 46: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 48
47: aload 0
getfield sun.nio.ch.DatagramChannelImpl.sender:Ljava/net/SocketAddress;
ifnonnull 48
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
48: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.sender:Ljava/net/SocketAddress;
astore 10
49: aload 4
ifnull 51
50: aload 4
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
51: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer java.net.SocketAddress int java.lang.SecurityManager top top java.net.SocketAddress
StackMap stack:
aload 0
iload 2
iload 3
ifle 52
iconst_1
goto 53
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer java.net.SocketAddress int java.lang.SecurityManager top top java.net.SocketAddress
StackMap stack: sun.nio.ch.DatagramChannelImpl int
52: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer java.net.SocketAddress int java.lang.SecurityManager top top java.net.SocketAddress
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
53: invokevirtual sun.nio.ch.DatagramChannelImpl.endRead:(ZZ)V
54: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 55
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 55
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
55: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
56: aload 10
areturn
end local 7 end local 6 end local 5 57: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 9
58: aload 4
ifnull 60
59: aload 4
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
60: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer top top top top java.lang.Throwable
StackMap stack:
aload 0
iload 2
iload 3
ifle 61
iconst_1
goto 62
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer top top top top java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int
61: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.nio.ByteBuffer top top top top java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
62: invokevirtual sun.nio.ch.DatagramChannelImpl.endRead:(ZZ)V
63: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 64
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 64
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
64: StackMap locals:
StackMap stack:
aload 9
athrow
end local 4 end local 3 end local 2 65: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 11
66: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
67: aload 11
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lsun/nio/ch/DatagramChannelImpl;
0 68 1 dst Ljava/nio/ByteBuffer;
4 65 2 blocking Z
5 65 3 n I
6 65 4 bb Ljava/nio/ByteBuffer;
7 57 5 remote Ljava/net/SocketAddress;
10 57 6 connected Z
11 57 7 sm Ljava/lang/SecurityManager;
36 46 8 isa Ljava/net/InetSocketAddress;
Exception table:
from to target type
36 39 40 Class java.lang.SecurityException
6 15 57 any
23 27 57 any
35 49 57 any
3 21 65 any
23 33 65 any
35 55 65 any
57 65 65 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst
private int receive(java.io.FileDescriptor, java.nio.ByteBuffer, boolean);
descriptor: (Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 4
start local 4 1: aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
istore 5
start local 5 2: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 3
iload 4
iload 5
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int int
StackMap stack:
iload 4
iload 5
if_icmpgt 4
iload 5
iload 4
isub
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 6
start local 6 6: aload 2
instanceof sun.nio.ch.DirectBuffer
ifeq 8
iload 6
ifle 8
7: aload 0
aload 1
aload 2
iload 6
iload 4
iload 3
invokevirtual sun.nio.ch.DatagramChannelImpl.receiveIntoNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;IIZ)I
ireturn
8: StackMap locals: int
StackMap stack:
iload 6
iconst_1
invokestatic java.lang.Math.max:(II)I
istore 7
start local 7 9: iload 7
invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
astore 8
start local 8 10: aload 0
aload 1
aload 8
iload 7
iconst_0
iload 3
invokevirtual sun.nio.ch.DatagramChannelImpl.receiveIntoNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;IIZ)I
istore 9
start local 9 11: aload 8
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
12: iload 9
ifle 14
iload 6
ifle 14
13: aload 2
aload 8
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
14: StackMap locals: int java.nio.ByteBuffer int
StackMap stack:
iload 9
istore 11
15: aload 8
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
16: iload 11
ireturn
end local 9 17: StackMap locals: sun.nio.ch.DatagramChannelImpl java.io.FileDescriptor java.nio.ByteBuffer int int int int int java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 10
18: aload 8
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
19: aload 10
athrow
end local 8 end local 7 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 20 0 this Lsun/nio/ch/DatagramChannelImpl;
0 20 1 fd Ljava/io/FileDescriptor;
0 20 2 dst Ljava/nio/ByteBuffer;
0 20 3 connected Z
1 20 4 pos I
2 20 5 lim I
6 20 6 rem I
9 20 7 newSize I
10 20 8 bb Ljava/nio/ByteBuffer;
11 17 9 n I
Exception table:
from to target type
10 15 17 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
dst
connected
private int receiveIntoNativeBuffer(java.io.FileDescriptor, java.nio.ByteBuffer, int, int, boolean);
descriptor: (Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;IIZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.address:()J
iload 4
i2l
ladd
iload 3
iload 5
invokevirtual sun.nio.ch.DatagramChannelImpl.receive0:(Ljava/io/FileDescriptor;JIZ)I
istore 6
start local 6 1: iload 6
ifle 3
2: aload 2
iload 4
iload 6
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
3: StackMap locals: int
StackMap stack:
iload 6
ireturn
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 4 0 this Lsun/nio/ch/DatagramChannelImpl;
0 4 1 fd Ljava/io/FileDescriptor;
0 4 2 bb Ljava/nio/ByteBuffer;
0 4 3 rem I
0 4 4 pos I
0 4 5 connected Z
1 4 6 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
bb
rem
pos
connected
public int send(java.nio.ByteBuffer, java.net.SocketAddress);
descriptor: (Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;Ljava/net/ProtocolFamily;)Ljava/net/InetSocketAddress;
astore 3
start local 3 2: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
3: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isBlocking:()Z
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: aload 0
iload 4
iconst_0
invokevirtual sun.nio.ch.DatagramChannelImpl.beginWrite:(ZZ)Ljava/net/SocketAddress;
astore 6
start local 6 6: aload 6
ifnull 12
7: aload 2
aload 6
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 9
8: new java.nio.channels.AlreadyConnectedException
dup
invokespecial java.nio.channels.AlreadyConnectedException.<init>:()V
athrow
9: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer java.net.SocketAddress java.net.InetSocketAddress int int java.net.SocketAddress
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
ldc -1
getstatic sun.nio.ch.DatagramChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
invokestatic sun.nio.ch.IOUtil.write:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
istore 5
10: iload 5
bipush -3
if_icmpne 28
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifne 9
11: goto 28
12: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 7
start local 7 13: aload 7
ifnull 19
14: aload 3
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
astore 8
start local 8 15: aload 8
invokevirtual java.net.InetAddress.isMulticastAddress:()Z
ifeq 18
16: aload 7
aload 8
invokevirtual java.lang.SecurityManager.checkMulticast:(Ljava/net/InetAddress;)V
17: goto 19
18: StackMap locals: java.lang.SecurityManager java.net.InetAddress
StackMap stack:
aload 7
aload 8
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
aload 3
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
end local 8 19: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
aload 3
invokevirtual sun.nio.ch.DatagramChannelImpl.send:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/InetSocketAddress;)I
istore 5
20: iload 5
bipush -3
if_icmpne 28
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifne 19
end local 7 end local 6 21: goto 28
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer java.net.SocketAddress java.net.InetSocketAddress int int
StackMap stack: java.lang.Throwable
22: astore 9
23: aload 0
iload 4
iload 5
ifle 24
iconst_1
goto 25
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer java.net.SocketAddress java.net.InetSocketAddress int int top top top java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int
24: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer java.net.SocketAddress java.net.InetSocketAddress int int top top top java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
25: invokevirtual sun.nio.ch.DatagramChannelImpl.endWrite:(ZZ)V
26: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 27
iload 5
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: StackMap locals:
StackMap stack:
aload 9
athrow
28: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer java.net.SocketAddress java.net.InetSocketAddress int int
StackMap stack:
aload 0
iload 4
iload 5
ifle 29
iconst_1
goto 30
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer java.net.SocketAddress java.net.InetSocketAddress int int
StackMap stack: sun.nio.ch.DatagramChannelImpl int
29: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer java.net.SocketAddress java.net.InetSocketAddress int int
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
30: invokevirtual sun.nio.ch.DatagramChannelImpl.endWrite:(ZZ)V
31: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 32
iload 5
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
iload 5
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 11
33: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
34: iload 11
ireturn
end local 5 end local 4 35: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer java.net.SocketAddress java.net.InetSocketAddress
StackMap stack: java.lang.Throwable
astore 10
36: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
37: aload 10
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/nio/ch/DatagramChannelImpl;
0 38 1 src Ljava/nio/ByteBuffer;
0 38 2 target Ljava/net/SocketAddress;
2 38 3 isa Ljava/net/InetSocketAddress;
4 35 4 blocking Z
5 35 5 n I
6 21 6 remote Ljava/net/SocketAddress;
13 21 7 sm Ljava/lang/SecurityManager;
15 19 8 ia Ljava/net/InetAddress;
Exception table:
from to target type
5 22 22 any
3 33 35 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
target
private int send(java.io.FileDescriptor, java.nio.ByteBuffer, java.net.InetSocketAddress);
descriptor: (Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/InetSocketAddress;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof sun.nio.ch.DirectBuffer
ifeq 2
1: aload 0
aload 1
aload 2
aload 3
invokevirtual sun.nio.ch.DatagramChannelImpl.sendFromNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/InetSocketAddress;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 4
start local 4 3: aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
istore 5
start local 5 4: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 5
iload 4
iload 5
if_icmple 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: int int
StackMap stack:
iload 4
iload 5
if_icmpgt 6
iload 5
iload 4
isub
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 6
start local 6 8: iload 6
invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
astore 7
start local 7 9: aload 7
aload 2
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
10: aload 7
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
11: aload 2
iload 4
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
12: aload 0
aload 1
aload 7
aload 3
invokevirtual sun.nio.ch.DatagramChannelImpl.sendFromNativeBuffer:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/InetSocketAddress;)I
istore 8
start local 8 13: iload 8
ifle 15
14: aload 2
iload 4
iload 8
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
15: StackMap locals: int java.nio.ByteBuffer int
StackMap stack:
iload 8
istore 10
16: aload 7
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
17: iload 10
ireturn
end local 8 18: StackMap locals: sun.nio.ch.DatagramChannelImpl java.io.FileDescriptor java.nio.ByteBuffer java.net.InetSocketAddress int int int java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 9
19: aload 7
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
20: aload 9
athrow
end local 7 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 21 0 this Lsun/nio/ch/DatagramChannelImpl;
0 21 1 fd Ljava/io/FileDescriptor;
0 21 2 src Ljava/nio/ByteBuffer;
0 21 3 target Ljava/net/InetSocketAddress;
3 21 4 pos I
4 21 5 lim I
8 21 6 rem I
9 21 7 bb Ljava/nio/ByteBuffer;
13 18 8 n I
Exception table:
from to target type
9 16 18 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
src
target
private int sendFromNativeBuffer(java.io.FileDescriptor, java.nio.ByteBuffer, java.net.InetSocketAddress);
descriptor: (Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;Ljava/net/InetSocketAddress;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 4
start local 4 1: aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
istore 5
start local 5 2: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 3
iload 4
iload 5
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int int
StackMap stack:
iload 4
iload 5
if_icmpgt 4
iload 5
iload 4
isub
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 6
start local 6 6: aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
if_acmpeq 7
iconst_1
goto 8
StackMap locals: int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 7
start local 7 9: aload 0
iload 7
aload 1
aload 2
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.address:()J
iload 4
i2l
ladd
10: iload 6
aload 3
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
aload 3
invokevirtual java.net.InetSocketAddress.getPort:()I
11: invokevirtual sun.nio.ch.DatagramChannelImpl.send0:(ZLjava/io/FileDescriptor;JILjava/net/InetAddress;I)I
istore 8
start local 8 12: goto 17
end local 8 StackMap locals: sun.nio.ch.DatagramChannelImpl java.io.FileDescriptor java.nio.ByteBuffer java.net.InetSocketAddress int int int int
StackMap stack: java.net.PortUnreachableException
13: astore 9
start local 9 14: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isConnected:()Z
ifeq 16
15: aload 9
athrow
16: StackMap locals: sun.nio.ch.DatagramChannelImpl java.io.FileDescriptor java.nio.ByteBuffer java.net.InetSocketAddress int int int int top java.net.PortUnreachableException
StackMap stack:
iload 6
istore 8
end local 9 start local 8 17: StackMap locals: sun.nio.ch.DatagramChannelImpl java.io.FileDescriptor java.nio.ByteBuffer java.net.InetSocketAddress int int int int int
StackMap stack:
iload 8
ifle 19
18: aload 2
iload 4
iload 8
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
19: StackMap locals:
StackMap stack:
iload 8
ireturn
end local 8 end local 7 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 20 0 this Lsun/nio/ch/DatagramChannelImpl;
0 20 1 fd Ljava/io/FileDescriptor;
0 20 2 bb Ljava/nio/ByteBuffer;
0 20 3 target Ljava/net/InetSocketAddress;
1 20 4 pos I
2 20 5 lim I
6 20 6 rem I
9 20 7 preferIPv6 Z
12 13 8 written I
17 20 8 written I
14 17 9 pue Ljava/net/PortUnreachableException;
Exception table:
from to target type
9 12 13 Class java.net.PortUnreachableException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
bb
target
public int read(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
2: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isBlocking:()Z
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: aload 0
iload 2
iconst_1
invokevirtual sun.nio.ch.DatagramChannelImpl.beginRead:(ZZ)Ljava/net/SocketAddress;
pop
5: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
ldc -1
getstatic sun.nio.ch.DatagramChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
invokestatic sun.nio.ch.IOUtil.read:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
istore 3
6: iload 3
bipush -3
if_icmpne 14
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifne 5
7: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 4
9: aload 0
iload 2
iload 3
ifle 10
iconst_1
goto 11
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int
10: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
11: invokevirtual sun.nio.ch.DatagramChannelImpl.endRead:(ZZ)V
12: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 13
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 4
athrow
14: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 3
ifle 15
iconst_1
goto 16
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int
StackMap stack: sun.nio.ch.DatagramChannelImpl int
15: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
16: invokevirtual sun.nio.ch.DatagramChannelImpl.endRead:(ZZ)V
17: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 18
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
iload 3
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 6
19: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
20: iload 6
ireturn
end local 3 end local 2 21: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 5
22: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
23: aload 5
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/nio/ch/DatagramChannelImpl;
0 24 1 buf Ljava/nio/ByteBuffer;
3 21 2 blocking Z
4 21 3 n I
Exception table:
from to target type
4 8 8 any
2 19 21 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
public long read(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
aload 1
arraylength
invokestatic java.util.Objects.checkFromIndexSize:(III)I
pop
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
2: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isBlocking:()Z
istore 4
start local 4 3: lconst_0
lstore 5
start local 5 4: aload 0
iload 4
iconst_1
invokevirtual sun.nio.ch.DatagramChannelImpl.beginRead:(ZZ)Ljava/net/SocketAddress;
pop
5: StackMap locals: int long
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
iload 2
iload 3
getstatic sun.nio.ch.DatagramChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
invokestatic sun.nio.ch.IOUtil.read:(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;IILsun/nio/ch/NativeDispatcher;)J
lstore 5
6: lload 5
ldc -3
lcmp
ifne 14
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifne 5
7: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 7
9: aload 0
iload 4
lload 5
lconst_0
lcmp
ifle 10
iconst_1
goto 11
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer[] int int int long java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int
10: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer[] int int int long java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
11: invokevirtual sun.nio.ch.DatagramChannelImpl.endRead:(ZZ)V
12: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 13
lload 5
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 7
athrow
14: StackMap locals:
StackMap stack:
aload 0
iload 4
lload 5
lconst_0
lcmp
ifle 15
iconst_1
goto 16
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer[] int int int long
StackMap stack: sun.nio.ch.DatagramChannelImpl int
15: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer[] int int int long
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
16: invokevirtual sun.nio.ch.DatagramChannelImpl.endRead:(ZZ)V
17: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 18
lload 5
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
lload 5
invokestatic sun.nio.ch.IOStatus.normalize:(J)J
lstore 9
19: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
20: lload 9
lreturn
end local 5 end local 4 21: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer[] int int
StackMap stack: java.lang.Throwable
astore 8
22: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
23: aload 8
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/nio/ch/DatagramChannelImpl;
0 24 1 dsts [Ljava/nio/ByteBuffer;
0 24 2 offset I
0 24 3 length I
3 21 4 blocking Z
4 21 5 n J
Exception table:
from to target type
4 8 8 any
2 19 21 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dsts
offset
length
private java.net.SocketAddress beginWrite(boolean, boolean);
descriptor: (ZZ)Ljava/net/SocketAddress;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 2
1: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.begin:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 4
monitorenter
3: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.ensureOpen:()V
4: aload 0
getfield sun.nio.ch.DatagramChannelImpl.remoteAddress:Ljava/net/InetSocketAddress;
astore 3
start local 3 5: aload 3
ifnonnull 7
iload 2
ifeq 7
6: new java.nio.channels.NotYetConnectedException
dup
invokespecial java.nio.channels.NotYetConnectedException.<init>:()V
athrow
7: StackMap locals: java.net.SocketAddress java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
ifnonnull 9
8: aload 0
aconst_null
invokevirtual sun.nio.ch.DatagramChannelImpl.bindInternal:(Ljava/net/SocketAddress;)V
9: StackMap locals:
StackMap stack:
iload 1
ifeq 11
10: aload 0
invokestatic sun.nio.ch.NativeThread.current:()J
putfield sun.nio.ch.DatagramChannelImpl.writerThread:J
11: StackMap locals:
StackMap stack:
aload 4
monitorexit
12: goto 15
end local 3 StackMap locals: sun.nio.ch.DatagramChannelImpl int int top java.lang.Object
StackMap stack: java.lang.Throwable
13: aload 4
monitorexit
14: athrow
start local 3 15: StackMap locals: sun.nio.ch.DatagramChannelImpl int int java.net.SocketAddress
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/nio/ch/DatagramChannelImpl;
0 16 1 blocking Z
0 16 2 mustBeConnected Z
5 13 3 remote Ljava/net/SocketAddress;
15 16 3 remote Ljava/net/SocketAddress;
Exception table:
from to target type
3 12 13 any
13 14 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
blocking
mustBeConnected
private void endWrite(boolean, boolean);
descriptor: (ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 10
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 0
lconst_0
putfield sun.nio.ch.DatagramChannelImpl.writerThread:J
3: aload 0
getfield sun.nio.ch.DatagramChannelImpl.state:I
iconst_2
if_icmpne 5
4: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
5: StackMap locals: java.lang.Object
StackMap stack:
aload 3
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual sun.nio.ch.DatagramChannelImpl.end:(Z)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/nio/ch/DatagramChannelImpl;
0 11 1 blocking Z
0 11 2 completed Z
Exception table:
from to target type
2 6 7 any
7 8 7 any
Exceptions:
throws java.nio.channels.AsynchronousCloseException
MethodParameters:
Name Flags
blocking
completed
public int write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
2: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isBlocking:()Z
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: aload 0
iload 2
iconst_1
invokevirtual sun.nio.ch.DatagramChannelImpl.beginWrite:(ZZ)Ljava/net/SocketAddress;
pop
5: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
ldc -1
getstatic sun.nio.ch.DatagramChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
invokestatic sun.nio.ch.IOUtil.write:(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
istore 3
6: iload 3
bipush -3
if_icmpne 14
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifne 5
7: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 4
9: aload 0
iload 2
iload 3
ifle 10
iconst_1
goto 11
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int
10: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
11: invokevirtual sun.nio.ch.DatagramChannelImpl.endWrite:(ZZ)V
12: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 13
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 4
athrow
14: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 3
ifle 15
iconst_1
goto 16
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int
StackMap stack: sun.nio.ch.DatagramChannelImpl int
15: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer int int
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
16: invokevirtual sun.nio.ch.DatagramChannelImpl.endWrite:(ZZ)V
17: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 18
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
iload 3
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 6
19: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
20: iload 6
ireturn
end local 3 end local 2 21: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 5
22: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
23: aload 5
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/nio/ch/DatagramChannelImpl;
0 24 1 buf Ljava/nio/ByteBuffer;
3 21 2 blocking Z
4 21 3 n I
Exception table:
from to target type
4 8 8 any
2 19 21 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
public long write(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 3
aload 1
arraylength
invokestatic java.util.Objects.checkFromIndexSize:(III)I
pop
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
2: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isBlocking:()Z
istore 4
start local 4 3: lconst_0
lstore 5
start local 5 4: aload 0
iload 4
iconst_1
invokevirtual sun.nio.ch.DatagramChannelImpl.beginWrite:(ZZ)Ljava/net/SocketAddress;
pop
5: StackMap locals: int long
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 1
iload 2
iload 3
getstatic sun.nio.ch.DatagramChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
invokestatic sun.nio.ch.IOUtil.write:(Ljava/io/FileDescriptor;[Ljava/nio/ByteBuffer;IILsun/nio/ch/NativeDispatcher;)J
lstore 5
6: lload 5
ldc -3
lcmp
ifne 14
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifne 5
7: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 7
9: aload 0
iload 4
lload 5
lconst_0
lcmp
ifle 10
iconst_1
goto 11
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer[] int int int long java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int
10: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer[] int int int long java.lang.Throwable
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
11: invokevirtual sun.nio.ch.DatagramChannelImpl.endWrite:(ZZ)V
12: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 13
lload 5
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 7
athrow
14: StackMap locals:
StackMap stack:
aload 0
iload 4
lload 5
lconst_0
lcmp
ifle 15
iconst_1
goto 16
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer[] int int int long
StackMap stack: sun.nio.ch.DatagramChannelImpl int
15: iconst_0
StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer[] int int int long
StackMap stack: sun.nio.ch.DatagramChannelImpl int int
16: invokevirtual sun.nio.ch.DatagramChannelImpl.endWrite:(ZZ)V
17: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 18
lload 5
invokestatic sun.nio.ch.IOStatus.check:(J)Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: StackMap locals:
StackMap stack:
lload 5
invokestatic sun.nio.ch.IOStatus.normalize:(J)J
lstore 9
19: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
20: lload 9
lreturn
end local 5 end local 4 21: StackMap locals: sun.nio.ch.DatagramChannelImpl java.nio.ByteBuffer[] int int
StackMap stack: java.lang.Throwable
astore 8
22: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
23: aload 8
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/nio/ch/DatagramChannelImpl;
0 24 1 srcs [Ljava/nio/ByteBuffer;
0 24 2 offset I
0 24 3 length I
3 21 4 blocking Z
4 21 5 n J
Exception table:
from to target type
4 8 8 any
2 19 21 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offset
length
protected void implConfigureBlocking(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
2: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 2
monitorenter
3: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.ensureOpen:()V
4: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
iload 1
invokestatic sun.nio.ch.IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
5: aload 2
monitorexit
6: goto 12
StackMap locals: sun.nio.ch.DatagramChannelImpl int java.lang.Object
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals: sun.nio.ch.DatagramChannelImpl int
StackMap stack: java.lang.Throwable
astore 3
10: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
11: aload 3
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
13: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 4
15: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
16: aload 4
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/nio/ch/DatagramChannelImpl;
0 19 1 block Z
Exception table:
from to target type
3 6 7 any
7 8 7 any
2 9 9 any
1 14 14 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
java.net.InetSocketAddress localAddress();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
aload 1
monitorexit
2: areturn
3: StackMap locals: sun.nio.ch.DatagramChannelImpl java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/ch/DatagramChannelImpl;
Exception table:
from to target type
1 2 3 any
3 4 3 any
java.net.InetSocketAddress remoteAddress();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.remoteAddress:Ljava/net/InetSocketAddress;
aload 1
monitorexit
2: areturn
3: StackMap locals: sun.nio.ch.DatagramChannelImpl java.lang.Object
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/nio/ch/DatagramChannelImpl;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public java.nio.channels.DatagramChannel bind(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
2: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 2
monitorenter
3: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.ensureOpen:()V
4: aload 0
getfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
ifnull 6
5: new java.nio.channels.AlreadyBoundException
dup
invokespecial java.nio.channels.AlreadyBoundException.<init>:()V
athrow
6: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 1
invokevirtual sun.nio.ch.DatagramChannelImpl.bindInternal:(Ljava/net/SocketAddress;)V
7: aload 2
monitorexit
8: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals: sun.nio.ch.DatagramChannelImpl java.net.SocketAddress
StackMap stack: java.lang.Throwable
astore 3
12: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
13: aload 3
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
15: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 4
17: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
18: aload 4
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
20: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/nio/ch/DatagramChannelImpl;
0 21 1 local Ljava/net/SocketAddress;
Exception table:
from to target type
3 8 9 any
9 10 9 any
2 11 11 any
1 16 16 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
local
private void bindInternal(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 2
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifeq 1
aload 0
getfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
ifnull 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 8
3: aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
getstatic java.net.StandardProtocolFamily.INET:Ljava/net/StandardProtocolFamily;
if_acmpne 6
4: new java.net.InetSocketAddress
dup
ldc "0.0.0.0"
invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
iconst_0
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
astore 2
start local 2 5: goto 9
end local 2 6: StackMap locals:
StackMap stack:
new java.net.InetSocketAddress
dup
iconst_0
invokespecial java.net.InetSocketAddress.<init>:(I)V
astore 2
start local 2 7: goto 9
end local 2 8: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;Ljava/net/ProtocolFamily;)Ljava/net/InetSocketAddress;
astore 2
start local 2 9: StackMap locals: java.net.InetSocketAddress
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 10: aload 3
ifnull 12
11: aload 3
aload 2
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.lang.SecurityManager.checkListen:(I)V
12: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 2
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
aload 2
invokevirtual java.net.InetSocketAddress.getPort:()I
invokestatic sun.nio.ch.Net.bind:(Ljava/net/ProtocolFamily;Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
13: aload 0
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
putfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/nio/ch/DatagramChannelImpl;
0 15 1 local Ljava/net/SocketAddress;
5 6 2 isa Ljava/net/InetSocketAddress;
7 8 2 isa Ljava/net/InetSocketAddress;
9 15 2 isa Ljava/net/InetSocketAddress;
10 15 3 sm Ljava/lang/SecurityManager;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
local
public boolean isConnected();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.state:I
iconst_1
if_icmpne 2
iconst_1
goto 3
StackMap locals: java.lang.Object
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: aload 1
monitorexit
4: ireturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
6: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/nio/ch/DatagramChannelImpl;
Exception table:
from to target type
1 4 5 any
5 6 5 any
public java.nio.channels.DatagramChannel connect(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;Ljava/net/ProtocolFamily;)Ljava/net/InetSocketAddress;
astore 2
start local 2 1: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 2: aload 3
ifnull 9
3: aload 2
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
astore 4
start local 4 4: aload 4
invokevirtual java.net.InetAddress.isMulticastAddress:()Z
ifeq 7
5: aload 3
aload 4
invokevirtual java.lang.SecurityManager.checkMulticast:(Ljava/net/InetAddress;)V
6: goto 9
7: StackMap locals: java.net.InetSocketAddress java.lang.SecurityManager java.net.InetAddress
StackMap stack:
aload 3
aload 4
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
aload 2
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
8: aload 3
aload 4
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
aload 2
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.lang.SecurityManager.checkAccept:(Ljava/lang/String;I)V
end local 4 9: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
10: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
11: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 4
monitorenter
12: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.ensureOpen:()V
13: aload 0
getfield sun.nio.ch.DatagramChannelImpl.state:I
iconst_1
if_icmpne 15
14: new java.nio.channels.AlreadyConnectedException
dup
invokespecial java.nio.channels.AlreadyConnectedException.<init>:()V
athrow
15: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
16: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
17: aload 2
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
18: aload 2
invokevirtual java.net.InetSocketAddress.getPort:()I
19: invokestatic sun.nio.ch.Net.connect:(Ljava/net/ProtocolFamily;Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)I
istore 5
start local 5 20: iload 5
ifgt 22
21: new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
22: StackMap locals: int
StackMap stack:
aload 0
aload 2
putfield sun.nio.ch.DatagramChannelImpl.remoteAddress:Ljava/net/InetSocketAddress;
23: aload 0
iconst_1
putfield sun.nio.ch.DatagramChannelImpl.state:I
24: aload 0
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
putfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
25: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isBlocking:()Z
istore 6
start local 6 26: iload 6
ifeq 28
27: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
iconst_0
invokestatic sun.nio.ch.IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
28: StackMap locals: int
StackMap stack:
bipush 100
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 7
start local 7 29: goto 31
30: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 7
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
pop
31: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual sun.nio.ch.DatagramChannelImpl.receive:(Ljava/nio/ByteBuffer;)Ljava/net/SocketAddress;
ifnonnull 30
end local 7 32: goto 37
StackMap locals: sun.nio.ch.DatagramChannelImpl java.net.SocketAddress java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int int
StackMap stack: java.lang.Throwable
33: astore 8
34: iload 6
ifeq 36
35: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
iconst_1
invokestatic sun.nio.ch.IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
36: StackMap locals: sun.nio.ch.DatagramChannelImpl java.net.SocketAddress java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int int top java.lang.Throwable
StackMap stack:
aload 8
athrow
37: StackMap locals: sun.nio.ch.DatagramChannelImpl java.net.SocketAddress java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int int
StackMap stack:
iload 6
ifeq 39
38: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
iconst_1
invokestatic sun.nio.ch.IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
end local 6 end local 5 39: StackMap locals:
StackMap stack:
aload 4
monitorexit
40: goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
41: aload 4
monitorexit
42: athrow
43: StackMap locals: sun.nio.ch.DatagramChannelImpl java.net.SocketAddress java.net.InetSocketAddress java.lang.SecurityManager
StackMap stack: java.lang.Throwable
astore 9
44: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
45: aload 9
athrow
46: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
47: goto 51
StackMap locals:
StackMap stack: java.lang.Throwable
48: astore 10
49: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
50: aload 10
athrow
51: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
52: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lsun/nio/ch/DatagramChannelImpl;
0 53 1 sa Ljava/net/SocketAddress;
1 53 2 isa Ljava/net/InetSocketAddress;
2 53 3 sm Ljava/lang/SecurityManager;
4 9 4 ia Ljava/net/InetAddress;
20 39 5 n I
26 39 6 blocking Z
29 32 7 buf Ljava/nio/ByteBuffer;
Exception table:
from to target type
28 33 33 any
12 40 41 any
41 42 41 any
11 43 43 any
10 48 48 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sa
public java.nio.channels.DatagramChannel disconnect();
descriptor: ()Ljava/nio/channels/DatagramChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
2: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
3: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifeq 4
aload 0
getfield sun.nio.ch.DatagramChannelImpl.state:I
iconst_1
if_icmpeq 8
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
astore 4
aload 1
monitorexit
5: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
6: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: aload 4
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
if_acmpne 9
iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 2
start local 2 11: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
iload 2
invokestatic sun.nio.ch.DatagramChannelImpl.disconnect0:(Ljava/io/FileDescriptor;Z)V
12: aload 0
aconst_null
putfield sun.nio.ch.DatagramChannelImpl.remoteAddress:Ljava/net/InetSocketAddress;
13: aload 0
iconst_0
putfield sun.nio.ch.DatagramChannelImpl.state:I
14: aload 0
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
putfield sun.nio.ch.DatagramChannelImpl.localAddress:Ljava/net/InetSocketAddress;
end local 2 15: aload 1
monitorexit
16: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 1
monitorexit
18: athrow
19: StackMap locals: sun.nio.ch.DatagramChannelImpl
StackMap stack: java.lang.Throwable
astore 3
20: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
21: aload 3
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
23: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 5
25: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
26: aload 5
athrow
27: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
28: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/nio/ch/DatagramChannelImpl;
11 15 2 isIPv6 Z
Exception table:
from to target type
3 5 17 any
8 16 17 any
17 18 17 any
2 5 19 any
8 19 19 any
1 6 24 any
8 24 24 any
Exceptions:
throws java.io.IOException
private java.nio.channels.MembershipKey innerJoin(java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;Ljava/net/NetworkInterface;Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.net.InetAddress.isMulticastAddress:()Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Group not a multicast address"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.net.Inet4Address
ifeq 5
3: aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
if_acmpne 9
invokestatic sun.nio.ch.Net.canIPv6SocketJoinIPv4Group:()Z
ifne 9
4: new java.lang.IllegalArgumentException
dup
ldc "IPv6 socket cannot join IPv4 multicast group"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 1
instanceof java.net.Inet6Address
ifeq 8
6: aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
if_acmpeq 9
7: new java.lang.IllegalArgumentException
dup
ldc "Only IPv6 sockets can join IPv6 multicast group"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Address type not supported"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 3
ifnull 16
10: aload 3
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 12
11: new java.lang.IllegalArgumentException
dup
ldc "Source address is a wildcard address"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.net.InetAddress.isMulticastAddress:()Z
ifeq 14
13: new java.lang.IllegalArgumentException
dup
ldc "Source address is multicast address"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 16
15: new java.lang.IllegalArgumentException
dup
ldc "Source address is different type to group"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 4
start local 4 17: aload 4
ifnull 19
18: aload 4
aload 1
invokevirtual java.lang.SecurityManager.checkMulticast:(Ljava/net/InetAddress;)V
19: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 5
monitorenter
20: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.ensureOpen:()V
21: aload 0
getfield sun.nio.ch.DatagramChannelImpl.registry:Lsun/nio/ch/MembershipRegistry;
ifnonnull 24
22: aload 0
new sun.nio.ch.MembershipRegistry
dup
invokespecial sun.nio.ch.MembershipRegistry.<init>:()V
putfield sun.nio.ch.DatagramChannelImpl.registry:Lsun/nio/ch/MembershipRegistry;
23: goto 28
24: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.registry:Lsun/nio/ch/MembershipRegistry;
aload 1
aload 2
aload 3
invokevirtual sun.nio.ch.MembershipRegistry.checkMembership:(Ljava/net/InetAddress;Ljava/net/NetworkInterface;Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;
astore 6
start local 6 25: aload 6
ifnull 28
26: aload 6
aload 5
monitorexit
27: areturn
end local 6 28: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.family:Ljava/net/ProtocolFamily;
getstatic java.net.StandardProtocolFamily.INET6:Ljava/net/StandardProtocolFamily;
if_acmpne 44
29: aload 1
instanceof java.net.Inet6Address
ifne 30
invokestatic sun.nio.ch.Net.canJoin6WithIPv4Group:()Z
ifeq 44
30: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.net.NetworkInterface.getIndex:()I
istore 7
start local 7 31: iload 7
iconst_m1
if_icmpne 33
32: new java.io.IOException
dup
ldc "Network interface cannot be identified"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals: sun.nio.ch.DatagramChannelImpl java.net.InetAddress java.net.NetworkInterface java.net.InetAddress java.lang.SecurityManager java.lang.Object top int
StackMap stack:
aload 1
invokestatic sun.nio.ch.Net.inet6AsByteArray:(Ljava/net/InetAddress;)[B
astore 8
start local 8 34: aload 3
ifnonnull 35
aconst_null
goto 36
35: StackMap locals: byte[]
StackMap stack:
aload 3
invokestatic sun.nio.ch.Net.inet6AsByteArray:(Ljava/net/InetAddress;)[B
36: StackMap locals:
StackMap stack: byte[]
astore 9
start local 9 37: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 8
iload 7
aload 9
invokestatic sun.nio.ch.Net.join6:(Ljava/io/FileDescriptor;[BI[B)I
istore 10
start local 10 38: iload 10
bipush -2
if_icmpne 40
39: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
40: StackMap locals: byte[] int
StackMap stack:
new sun.nio.ch.MembershipKeyImpl$Type6
dup
aload 0
aload 1
aload 2
aload 3
41: aload 8
iload 7
aload 9
42: invokespecial sun.nio.ch.MembershipKeyImpl$Type6.<init>:(Ljava/nio/channels/MulticastChannel;Ljava/net/InetAddress;Ljava/net/NetworkInterface;Ljava/net/InetAddress;[BI[B)V
astore 6
end local 10 end local 9 end local 8 end local 7 start local 6 43: goto 58
end local 6 44: StackMap locals: sun.nio.ch.DatagramChannelImpl java.net.InetAddress java.net.NetworkInterface java.net.InetAddress java.lang.SecurityManager java.lang.Object
StackMap stack:
aload 2
invokestatic sun.nio.ch.Net.anyInet4Address:(Ljava/net/NetworkInterface;)Ljava/net/Inet4Address;
astore 7
start local 7 45: aload 7
ifnonnull 47
46: new java.io.IOException
dup
ldc "Network interface not configured for IPv4"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
47: StackMap locals: sun.nio.ch.DatagramChannelImpl java.net.InetAddress java.net.NetworkInterface java.net.InetAddress java.lang.SecurityManager java.lang.Object top java.net.Inet4Address
StackMap stack:
aload 1
invokestatic sun.nio.ch.Net.inet4AsInt:(Ljava/net/InetAddress;)I
istore 8
start local 8 48: aload 7
invokestatic sun.nio.ch.Net.inet4AsInt:(Ljava/net/InetAddress;)I
istore 9
start local 9 49: aload 3
ifnonnull 50
iconst_0
goto 51
StackMap locals: int int
StackMap stack:
50: aload 3
invokestatic sun.nio.ch.Net.inet4AsInt:(Ljava/net/InetAddress;)I
StackMap locals:
StackMap stack: int
51: istore 10
start local 10 52: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
iload 8
iload 9
iload 10
invokestatic sun.nio.ch.Net.join4:(Ljava/io/FileDescriptor;III)I
istore 11
start local 11 53: iload 11
bipush -2
if_icmpne 55
54: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
55: StackMap locals: int int
StackMap stack:
new sun.nio.ch.MembershipKeyImpl$Type4
dup
aload 0
aload 1
aload 2
aload 3
56: iload 8
iload 9
iload 10
57: invokespecial sun.nio.ch.MembershipKeyImpl$Type4.<init>:(Ljava/nio/channels/MulticastChannel;Ljava/net/InetAddress;Ljava/net/NetworkInterface;Ljava/net/InetAddress;III)V
astore 6
end local 11 end local 10 end local 9 end local 8 end local 7 start local 6 58: StackMap locals: sun.nio.ch.DatagramChannelImpl java.net.InetAddress java.net.NetworkInterface java.net.InetAddress java.lang.SecurityManager java.lang.Object sun.nio.ch.MembershipKeyImpl
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.registry:Lsun/nio/ch/MembershipRegistry;
aload 6
invokevirtual sun.nio.ch.MembershipRegistry.add:(Lsun/nio/ch/MembershipKeyImpl;)V
59: aload 6
aload 5
monitorexit
60: areturn
end local 6 61: StackMap locals: sun.nio.ch.DatagramChannelImpl java.net.InetAddress java.net.NetworkInterface java.net.InetAddress java.lang.SecurityManager java.lang.Object
StackMap stack: java.lang.Throwable
aload 5
monitorexit
62: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Lsun/nio/ch/DatagramChannelImpl;
0 63 1 group Ljava/net/InetAddress;
0 63 2 interf Ljava/net/NetworkInterface;
0 63 3 source Ljava/net/InetAddress;
17 63 4 sm Ljava/lang/SecurityManager;
25 28 6 key Ljava/nio/channels/MembershipKey;
43 44 6 key Lsun/nio/ch/MembershipKeyImpl;
58 61 6 key Lsun/nio/ch/MembershipKeyImpl;
31 43 7 index I
34 43 8 groupAddress [B
37 43 9 sourceAddress [B
38 43 10 n I
45 58 7 target Ljava/net/Inet4Address;
48 58 8 groupAddress I
49 58 9 targetAddress I
52 58 10 sourceAddress I
53 58 11 n I
Exception table:
from to target type
20 27 61 any
28 60 61 any
61 62 61 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
group
interf
source
public java.nio.channels.MembershipKey join(java.net.InetAddress, java.net.NetworkInterface);
descriptor: (Ljava/net/InetAddress;Ljava/net/NetworkInterface;)Ljava/nio/channels/MembershipKey;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokevirtual sun.nio.ch.DatagramChannelImpl.innerJoin:(Ljava/net/InetAddress;Ljava/net/NetworkInterface;Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/DatagramChannelImpl;
0 1 1 group Ljava/net/InetAddress;
0 1 2 interf Ljava/net/NetworkInterface;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
group
interf
public java.nio.channels.MembershipKey join(java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;Ljava/net/NetworkInterface;Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 1
aload 2
aload 3
invokevirtual sun.nio.ch.DatagramChannelImpl.innerJoin:(Ljava/net/InetAddress;Ljava/net/NetworkInterface;Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/ch/DatagramChannelImpl;
0 2 1 group Ljava/net/InetAddress;
0 2 2 interf Ljava/net/NetworkInterface;
0 2 3 source Ljava/net/InetAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
group
interf
source
void drop(sun.nio.ch.MembershipKeyImpl);
descriptor: (Lsun/nio/ch/MembershipKeyImpl;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual sun.nio.ch.MembershipKeyImpl.channel:()Ljava/nio/channels/MulticastChannel;
aload 0
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 2
monitorenter
2: aload 1
invokevirtual sun.nio.ch.MembershipKeyImpl.isValid:()Z
ifne 5
3: aload 2
monitorexit
4: return
5: StackMap locals: java.lang.Object
StackMap stack:
aload 1
instanceof sun.nio.ch.MembershipKeyImpl$Type6
ifeq 10
6: aload 1
checkcast sun.nio.ch.MembershipKeyImpl$Type6
7: astore 3
start local 3 8: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 3
invokevirtual sun.nio.ch.MembershipKeyImpl$Type6.groupAddress:()[B
aload 3
invokevirtual sun.nio.ch.MembershipKeyImpl$Type6.index:()I
aload 3
invokevirtual sun.nio.ch.MembershipKeyImpl$Type6.source:()[B
invokestatic sun.nio.ch.Net.drop6:(Ljava/io/FileDescriptor;[BI[B)V
end local 3 9: goto 17
10: StackMap locals:
StackMap stack:
aload 1
checkcast sun.nio.ch.MembershipKeyImpl$Type4
astore 3
start local 3 11: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 3
invokevirtual sun.nio.ch.MembershipKeyImpl$Type4.groupAddress:()I
aload 3
invokevirtual sun.nio.ch.MembershipKeyImpl$Type4.interfaceAddress:()I
12: aload 3
invokevirtual sun.nio.ch.MembershipKeyImpl$Type4.source:()I
13: invokestatic sun.nio.ch.Net.drop4:(Ljava/io/FileDescriptor;III)V
end local 3 14: goto 17
StackMap locals:
StackMap stack: java.io.IOException
15: astore 3
start local 3 16: new java.lang.AssertionError
dup
aload 3
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 17: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.nio.ch.MembershipKeyImpl.invalidate:()V
18: aload 0
getfield sun.nio.ch.DatagramChannelImpl.registry:Lsun/nio/ch/MembershipRegistry;
aload 1
invokevirtual sun.nio.ch.MembershipRegistry.remove:(Lsun/nio/ch/MembershipKeyImpl;)V
19: aload 2
monitorexit
20: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
21: aload 2
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/nio/ch/DatagramChannelImpl;
0 24 1 key Lsun/nio/ch/MembershipKeyImpl;
8 9 3 key6 Lsun/nio/ch/MembershipKeyImpl$Type6;
11 14 3 key4 Lsun/nio/ch/MembershipKeyImpl$Type4;
16 17 3 ioe Ljava/io/IOException;
Exception table:
from to target type
5 14 15 Class java.io.IOException
2 4 21 any
5 20 21 any
21 22 21 any
MethodParameters:
Name Flags
key
void block(sun.nio.ch.MembershipKeyImpl, java.net.InetAddress);
descriptor: (Lsun/nio/ch/MembershipKeyImpl;Ljava/net/InetAddress;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual sun.nio.ch.MembershipKeyImpl.channel:()Ljava/nio/channels/MulticastChannel;
aload 0
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual sun.nio.ch.MembershipKeyImpl.sourceAddress:()Ljava/net/InetAddress;
ifnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
3: aload 1
invokevirtual sun.nio.ch.MembershipKeyImpl.isValid:()Z
ifne 5
4: new java.lang.IllegalStateException
dup
ldc "key is no longer valid"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 2
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 7
6: new java.lang.IllegalArgumentException
dup
ldc "Source address is a wildcard address"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.net.InetAddress.isMulticastAddress:()Z
ifeq 9
8: new java.lang.IllegalArgumentException
dup
ldc "Source address is multicast address"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual sun.nio.ch.MembershipKeyImpl.group:()Ljava/net/InetAddress;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 11
10: new java.lang.IllegalArgumentException
dup
ldc "Source address is different type to group"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 1
instanceof sun.nio.ch.MembershipKeyImpl$Type6
ifeq 18
12: aload 1
checkcast sun.nio.ch.MembershipKeyImpl$Type6
13: astore 5
start local 5 14: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 5
invokevirtual sun.nio.ch.MembershipKeyImpl$Type6.groupAddress:()[B
aload 5
invokevirtual sun.nio.ch.MembershipKeyImpl$Type6.index:()I
15: aload 2
invokestatic sun.nio.ch.Net.inet6AsByteArray:(Ljava/net/InetAddress;)[B
16: invokestatic sun.nio.ch.Net.block6:(Ljava/io/FileDescriptor;[BI[B)I
istore 4
end local 5 start local 4 17: goto 23
end local 4 18: StackMap locals:
StackMap stack:
aload 1
checkcast sun.nio.ch.MembershipKeyImpl$Type4
19: astore 5
start local 5 20: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 5
invokevirtual sun.nio.ch.MembershipKeyImpl$Type4.groupAddress:()I
aload 5
invokevirtual sun.nio.ch.MembershipKeyImpl$Type4.interfaceAddress:()I
21: aload 2
invokestatic sun.nio.ch.Net.inet4AsInt:(Ljava/net/InetAddress;)I
22: invokestatic sun.nio.ch.Net.block4:(Ljava/io/FileDescriptor;III)I
istore 4
end local 5 start local 4 23: StackMap locals: int
StackMap stack:
iload 4
bipush -2
if_icmpne 25
24: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 4 25: StackMap locals:
StackMap stack:
aload 3
monitorexit
26: goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
27: aload 3
monitorexit
28: athrow
29: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/nio/ch/DatagramChannelImpl;
0 30 1 key Lsun/nio/ch/MembershipKeyImpl;
0 30 2 source Ljava/net/InetAddress;
17 18 4 n I
23 25 4 n I
14 17 5 key6 Lsun/nio/ch/MembershipKeyImpl$Type6;
20 23 5 key4 Lsun/nio/ch/MembershipKeyImpl$Type4;
Exception table:
from to target type
3 26 27 any
27 28 27 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
key
source
void unblock(sun.nio.ch.MembershipKeyImpl, java.net.InetAddress);
descriptor: (Lsun/nio/ch/MembershipKeyImpl;Ljava/net/InetAddress;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual sun.nio.ch.MembershipKeyImpl.channel:()Ljava/nio/channels/MulticastChannel;
aload 0
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual sun.nio.ch.MembershipKeyImpl.sourceAddress:()Ljava/net/InetAddress;
ifnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
3: aload 1
invokevirtual sun.nio.ch.MembershipKeyImpl.isValid:()Z
ifne 5
4: new java.lang.IllegalStateException
dup
ldc "key is no longer valid"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 1
instanceof sun.nio.ch.MembershipKeyImpl$Type6
ifeq 12
6: aload 1
checkcast sun.nio.ch.MembershipKeyImpl$Type6
7: astore 4
start local 4 8: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 4
invokevirtual sun.nio.ch.MembershipKeyImpl$Type6.groupAddress:()[B
aload 4
invokevirtual sun.nio.ch.MembershipKeyImpl$Type6.index:()I
9: aload 2
invokestatic sun.nio.ch.Net.inet6AsByteArray:(Ljava/net/InetAddress;)[B
10: invokestatic sun.nio.ch.Net.unblock6:(Ljava/io/FileDescriptor;[BI[B)V
end local 4 11: goto 20
12: StackMap locals:
StackMap stack:
aload 1
checkcast sun.nio.ch.MembershipKeyImpl$Type4
13: astore 4
start local 4 14: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
aload 4
invokevirtual sun.nio.ch.MembershipKeyImpl$Type4.groupAddress:()I
aload 4
invokevirtual sun.nio.ch.MembershipKeyImpl$Type4.interfaceAddress:()I
15: aload 2
invokestatic sun.nio.ch.Net.inet4AsInt:(Ljava/net/InetAddress;)I
16: invokestatic sun.nio.ch.Net.unblock4:(Ljava/io/FileDescriptor;III)V
end local 4 17: goto 20
StackMap locals:
StackMap stack: java.io.IOException
18: astore 4
start local 4 19: new java.lang.AssertionError
dup
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 20: StackMap locals:
StackMap stack:
aload 3
monitorexit
21: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
22: aload 3
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/nio/ch/DatagramChannelImpl;
0 25 1 key Lsun/nio/ch/MembershipKeyImpl;
0 25 2 source Ljava/net/InetAddress;
8 11 4 key6 Lsun/nio/ch/MembershipKeyImpl$Type6;
14 17 4 key4 Lsun/nio/ch/MembershipKeyImpl$Type4;
19 20 4 ioe Ljava/io/IOException;
Exception table:
from to target type
5 17 18 Class java.io.IOException
3 21 22 any
22 23 22 any
MethodParameters:
Name Flags
key
source
protected void implCloseSelectableChannel();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=8, args_size=1
start local 0 0: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isOpen:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 2: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
3: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 4
aload 0
getfield sun.nio.ch.DatagramChannelImpl.state:I
iconst_2
if_icmplt 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: sun.nio.ch.DatagramChannelImpl top int java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isBlocking:()Z
istore 1
start local 1 5: aload 0
iconst_2
putfield sun.nio.ch.DatagramChannelImpl.state:I
6: aload 0
getfield sun.nio.ch.DatagramChannelImpl.registry:Lsun/nio/ch/MembershipRegistry;
ifnull 8
7: aload 0
getfield sun.nio.ch.DatagramChannelImpl.registry:Lsun/nio/ch/MembershipRegistry;
invokevirtual sun.nio.ch.MembershipRegistry.invalidateAll:()V
8: StackMap locals: sun.nio.ch.DatagramChannelImpl int int java.lang.Object
StackMap stack:
aload 3
monitorexit
9: goto 12
end local 1 StackMap locals: sun.nio.ch.DatagramChannelImpl top int java.lang.Object
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
start local 1 12: StackMap locals: sun.nio.ch.DatagramChannelImpl int int
StackMap stack:
iload 1
ifeq 33
13: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
14: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 15
aload 0
getfield sun.nio.ch.DatagramChannelImpl.state:I
iconst_2
if_icmpeq 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readerThread:J
lstore 4
start local 4 16: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writerThread:J
lstore 6
start local 6 17: lload 4
lconst_0
lcmp
ifne 18
lload 6
lconst_0
lcmp
ifeq 29
18: StackMap locals: long long
StackMap stack:
getstatic sun.nio.ch.DatagramChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual sun.nio.ch.NativeDispatcher.preClose:(Ljava/io/FileDescriptor;)V
19: lload 4
lconst_0
lcmp
ifeq 21
20: lload 4
invokestatic sun.nio.ch.NativeThread.signal:(J)V
21: StackMap locals:
StackMap stack:
lload 6
lconst_0
lcmp
ifeq 28
22: lload 6
invokestatic sun.nio.ch.NativeThread.signal:(J)V
23: goto 28
24: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
invokevirtual java.lang.Object.wait:()V
25: goto 28
StackMap locals:
StackMap stack: java.lang.InterruptedException
26: pop
27: iconst_1
istore 2
28: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readerThread:J
lconst_0
lcmp
ifne 24
aload 0
getfield sun.nio.ch.DatagramChannelImpl.writerThread:J
lconst_0
lcmp
ifne 24
end local 6 end local 4 29: StackMap locals:
StackMap stack:
aload 3
monitorexit
30: goto 41
StackMap locals:
StackMap stack: java.lang.Throwable
31: aload 3
monitorexit
32: athrow
33: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
34: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
35: aload 0
getfield sun.nio.ch.DatagramChannelImpl.writeLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
36: goto 40
StackMap locals:
StackMap stack: java.lang.Throwable
37: astore 3
38: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
39: aload 3
athrow
40: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
41: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
42: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 43
aload 0
getfield sun.nio.ch.DatagramChannelImpl.state:I
iconst_2
if_icmpeq 43
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
43: StackMap locals: java.lang.Object
StackMap stack:
aload 0
iconst_3
putfield sun.nio.ch.DatagramChannelImpl.state:I
44: aload 3
monitorexit
45: goto 48
StackMap locals:
StackMap stack: java.lang.Throwable
46: aload 3
monitorexit
47: athrow
48: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isRegistered:()Z
ifne 50
49: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.kill:()V
50: StackMap locals:
StackMap stack:
iload 2
ifeq 52
51: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
52: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lsun/nio/ch/DatagramChannelImpl;
5 10 1 blocking Z
12 53 1 blocking Z
2 53 2 interrupted Z
16 29 4 reader J
17 29 6 writer J
Exception table:
from to target type
3 9 10 any
10 11 10 any
24 25 26 Class java.lang.InterruptedException
14 30 31 any
31 32 31 any
34 37 37 any
42 45 46 any
46 47 46 any
Exceptions:
throws java.io.IOException
public void kill();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.DatagramChannelImpl.state:I
iconst_3
if_icmpne 9
2: aload 0
iconst_4
putfield sun.nio.ch.DatagramChannelImpl.state:I
3: getstatic sun.nio.ch.DatagramChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
invokevirtual sun.nio.ch.NativeDispatcher.close:(Ljava/io/FileDescriptor;)V
4: goto 8
StackMap locals: sun.nio.ch.DatagramChannelImpl java.lang.Object
StackMap stack: java.lang.Throwable
5: astore 2
6: invokestatic sun.net.ResourceManager.afterUdpClose:()V
7: aload 2
athrow
8: StackMap locals:
StackMap stack:
invokestatic sun.net.ResourceManager.afterUdpClose:()V
9: StackMap locals:
StackMap stack:
aload 1
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 1
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/nio/ch/DatagramChannelImpl;
Exception table:
from to target type
3 5 5 any
1 10 11 any
11 12 11 any
Exceptions:
throws java.io.IOException
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
ifnull 2
1: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.close:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/ch/DatagramChannelImpl;
Exceptions:
throws java.io.IOException
public boolean translateReadyOps(int, int, sun.nio.ch.SelectionKeyImpl);
descriptor: (IILsun/nio/ch/SelectionKeyImpl;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual sun.nio.ch.SelectionKeyImpl.nioInterestOps:()I
istore 4
start local 4 1: aload 3
invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:()I
istore 5
start local 5 2: iload 2
istore 6
start local 6 3: iload 1
getstatic sun.nio.ch.Net.POLLNVAL:S
iand
ifeq 5
4: iconst_0
ireturn
5: StackMap locals: int int int
StackMap stack:
iload 1
getstatic sun.nio.ch.Net.POLLERR:S
getstatic sun.nio.ch.Net.POLLHUP:S
ior
iand
ifeq 10
6: iload 4
istore 6
7: aload 3
iload 6
invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:(I)V
8: iload 6
iload 5
iconst_m1
ixor
iand
ifeq 9
iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
iload 1
getstatic sun.nio.ch.Net.POLLIN:S
iand
ifeq 13
11: iload 4
iconst_1
iand
ifeq 13
12: iload 6
iconst_1
ior
istore 6
13: StackMap locals:
StackMap stack:
iload 1
getstatic sun.nio.ch.Net.POLLOUT:S
iand
ifeq 16
14: iload 4
iconst_4
iand
ifeq 16
15: iload 6
iconst_4
ior
istore 6
16: StackMap locals:
StackMap stack:
aload 3
iload 6
invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:(I)V
17: iload 6
iload 5
iconst_m1
ixor
iand
ifeq 18
iconst_1
ireturn
StackMap locals:
StackMap stack:
18: iconst_0
ireturn
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 19 0 this Lsun/nio/ch/DatagramChannelImpl;
0 19 1 ops I
0 19 2 initialOps I
0 19 3 ski Lsun/nio/ch/SelectionKeyImpl;
1 19 4 intOps I
2 19 5 oldOps I
3 19 6 newOps I
MethodParameters:
Name Flags
ops
initialOps
ski
public boolean translateAndUpdateReadyOps(int, sun.nio.ch.SelectionKeyImpl);
descriptor: (ILsun/nio/ch/SelectionKeyImpl;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:()I
aload 2
invokevirtual sun.nio.ch.DatagramChannelImpl.translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/DatagramChannelImpl;
0 1 1 ops I
0 1 2 ski Lsun/nio/ch/SelectionKeyImpl;
MethodParameters:
Name Flags
ops
ski
public boolean translateAndSetReadyOps(int, sun.nio.ch.SelectionKeyImpl);
descriptor: (ILsun/nio/ch/SelectionKeyImpl;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iconst_0
aload 2
invokevirtual sun.nio.ch.DatagramChannelImpl.translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/DatagramChannelImpl;
0 1 1 ops I
0 1 2 ski Lsun/nio/ch/SelectionKeyImpl;
MethodParameters:
Name Flags
ops
ski
boolean pollRead(long);
descriptor: (J)Z
flags: (0x0000)
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.isBlocking:()Z
istore 3
start local 3 1: getstatic sun.nio.ch.DatagramChannelImpl.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual sun.nio.ch.DatagramChannelImpl.blockingLock:()Ljava/lang/Object;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifeq 2
iload 3
ifne 3
StackMap locals: int
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
4: iconst_0
istore 4
start local 4 5: aload 0
iload 3
iconst_0
invokevirtual sun.nio.ch.DatagramChannelImpl.beginRead:(ZZ)Ljava/net/SocketAddress;
pop
6: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
getstatic sun.nio.ch.Net.POLLIN:S
lload 1
invokestatic sun.nio.ch.Net.poll:(Ljava/io/FileDescriptor;IJ)I
istore 5
start local 5 7: iload 5
ifeq 8
iconst_1
goto 9
StackMap locals: int int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 4
end local 5 10: goto 14
StackMap locals: sun.nio.ch.DatagramChannelImpl long int int
StackMap stack: java.lang.Throwable
11: astore 6
12: aload 0
iload 3
iload 4
invokevirtual sun.nio.ch.DatagramChannelImpl.endRead:(ZZ)V
13: aload 6
athrow
14: StackMap locals:
StackMap stack:
aload 0
iload 3
iload 4
invokevirtual sun.nio.ch.DatagramChannelImpl.endRead:(ZZ)V
15: iload 4
istore 8
16: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
17: iload 8
ireturn
end local 4 18: StackMap locals: sun.nio.ch.DatagramChannelImpl long int
StackMap stack: java.lang.Throwable
astore 7
19: aload 0
getfield sun.nio.ch.DatagramChannelImpl.readLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
20: aload 7
athrow
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/nio/ch/DatagramChannelImpl;
0 21 1 timeout J
1 21 3 blocking Z
5 18 4 polled Z
7 10 5 events I
Exception table:
from to target type
5 11 11 any
4 16 18 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
timeout
public int translateInterestOps(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iload 1
iconst_1
iand
ifeq 3
2: iload 2
getstatic sun.nio.ch.Net.POLLIN:S
ior
istore 2
3: StackMap locals: int
StackMap stack:
iload 1
iconst_4
iand
ifeq 5
4: iload 2
getstatic sun.nio.ch.Net.POLLOUT:S
ior
istore 2
5: StackMap locals:
StackMap stack:
iload 1
bipush 8
iand
ifeq 7
6: iload 2
getstatic sun.nio.ch.Net.POLLIN:S
ior
istore 2
7: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/nio/ch/DatagramChannelImpl;
0 8 1 ops I
1 8 2 newOps I
MethodParameters:
Name Flags
ops
public java.io.FileDescriptor getFD();
descriptor: ()Ljava/io/FileDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fd:Ljava/io/FileDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/DatagramChannelImpl;
public int getFDVal();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.DatagramChannelImpl.fdVal:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/DatagramChannelImpl;
private static native void initIDs();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native void disconnect0(java.io.FileDescriptor, boolean);
descriptor: (Ljava/io/FileDescriptor;Z)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
isIPv6
private native int receive0(java.io.FileDescriptor, long, int, boolean);
descriptor: (Ljava/io/FileDescriptor;JIZ)I
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
address
len
connected
private native int send0(boolean, java.io.FileDescriptor, long, int, java.net.InetAddress, int);
descriptor: (ZLjava/io/FileDescriptor;JILjava/net/InetAddress;I)I
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
preferIPv6
fd
address
len
addr
port
public java.nio.channels.NetworkChannel bind(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)Ljava/nio/channels/NetworkChannel;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual sun.nio.ch.DatagramChannelImpl.bind:(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public java.nio.channels.NetworkChannel setOption(java.net.SocketOption, java.lang.Object);
descriptor: (Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/NetworkChannel;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.net.SocketOption
aload 2
checkcast java.lang.Object
invokevirtual sun.nio.ch.DatagramChannelImpl.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/DatagramChannel;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
}
SourceFile: "DatagramChannelImpl.java"
NestMembers:
sun.nio.ch.DatagramChannelImpl$DefaultOptionsHolder
InnerClasses:
private DefaultOptionsHolder = sun.nio.ch.DatagramChannelImpl$DefaultOptionsHolder of sun.nio.ch.DatagramChannelImpl
Type4 = sun.nio.ch.MembershipKeyImpl$Type4 of sun.nio.ch.MembershipKeyImpl
Type6 = sun.nio.ch.MembershipKeyImpl$Type6 of sun.nio.ch.MembershipKeyImpl