public class sun.nio.ch.sctp.SctpChannelImpl extends com.sun.nio.sctp.SctpChannel implements sun.nio.ch.SelChImpl
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.nio.ch.sctp.SctpChannelImpl
super_class: com.sun.nio.sctp.SctpChannel
{
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 volatile long receiverThread;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long senderThread;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.lang.Object receiveLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object sendLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ThreadLocal<java.lang.Boolean> receiveInvoked;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;
private final java.lang.Object stateLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private sun.nio.ch.sctp.SctpChannelImpl$ChannelState state;
descriptor: Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
flags: (0x0002) ACC_PRIVATE
int port;
descriptor: I
flags: (0x0000)
private java.util.HashSet<java.net.InetSocketAddress> localAddresses;
descriptor: Ljava/util/HashSet;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashSet<Ljava/net/InetSocketAddress;>;
private boolean wildcard;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean readyToConnect;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isShutdown;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.sun.nio.sctp.Association association;
descriptor: Lcom/sun/nio/sctp/Association;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<java.net.SocketAddress> remoteAddresses;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/net/SocketAddress;>;
private sun.nio.ch.sctp.SctpChannelImpl$InternalNotificationHandler internalNotificationHandler;
descriptor: Lsun/nio/ch/sctp/SctpChannelImpl$InternalNotificationHandler;
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/sctp/SctpChannelImpl;
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.sctp.SctpChannelImpl.$assertionsDisabled:Z
3: invokestatic sun.nio.ch.IOUtil.load:()V
4: new sun.nio.ch.sctp.SctpChannelImpl$2
dup
invokespecial sun.nio.ch.sctp.SctpChannelImpl$2.<init>:()V
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
6: invokestatic sun.nio.ch.sctp.SctpChannelImpl.initIDs:()V
7: 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=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.sun.nio.sctp.SctpChannel.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
1: aload 0
lconst_0
putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
2: aload 0
lconst_0
putfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
5: aload 0
6: new sun.nio.ch.sctp.SctpChannelImpl$1
dup
aload 0
invokespecial sun.nio.ch.sctp.SctpChannelImpl$1.<init>:(Lsun/nio/ch/sctp/SctpChannelImpl;)V
putfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
8: aload 0
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.UNINITIALIZED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
putfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
9: aload 0
iconst_m1
putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
10: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
11: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield sun.nio.ch.sctp.SctpChannelImpl.remoteAddresses:Ljava/util/Set;
12: aload 0
13: new sun.nio.ch.sctp.SctpChannelImpl$InternalNotificationHandler
dup
aload 0
invokespecial sun.nio.ch.sctp.SctpChannelImpl$InternalNotificationHandler.<init>:(Lsun/nio/ch/sctp/SctpChannelImpl;)V
putfield sun.nio.ch.sctp.SctpChannelImpl.internalNotificationHandler:Lsun/nio/ch/sctp/SctpChannelImpl$InternalNotificationHandler;
14: aload 0
iconst_1
invokestatic sun.nio.ch.sctp.SctpNet.socket:(Z)Ljava/io/FileDescriptor;
putfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
15: aload 0
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
putfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
16: aload 0
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.UNCONNECTED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
putfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
17: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 18 1 provider Ljava/nio/channels/spi/SelectorProvider;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
provider
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=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokespecial sun.nio.ch.sctp.SctpChannelImpl.<init>:(Ljava/nio/channels/spi/SelectorProvider;Ljava/io/FileDescriptor;Lcom/sun/nio/sctp/Association;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 2 1 provider Ljava/nio/channels/spi/SelectorProvider;
0 2 2 fd Ljava/io/FileDescriptor;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
provider
fd
public void <init>(java.nio.channels.spi.SelectorProvider, java.io.FileDescriptor, com.sun.nio.sctp.Association);
descriptor: (Ljava/nio/channels/spi/SelectorProvider;Ljava/io/FileDescriptor;Lcom/sun/nio/sctp/Association;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial com.sun.nio.sctp.SctpChannel.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
1: aload 0
lconst_0
putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
2: aload 0
lconst_0
putfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
5: aload 0
6: new sun.nio.ch.sctp.SctpChannelImpl$1
dup
aload 0
invokespecial sun.nio.ch.sctp.SctpChannelImpl$1.<init>:(Lsun/nio/ch/sctp/SctpChannelImpl;)V
putfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
7: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
8: aload 0
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.UNINITIALIZED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
putfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
9: aload 0
iconst_m1
putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
10: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
11: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield sun.nio.ch.sctp.SctpChannelImpl.remoteAddresses:Ljava/util/Set;
12: aload 0
13: new sun.nio.ch.sctp.SctpChannelImpl$InternalNotificationHandler
dup
aload 0
invokespecial sun.nio.ch.sctp.SctpChannelImpl$InternalNotificationHandler.<init>:(Lsun/nio/ch/sctp/SctpChannelImpl;)V
putfield sun.nio.ch.sctp.SctpChannelImpl.internalNotificationHandler:Lsun/nio/ch/sctp/SctpChannelImpl$InternalNotificationHandler;
14: aload 0
aload 2
putfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
15: aload 0
aload 2
invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
putfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
16: aload 0
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.CONNECTED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
putfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
17: aload 0
aload 2
invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
invokevirtual java.net.InetSocketAddress.getPort:()I
putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
18: aload 3
ifnull 21
19: aload 0
aload 3
putfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
20: goto 28
21: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.channels.spi.SelectorProvider java.io.FileDescriptor com.sun.nio.sctp.Association
StackMap stack:
bipush 50
invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
astore 4
start local 4 22: aload 0
aload 4
aconst_null
aconst_null
iconst_1
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receive:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler;Z)Lcom/sun/nio/sctp/MessageInfo;
pop
23: goto 27
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.channels.spi.SelectorProvider java.io.FileDescriptor com.sun.nio.sctp.Association java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
24: astore 5
25: aload 4
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
26: aload 5
athrow
27: StackMap locals:
StackMap stack:
aload 4
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
end local 4 28: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 29 1 provider Ljava/nio/channels/spi/SelectorProvider;
0 29 2 fd Ljava/io/FileDescriptor;
0 29 3 association Lcom/sun/nio/sctp/Association;
22 28 4 buf Ljava/nio/ByteBuffer;
Exception table:
from to target type
22 24 24 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
provider
fd
association
public com.sun.nio.sctp.SctpChannel bind(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)Lcom/sun/nio/sctp/SctpChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 4
monitorenter
3: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureOpenAndUnconnected:()V
4: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBound:()Z
ifeq 6
5: invokestatic sun.nio.ch.sctp.SctpNet.throwAlreadyBoundException:()Z
pop
6: StackMap locals: java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
aload 1
ifnonnull 8
7: new java.net.InetSocketAddress
dup
iconst_0
invokespecial java.net.InetSocketAddress.<init>:(I)V
goto 9
StackMap locals:
StackMap stack:
8: aload 1
invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
9: StackMap locals:
StackMap stack: java.net.InetSocketAddress
astore 5
start local 5 10: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 6
start local 6 11: aload 6
ifnull 13
12: aload 6
aload 5
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual java.lang.SecurityManager.checkListen:(I)V
13: StackMap locals: java.net.InetSocketAddress java.lang.SecurityManager
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
aload 5
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
aload 5
invokevirtual java.net.InetSocketAddress.getPort:()I
invokestatic sun.nio.ch.Net.bind:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
14: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
astore 7
start local 7 15: aload 0
aload 7
invokevirtual java.net.InetSocketAddress.getPort:()I
putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
16: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
aload 5
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
17: aload 5
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 19
18: aload 0
iconst_1
putfield sun.nio.ch.sctp.SctpChannelImpl.wildcard:Z
end local 7 end local 6 end local 5 19: StackMap locals:
StackMap stack:
aload 4
monitorexit
20: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
21: aload 4
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
aload 3
monitorexit
24: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
25: aload 3
monitorexit
26: athrow
27: StackMap locals:
StackMap stack:
aload 2
monitorexit
28: goto 31
StackMap locals:
StackMap stack: java.lang.Throwable
29: aload 2
monitorexit
30: athrow
31: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 32 1 local Ljava/net/SocketAddress;
10 19 5 isa Ljava/net/InetSocketAddress;
11 19 6 sm Ljava/lang/SecurityManager;
15 19 7 boundIsa Ljava/net/InetSocketAddress;
Exception table:
from to target type
3 20 21 any
21 22 21 any
2 24 25 any
25 26 25 any
1 28 29 any
29 30 29 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
local
public com.sun.nio.sctp.SctpChannel bindAddress(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Lcom/sun/nio/sctp/SctpChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.bindUnbindAddress:(Ljava/net/InetAddress;Z)Lcom/sun/nio/sctp/SctpChannel;
pop
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
new java.net.InetSocketAddress
dup
aload 1
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.port:I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 3 1 address Ljava/net/InetAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
address
public com.sun.nio.sctp.SctpChannel unbindAddress(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Lcom/sun/nio/sctp/SctpChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.bindUnbindAddress:(Ljava/net/InetAddress;Z)Lcom/sun/nio/sctp/SctpChannel;
pop
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
new java.net.InetSocketAddress
dup
aload 1
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.port:I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 3 1 address Ljava/net/InetAddress;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
address
private com.sun.nio.sctp.SctpChannel bindUnbindAddress(java.net.InetAddress, boolean);
descriptor: (Ljava/net/InetAddress;Z)Lcom/sun/nio/sctp/SctpChannel;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
dup
astore 3
monitorenter
3: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
dup
astore 4
monitorenter
4: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 5
monitorenter
5: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 7
6: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
7: StackMap locals: java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBound:()Z
ifne 9
8: new java.nio.channels.NotYetBoundException
dup
invokespecial java.nio.channels.NotYetBoundException.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.wildcard:Z
ifeq 13
10: new java.lang.IllegalStateException
dup
11: ldc "Cannot add or remove addresses from a channel that is bound to the wildcard address"
12: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 17
14: new java.lang.IllegalArgumentException
dup
15: ldc "Cannot add or remove the wildcard address"
16: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
iload 2
ifeq 24
18: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 7
goto 22
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object top java.util.Iterator
StackMap stack:
19: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetSocketAddress
astore 6
start local 6 20: aload 6
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
aload 1
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 22
21: invokestatic sun.nio.ch.sctp.SctpNet.throwAlreadyBoundException:()Z
pop
end local 6 22: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
23: goto 35
24: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
invokevirtual java.util.HashSet.size:()I
iconst_1
if_icmpgt 26
25: new com.sun.nio.sctp.IllegalUnbindException
dup
ldc "Cannot remove address from a channel with only one address bound"
invokespecial com.sun.nio.sctp.IllegalUnbindException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 27: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 8
goto 32
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object int top java.util.Iterator
StackMap stack:
28: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetSocketAddress
astore 7
start local 7 29: aload 7
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
aload 1
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 32
30: iconst_1
istore 6
31: goto 33
end local 7 32: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
33: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object int
StackMap stack:
iload 6
ifne 35
34: new com.sun.nio.sctp.IllegalUnbindException
dup
ldc "Cannot remove address from a channel that is not bound to that address"
invokespecial com.sun.nio.sctp.IllegalUnbindException.<init>:(Ljava/lang/String;)V
athrow
end local 6 35: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
iconst_1
anewarray java.net.InetAddress
dup
iconst_0
aload 1
aastore
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.port:I
iload 2
invokestatic sun.nio.ch.sctp.SctpNet.bindx:(I[Ljava/net/InetAddress;IZ)V
36: iload 2
ifeq 38
37: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
new java.net.InetSocketAddress
dup
aload 1
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.port:I
invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
goto 44
38: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 7
goto 43
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object top java.util.Iterator
StackMap stack:
39: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetSocketAddress
astore 6
start local 6 40: aload 6
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
aload 1
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 43
41: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
aload 6
invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
pop
42: goto 44
end local 6 43: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
44: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
aload 5
monitorexit
45: goto 48
StackMap locals:
StackMap stack: java.lang.Throwable
46: aload 5
monitorexit
47: athrow
48: StackMap locals:
StackMap stack:
aload 4
monitorexit
49: goto 52
StackMap locals:
StackMap stack: java.lang.Throwable
50: aload 4
monitorexit
51: athrow
52: StackMap locals:
StackMap stack:
aload 3
monitorexit
53: goto 56
StackMap locals:
StackMap stack: java.lang.Throwable
54: aload 3
monitorexit
55: athrow
56: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 57 1 address Ljava/net/InetAddress;
0 57 2 add Z
20 22 6 addr Ljava/net/InetSocketAddress;
27 35 6 foundAddress Z
29 32 7 addr Ljava/net/InetSocketAddress;
40 43 6 addr Ljava/net/InetSocketAddress;
Exception table:
from to target type
5 45 46 any
46 47 46 any
4 49 50 any
50 51 50 any
3 53 54 any
54 55 54 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
address
add
private boolean isBound();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.port:I
iconst_m1
if_icmpne 2
iconst_0
goto 3
StackMap locals: java.lang.Object
StackMap stack:
2: iconst_1
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/sctp/SctpChannelImpl;
Exception table:
from to target type
1 4 5 any
5 6 5 any
private boolean isConnected();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.CONNECTED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 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/sctp/SctpChannelImpl;
Exception table:
from to target type
1 4 5 any
5 6 5 any
private void ensureOpenAndUnconnected();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 3
2: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
ifeq 5
4: new java.nio.channels.AlreadyConnectedException
dup
invokespecial java.nio.channels.AlreadyConnectedException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.PENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 7
6: new java.nio.channels.ConnectionPendingException
dup
invokespecial java.nio.channels.ConnectionPendingException.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
1 8 9 any
9 10 9 any
Exceptions:
throws java.io.IOException
private boolean ensureReceiveOpen();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 3
2: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
ifne 5
4: new java.nio.channels.NotYetConnectedException
dup
invokespecial java.nio.channels.NotYetConnectedException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 1
monitorexit
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
8: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
1 6 7 any
7 8 7 any
Exceptions:
throws java.nio.channels.ClosedChannelException
private void ensureSendOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 3
2: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.isShutdown:Z
ifeq 5
4: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
ifne 7
6: new java.nio.channels.NotYetConnectedException
dup
invokespecial java.nio.channels.NotYetConnectedException.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
1 8 9 any
9 10 9 any
Exceptions:
throws java.nio.channels.ClosedChannelException
private void receiverCleanup();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
lconst_0
putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
2: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.KILLPENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 4
3: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
4: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
1 5 6 any
6 7 6 any
Exceptions:
throws java.io.IOException
private void senderCleanup();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
lconst_0
putfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
2: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.KILLPENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 4
3: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
4: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
1 5 6 any
6 7 6 any
Exceptions:
throws java.io.IOException
public com.sun.nio.sctp.Association association();
descriptor: ()Lcom/sun/nio/sctp/Association;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 3
2: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
ifne 6
4: aload 1
monitorexit
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
aload 1
monitorexit
7: areturn
8: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
9: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
1 5 8 any
6 7 8 any
8 9 8 any
Exceptions:
throws java.nio.channels.ClosedChannelException
public boolean connect(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureOpenAndUnconnected:()V
3: aload 1
invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
astore 4
start local 4 4: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 5
start local 5 5: aload 5
ifnull 9
6: aload 5
aload 4
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
7: aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
8: invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
9: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.blockingLock:()Ljava/lang/Object;
dup
astore 6
monitorenter
10: iconst_0
istore 7
start local 7 11: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.begin:()V
12: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 8
monitorenter
13: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 24
14: aload 8
monitorexit
15: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
16: aload 0
iload 7
ifgt 17
iload 7
bipush -2
if_icmpeq 17
iconst_0
goto 18
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int java.lang.Object
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
17: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int java.lang.Object
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
18: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
19: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 20
iload 7
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
20: aload 6
monitorexit
21: aload 3
monitorexit
22: aload 2
monitorexit
23: iconst_0
ireturn
24: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.nio.ch.NativeThread.current:()J
putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
25: aload 8
monitorexit
26: goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
27: aload 8
monitorexit
28: athrow
29: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
astore 8
start local 8 30: aload 8
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 32
31: invokestatic java.net.InetAddress.getLocalHost:()Ljava/net/InetAddress;
astore 8
32: StackMap locals: java.net.InetAddress
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
aload 8
aload 4
invokevirtual java.net.InetSocketAddress.getPort:()I
invokestatic sun.nio.ch.sctp.SctpNet.connect:(ILjava/net/InetAddress;I)I
istore 7
33: iload 7
bipush -3
if_icmpne 43
34: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifeq 43
end local 8 35: goto 29
36: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int
StackMap stack: java.lang.Throwable
astore 9
37: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
38: aload 0
iload 7
ifgt 39
iload 7
bipush -2
if_icmpeq 39
iconst_0
goto 40
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int top java.lang.Throwable
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
39: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int top java.lang.Throwable
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
40: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
41: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 42
iload 7
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 42
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
42: StackMap locals:
StackMap stack:
aload 9
athrow
43: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
44: aload 0
iload 7
ifgt 45
iload 7
bipush -2
if_icmpeq 45
iconst_0
goto 46
StackMap locals:
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
45: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
46: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
47: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 51
iload 7
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 51
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
48: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 49: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.close:()V
50: aload 8
athrow
end local 8 51: StackMap locals:
StackMap stack:
iload 7
ifle 75
52: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 8
monitorenter
53: aload 0
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.CONNECTED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
putfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
54: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBound:()Z
ifne 58
55: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
56: astore 9
start local 9 57: aload 0
aload 9
invokevirtual java.net.InetSocketAddress.getPort:()I
putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
end local 9 58: StackMap locals: java.lang.Object
StackMap stack:
bipush 50
invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
astore 9
start local 9 59: aload 0
aload 9
aconst_null
aconst_null
iconst_1
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receive:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler;Z)Lcom/sun/nio/sctp/MessageInfo;
pop
60: goto 64
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int java.lang.Object java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
61: astore 10
62: aload 9
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
63: aload 10
athrow
64: StackMap locals:
StackMap stack:
aload 9
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
65: aload 0
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.getRemoteAddresses:()Ljava/util/Set;
putfield sun.nio.ch.sctp.SctpChannelImpl.remoteAddresses:Ljava/util/Set;
66: goto 68
StackMap locals:
StackMap stack: java.io.IOException
67: pop
68: StackMap locals:
StackMap stack:
aload 8
monitorexit
69: aload 6
monitorexit
70: aload 3
monitorexit
71: aload 2
monitorexit
72: iconst_1
ireturn
end local 9 73: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object java.net.InetSocketAddress java.lang.SecurityManager java.lang.Object int java.lang.Object
StackMap stack: java.lang.Throwable
aload 8
monitorexit
74: athrow
75: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 8
monitorenter
76: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBlocking:()Z
ifne 78
77: aload 0
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.PENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
putfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
goto 79
78: StackMap locals: java.lang.Object
StackMap stack:
getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 79
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
79: StackMap locals:
StackMap stack:
aload 8
monitorexit
80: goto 83
StackMap locals:
StackMap stack: java.lang.Throwable
81: aload 8
monitorexit
82: athrow
end local 7 83: StackMap locals:
StackMap stack:
aload 6
monitorexit
84: goto 87
StackMap locals:
StackMap stack: java.lang.Throwable
85: aload 6
monitorexit
86: athrow
87: StackMap locals:
StackMap stack:
aload 3
monitorexit
88: aload 2
monitorexit
89: iconst_0
ireturn
end local 5 end local 4 90: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
91: athrow
92: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.SocketAddress java.lang.Object
StackMap stack: java.lang.Throwable
aload 2
monitorexit
93: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 94 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 94 1 endpoint Ljava/net/SocketAddress;
4 90 4 isa Ljava/net/InetSocketAddress;
5 90 5 sm Ljava/lang/SecurityManager;
11 83 7 n I
30 35 8 ia Ljava/net/InetAddress;
49 51 8 x Ljava/io/IOException;
57 58 9 boundIsa Ljava/net/InetSocketAddress;
59 73 9 buf Ljava/nio/ByteBuffer;
Exception table:
from to target type
13 15 27 any
24 26 27 any
27 28 27 any
11 15 36 any
24 36 36 any
11 20 48 Class java.io.IOException
24 48 48 Class java.io.IOException
59 61 61 any
65 66 67 Class java.io.IOException
53 69 73 any
73 74 73 any
76 80 81 any
81 82 81 any
10 21 85 any
24 70 85 any
73 84 85 any
85 86 85 any
2 22 90 any
24 71 90 any
73 88 90 any
90 91 90 any
1 23 92 any
24 72 92 any
73 89 92 any
90 93 92 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
endpoint
public boolean connect(java.net.SocketAddress, int, int);
descriptor: (Ljava/net/SocketAddress;II)Z
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 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureOpenAndUnconnected:()V
1: aload 0
getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_INIT_MAXSTREAMS:Lcom/sun/nio/sctp/SctpSocketOption;
2: iload 3
iload 2
invokestatic com.sun.nio.sctp.SctpStandardSocketOptions$InitMaxStreams.create:(II)Lcom/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams;
3: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.setOption:(Lcom/sun/nio/sctp/SctpSocketOption;Ljava/lang/Object;)Lcom/sun/nio/sctp/SctpChannel;
4: aload 1
invokevirtual com.sun.nio.sctp.SctpChannel.connect:(Ljava/net/SocketAddress;)Z
5: ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 6 1 endpoint Ljava/net/SocketAddress;
0 6 2 maxOutStreams I
0 6 3 maxInStreams I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
endpoint
maxOutStreams
maxInStreams
public boolean isConnectionPending();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.PENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 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/sctp/SctpChannelImpl;
Exception table:
from to target type
1 4 5 any
5 6 5 any
public boolean finishConnect();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
dup
astore 2
monitorenter
2: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
3: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 5
4: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
5: StackMap locals: java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
ifeq 10
6: aload 3
monitorexit
7: aload 2
monitorexit
8: aload 1
monitorexit
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.PENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpeq 12
11: new java.nio.channels.NoConnectionPendingException
dup
invokespecial java.nio.channels.NoConnectionPendingException.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 3
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 3
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 17: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.begin:()V
18: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.blockingLock:()Ljava/lang/Object;
dup
astore 4
monitorenter
19: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 5
monitorenter
20: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 39
21: aload 5
monitorexit
22: aload 4
monitorexit
23: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 7
monitorenter
24: aload 0
lconst_0
putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
25: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.KILLPENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 28
26: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
27: iconst_0
istore 3
28: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int java.lang.Object java.lang.Object top java.lang.Object
StackMap stack:
aload 7
monitorexit
29: goto 32
StackMap locals:
StackMap stack: java.lang.Throwable
30: aload 7
monitorexit
31: athrow
32: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int java.lang.Object java.lang.Object
StackMap stack:
aload 0
iload 3
ifgt 33
iload 3
bipush -2
if_icmpeq 33
iconst_0
goto 34
StackMap locals:
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
33: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int java.lang.Object java.lang.Object
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
34: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
35: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 36
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
36: aload 2
monitorexit
37: aload 1
monitorexit
38: iconst_0
ireturn
39: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.nio.ch.NativeThread.current:()J
putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
40: aload 5
monitorexit
41: goto 44
StackMap locals:
StackMap stack: java.lang.Throwable
42: aload 5
monitorexit
43: athrow
44: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBlocking:()Z
ifne 49
45: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
iconst_0
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.readyToConnect:Z
invokestatic sun.nio.ch.sctp.SctpChannelImpl.checkConnect:(Ljava/io/FileDescriptor;ZZ)I
istore 3
46: iload 3
bipush -3
if_icmpne 55
47: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifeq 55
48: goto 45
49: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
iconst_1
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.readyToConnect:Z
invokestatic sun.nio.ch.sctp.SctpChannelImpl.checkConnect:(Ljava/io/FileDescriptor;ZZ)I
istore 3
50: iload 3
ifne 52
51: goto 49
52: StackMap locals:
StackMap stack:
iload 3
bipush -3
if_icmpne 55
53: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifeq 55
54: goto 49
55: StackMap locals:
StackMap stack:
aload 4
monitorexit
56: goto 74
StackMap locals:
StackMap stack: java.lang.Throwable
57: aload 4
monitorexit
58: athrow
59: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int
StackMap stack: java.lang.Throwable
astore 6
60: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 7
monitorenter
61: aload 0
lconst_0
putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
62: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.KILLPENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 65
63: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
64: iconst_0
istore 3
65: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int top top java.lang.Throwable java.lang.Object
StackMap stack:
aload 7
monitorexit
66: goto 69
StackMap locals:
StackMap stack: java.lang.Throwable
67: aload 7
monitorexit
68: athrow
69: StackMap locals:
StackMap stack:
aload 0
iload 3
ifgt 70
iload 3
bipush -2
if_icmpeq 70
iconst_0
goto 71
StackMap locals:
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
70: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int top top java.lang.Throwable
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
71: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
72: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 73
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 73
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
73: StackMap locals:
StackMap stack:
aload 6
athrow
74: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 7
monitorenter
75: aload 0
lconst_0
putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
76: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.KILLPENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 79
77: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
78: iconst_0
istore 3
79: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int top top top java.lang.Object
StackMap stack:
aload 7
monitorexit
80: goto 83
StackMap locals:
StackMap stack: java.lang.Throwable
81: aload 7
monitorexit
82: athrow
83: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int
StackMap stack:
aload 0
iload 3
ifgt 84
iload 3
bipush -2
if_icmpeq 84
iconst_0
goto 85
StackMap locals:
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
84: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
85: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
86: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 90
iload 3
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 90
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
87: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 88: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.close:()V
89: aload 4
athrow
end local 4 90: StackMap locals:
StackMap stack:
iload 3
ifle 113
91: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 4
monitorenter
92: aload 0
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.CONNECTED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
putfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
93: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBound:()Z
ifne 97
94: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
95: astore 5
start local 5 96: aload 0
aload 5
invokevirtual java.net.InetSocketAddress.getPort:()I
putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
end local 5 97: StackMap locals: java.lang.Object
StackMap stack:
bipush 50
invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
astore 5
start local 5 98: aload 0
aload 5
aconst_null
aconst_null
iconst_1
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receive:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler;Z)Lcom/sun/nio/sctp/MessageInfo;
pop
99: goto 103
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int java.lang.Object java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
100: astore 6
101: aload 5
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
102: aload 6
athrow
103: StackMap locals:
StackMap stack:
aload 5
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
104: aload 0
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.getRemoteAddresses:()Ljava/util/Set;
putfield sun.nio.ch.sctp.SctpChannelImpl.remoteAddresses:Ljava/util/Set;
105: goto 107
StackMap locals:
StackMap stack: java.io.IOException
106: pop
107: StackMap locals:
StackMap stack:
aload 4
monitorexit
108: aload 2
monitorexit
109: aload 1
monitorexit
110: iconst_1
ireturn
end local 5 111: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int java.lang.Object
StackMap stack: java.lang.Throwable
aload 4
monitorexit
112: athrow
end local 3 113: StackMap locals:
StackMap stack:
aload 2
monitorexit
114: goto 117
StackMap locals:
StackMap stack: java.lang.Throwable
115: aload 2
monitorexit
116: athrow
117: StackMap locals:
StackMap stack:
aload 1
monitorexit
118: goto 121
StackMap locals:
StackMap stack: java.lang.Throwable
119: aload 1
monitorexit
120: athrow
121: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 122 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
17 113 3 n I
88 90 4 x Ljava/io/IOException;
96 97 5 boundIsa Ljava/net/InetSocketAddress;
98 111 5 buf Ljava/nio/ByteBuffer;
Exception table:
from to target type
3 7 14 any
10 13 14 any
14 15 14 any
24 29 30 any
30 31 30 any
20 22 42 any
39 41 42 any
42 43 42 any
19 23 57 any
39 56 57 any
57 58 57 any
17 23 59 any
39 59 59 any
61 66 67 any
67 68 67 any
75 80 81 any
81 82 81 any
17 36 87 Class java.io.IOException
39 87 87 Class java.io.IOException
98 100 100 any
104 105 106 Class java.io.IOException
92 108 111 any
111 112 111 any
2 8 115 any
10 37 115 any
39 109 115 any
111 114 115 any
115 116 115 any
1 9 119 any
10 38 119 any
39 110 119 any
111 118 119 any
119 120 119 any
Exceptions:
throws java.io.IOException
protected void implConfigureBlocking(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
iload 1
invokestatic sun.nio.ch.IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 2 1 block Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
public void implCloseSelectableChannel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
invokestatic sun.nio.ch.sctp.SctpNet.preClose:(I)V
2: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
lconst_0
lcmp
ifeq 4
3: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
invokestatic sun.nio.ch.NativeThread.signal:(J)V
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
lconst_0
lcmp
ifeq 6
5: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
invokestatic sun.nio.ch.NativeThread.signal:(J)V
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isRegistered:()Z
ifne 8
7: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
8: StackMap locals:
StackMap stack:
aload 1
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
1 9 10 any
10 11 10 any
Exceptions:
throws java.io.IOException
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.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
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.sctp.SctpChannelImpl.fdVal:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
private boolean translateReadyOps(int, int, sun.nio.ch.SelectionKeyImpl);
descriptor: (IILsun/nio/ch/SelectionKeyImpl;)Z
flags: (0x0002) ACC_PRIVATE
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 11
6: iload 4
istore 6
7: aload 3
iload 6
invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:(I)V
8: aload 0
iconst_1
putfield sun.nio.ch.sctp.SctpChannelImpl.readyToConnect:Z
9: iload 6
iload 5
iconst_m1
ixor
iand
ifeq 10
iconst_1
ireturn
StackMap locals:
StackMap stack:
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
iload 1
getstatic sun.nio.ch.Net.POLLIN:S
iand
ifeq 15
12: iload 4
iconst_1
iand
ifeq 15
13: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
ifeq 15
14: iload 6
iconst_1
ior
istore 6
15: StackMap locals:
StackMap stack:
iload 1
getstatic sun.nio.ch.Net.POLLCONN:S
iand
ifeq 20
16: iload 4
bipush 8
iand
ifeq 20
17: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.UNCONNECTED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpeq 18
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.PENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 20
18: StackMap locals:
StackMap stack:
iload 6
bipush 8
ior
istore 6
19: aload 0
iconst_1
putfield sun.nio.ch.sctp.SctpChannelImpl.readyToConnect:Z
20: StackMap locals:
StackMap stack:
iload 1
getstatic sun.nio.ch.Net.POLLOUT:S
iand
ifeq 24
21: iload 4
iconst_4
iand
ifeq 24
22: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
ifeq 24
23: iload 6
iconst_4
ior
istore 6
24: StackMap locals:
StackMap stack:
aload 3
iload 6
invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:(I)V
25: iload 6
iload 5
iconst_m1
ixor
iand
ifeq 26
iconst_1
ireturn
StackMap locals:
StackMap stack:
26: 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 27 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 27 1 ops I
0 27 2 initialOps I
0 27 3 sk Lsun/nio/ch/SelectionKeyImpl;
1 27 4 intOps I
2 27 5 oldOps I
3 27 6 newOps I
MethodParameters:
Name Flags
ops
initialOps
sk
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.sctp.SctpChannelImpl.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/sctp/SctpChannelImpl;
0 1 1 ops I
0 1 2 sk Lsun/nio/ch/SelectionKeyImpl;
MethodParameters:
Name Flags
ops
sk
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.sctp.SctpChannelImpl.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/sctp/SctpChannelImpl;
0 1 1 ops I
0 1 2 sk Lsun/nio/ch/SelectionKeyImpl;
MethodParameters:
Name Flags
ops
sk
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.POLLCONN: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/sctp/SctpChannelImpl;
0 8 1 ops I
1 8 2 newOps I
MethodParameters:
Name Flags
ops
public void kill();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.KILLED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 4
2: aload 1
monitorexit
3: return
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.UNINITIALIZED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
if_acmpne 8
5: aload 0
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.KILLED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
putfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
6: aload 1
monitorexit
7: return
8: StackMap locals:
StackMap stack:
getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 10
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 9
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isRegistered:()Z
ifeq 10
StackMap locals:
StackMap stack:
9: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
lconst_0
lcmp
ifne 14
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
lconst_0
lcmp
ifne 14
11: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
invokestatic sun.nio.ch.sctp.SctpNet.close:(I)V
12: aload 0
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.KILLED:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
putfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
getstatic sun.nio.ch.sctp.SctpChannelImpl$ChannelState.KILLPENDING:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
putfield sun.nio.ch.sctp.SctpChannelImpl.state:Lsun/nio/ch/sctp/SctpChannelImpl$ChannelState;
15: StackMap locals:
StackMap stack:
aload 1
monitorexit
16: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 1
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
1 3 17 any
4 7 17 any
8 16 17 any
17 18 17 any
Exceptions:
throws java.io.IOException
public <T> com.sun.nio.sctp.SctpChannel setOption(com.sun.nio.sctp.SctpSocketOption<T>, T);
descriptor: (Lcom/sun/nio/sctp/SctpSocketOption;Ljava/lang/Object;)Lcom/sun/nio/sctp/SctpChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.supportedOptions:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 4
3: 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
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 3
monitorenter
5: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 7
6: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
7: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
aload 1
aload 2
iconst_0
invokestatic sun.nio.ch.sctp.SctpNet.setSocketOption:(ILcom/sun/nio/sctp/SctpSocketOption;Ljava/lang/Object;I)V
8: aload 3
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 13 1 name Lcom/sun/nio/sctp/SctpSocketOption<TT;>;
0 13 2 value TT;
Exception table:
from to target type
5 9 10 any
10 11 10 any
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lcom/sun/nio/sctp/SctpSocketOption<TT;>;TT;)Lcom/sun/nio/sctp/SctpChannel;
MethodParameters:
Name Flags
name
value
public <T> T getOption(com.sun.nio.sctp.SctpSocketOption<T>);
descriptor: (Lcom/sun/nio/sctp/SctpSocketOption;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.supportedOptions:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 4
3: 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
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 2
monitorenter
5: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 7
6: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
7: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
aload 1
iconst_0
invokestatic sun.nio.ch.sctp.SctpNet.getSocketOption:(ILcom/sun/nio/sctp/SctpSocketOption;I)Ljava/lang/Object;
aload 2
monitorexit
8: areturn
9: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
10: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 11 1 name Lcom/sun/nio/sctp/SctpSocketOption<TT;>;
Exception table:
from to target type
5 8 9 any
9 10 9 any
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lcom/sun/nio/sctp/SctpSocketOption<TT;>;)TT;
MethodParameters:
Name Flags
name
public final java.util.Set<com.sun.nio.sctp.SctpSocketOption<?>> 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.sctp.SctpChannelImpl$DefaultOptionsHolder.defaultOptions:Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Signature: ()Ljava/util/Set<Lcom/sun/nio/sctp/SctpSocketOption<*>;>;
public <T> com.sun.nio.sctp.MessageInfo receive(java.nio.ByteBuffer, T, com.sun.nio.sctp.NotificationHandler<T>);
descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler;)Lcom/sun/nio/sctp/MessageInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receive:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler;Z)Lcom/sun/nio/sctp/MessageInfo;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 1 1 buffer Ljava/nio/ByteBuffer;
0 1 2 attachment TT;
0 1 3 handler Lcom/sun/nio/sctp/NotificationHandler<TT;>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/nio/ByteBuffer;TT;Lcom/sun/nio/sctp/NotificationHandler<TT;>;)Lcom/sun/nio/sctp/MessageInfo;
MethodParameters:
Name Flags
buffer
attachment
handler
private <T> com.sun.nio.sctp.MessageInfo receive(java.nio.ByteBuffer, T, com.sun.nio.sctp.NotificationHandler<T>, boolean);
descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/Object;Lcom/sun/nio/sctp/NotificationHandler;Z)Lcom/sun/nio/sctp/MessageInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "buffer cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
ifeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "Read-only buffer"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 8
5: new com.sun.nio.sctp.IllegalReceiveException
dup
6: ldc "cannot invoke receive from handler"
7: invokespecial com.sun.nio.sctp.IllegalReceiveException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
9: new sun.nio.ch.sctp.ResultContainer
dup
invokespecial sun.nio.ch.sctp.ResultContainer.<init>:()V
astore 5
start local 5 10: StackMap locals: sun.nio.ch.sctp.ResultContainer
StackMap stack:
aload 5
invokevirtual sun.nio.ch.sctp.ResultContainer.clear:()V
11: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
dup
astore 6
monitorenter
12: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureReceiveOpen:()Z
ifne 16
13: aload 6
monitorexit
14: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
15: aconst_null
areturn
16: StackMap locals: java.lang.Object
StackMap stack:
iconst_0
istore 7
start local 7 17: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.begin:()V
18: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 8
monitorenter
19: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 29
20: aload 8
monitorexit
21: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
22: aload 0
iload 7
ifgt 23
iload 7
bipush -2
if_icmpeq 23
iconst_0
goto 24
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler int sun.nio.ch.sctp.ResultContainer java.lang.Object int java.lang.Object
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
23: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler int sun.nio.ch.sctp.ResultContainer java.lang.Object int java.lang.Object
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
24: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
25: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 26
iload 7
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
26: aload 6
monitorexit
27: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
28: aconst_null
areturn
29: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.nio.ch.NativeThread.current:()J
putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
30: aload 8
monitorexit
31: goto 34
StackMap locals:
StackMap stack: java.lang.Throwable
32: aload 8
monitorexit
33: athrow
34: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
aload 1
aload 5
iload 4
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receive:(ILjava/nio/ByteBuffer;Lsun/nio/ch/sctp/ResultContainer;Z)I
istore 7
35: iload 7
bipush -3
if_icmpne 44
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 34
36: goto 44
StackMap locals:
StackMap stack: java.lang.Throwable
37: astore 9
38: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
39: aload 0
iload 7
ifgt 40
iload 7
bipush -2
if_icmpeq 40
iconst_0
goto 41
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler int sun.nio.ch.sctp.ResultContainer java.lang.Object int top java.lang.Throwable
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
40: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler int sun.nio.ch.sctp.ResultContainer java.lang.Object int top java.lang.Throwable
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
41: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
42: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 43
iload 7
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 43
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
43: StackMap locals:
StackMap stack:
aload 9
athrow
44: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler int sun.nio.ch.sctp.ResultContainer java.lang.Object int
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
45: aload 0
iload 7
ifgt 46
iload 7
bipush -2
if_icmpeq 46
iconst_0
goto 47
StackMap locals:
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
46: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler int sun.nio.ch.sctp.ResultContainer java.lang.Object int
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
47: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
48: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 49
iload 7
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 49
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
49: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.nio.ch.sctp.ResultContainer.isNotification:()Z
ifne 66
50: aload 5
invokevirtual sun.nio.ch.sctp.ResultContainer.hasSomething:()Z
ifeq 63
51: aload 5
invokevirtual sun.nio.ch.sctp.ResultContainer.getMessageInfo:()Lsun/nio/ch/sctp/MessageInfoImpl;
52: astore 8
start local 8 53: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 9
monitorenter
54: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 55
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
ifnonnull 55
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
55: StackMap locals: sun.nio.ch.sctp.MessageInfoImpl java.lang.Object
StackMap stack:
aload 8
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
invokevirtual sun.nio.ch.sctp.MessageInfoImpl.setAssociation:(Lcom/sun/nio/sctp/Association;)V
56: aload 9
monitorexit
57: goto 60
StackMap locals:
StackMap stack: java.lang.Throwable
58: aload 9
monitorexit
59: athrow
60: StackMap locals:
StackMap stack:
aload 8
astore 11
aload 6
monitorexit
61: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
62: aload 11
areturn
end local 8 63: StackMap locals:
StackMap stack:
aload 6
monitorexit
64: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
65: aconst_null
areturn
66: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 8
monitorenter
67: aload 0
68: aload 5
69: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.handleNotificationInternal:(Lsun/nio/ch/sctp/ResultContainer;)V
70: aload 8
monitorexit
71: goto 74
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler int sun.nio.ch.sctp.ResultContainer java.lang.Object int java.lang.Object
StackMap stack: java.lang.Throwable
72: aload 8
monitorexit
73: athrow
74: StackMap locals:
StackMap stack:
iload 4
ifeq 78
75: aload 6
monitorexit
76: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
77: aconst_null
areturn
end local 7 78: StackMap locals:
StackMap stack:
aload 6
monitorexit
79: goto 82
StackMap locals:
StackMap stack: java.lang.Throwable
80: aload 6
monitorexit
81: athrow
82: StackMap locals:
StackMap stack:
aload 3
ifnonnull 83
goto 10
83: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 3
aload 2
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.invokeNotificationHandler:(Lsun/nio/ch/sctp/ResultContainer;Lcom/sun/nio/sctp/NotificationHandler;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
84: getstatic com.sun.nio.sctp.HandlerResult.CONTINUE:Lcom/sun/nio/sctp/HandlerResult;
85: if_acmpeq 10
86: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
87: aconst_null
areturn
end local 5 88: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer java.lang.Object com.sun.nio.sctp.NotificationHandler int
StackMap stack: java.lang.Throwable
astore 10
89: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.receiveInvoked:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
90: aload 10
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 91 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 91 1 buffer Ljava/nio/ByteBuffer;
0 91 2 attachment TT;
0 91 3 handler Lcom/sun/nio/sctp/NotificationHandler<TT;>;
0 91 4 fromConnect Z
10 88 5 resultContainer Lsun/nio/ch/sctp/ResultContainer;
17 78 7 n I
53 63 8 info Lsun/nio/ch/sctp/MessageInfoImpl;
Exception table:
from to target type
19 21 32 any
29 31 32 any
32 33 32 any
17 21 37 any
29 37 37 any
54 57 58 any
58 59 58 any
67 71 72 any
72 73 72 any
12 14 80 any
16 27 80 any
29 61 80 any
63 64 80 any
66 76 80 any
78 79 80 any
80 81 80 any
9 14 88 any
16 27 88 any
29 61 88 any
63 64 88 any
66 76 88 any
78 86 88 any
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/nio/ByteBuffer;TT;Lcom/sun/nio/sctp/NotificationHandler<TT;>;Z)Lcom/sun/nio/sctp/MessageInfo;
MethodParameters:
Name Flags
buffer
attachment
handler
fromConnect
private int receive(int, java.nio.ByteBuffer, sun.nio.ch.sctp.ResultContainer, boolean);
descriptor: (ILjava/nio/ByteBuffer;Lsun/nio/ch/sctp/ResultContainer;Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 5
start local 5 1: aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
istore 6
start local 6 2: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 3
iload 5
iload 6
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int int
StackMap stack:
iload 5
iload 6
if_icmpgt 4
iload 6
iload 5
isub
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 7
start local 7 6: aload 2
instanceof sun.nio.ch.DirectBuffer
ifeq 8
iload 7
ifle 8
7: aload 0
iload 1
aload 3
aload 2
iload 7
iload 5
iload 4
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiveIntoNativeBuffer:(ILsun/nio/ch/sctp/ResultContainer;Ljava/nio/ByteBuffer;IIZ)I
ireturn
8: StackMap locals: int
StackMap stack:
iload 7
iconst_1
invokestatic java.lang.Math.max:(II)I
istore 8
start local 8 9: iload 8
invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
astore 9
start local 9 10: aload 0
iload 1
aload 3
aload 9
iload 8
iconst_0
iload 4
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiveIntoNativeBuffer:(ILsun/nio/ch/sctp/ResultContainer;Ljava/nio/ByteBuffer;IIZ)I
istore 10
start local 10 11: aload 9
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
12: iload 10
ifle 14
iload 7
ifle 14
13: aload 2
aload 9
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
14: StackMap locals: int java.nio.ByteBuffer int
StackMap stack:
iload 10
istore 12
15: aload 9
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
16: iload 12
ireturn
end local 10 17: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl int java.nio.ByteBuffer sun.nio.ch.sctp.ResultContainer int int int int int java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 11
18: aload 9
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
19: aload 11
athrow
end local 9 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/sctp/SctpChannelImpl;
0 20 1 fd I
0 20 2 dst Ljava/nio/ByteBuffer;
0 20 3 resultContainer Lsun/nio/ch/sctp/ResultContainer;
0 20 4 peek Z
1 20 5 pos I
2 20 6 lim I
6 20 7 rem I
9 20 8 newSize I
10 20 9 bb Ljava/nio/ByteBuffer;
11 17 10 n I
Exception table:
from to target type
10 15 17 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
dst
resultContainer
peek
private int receiveIntoNativeBuffer(int, sun.nio.ch.sctp.ResultContainer, java.nio.ByteBuffer, int, int, boolean);
descriptor: (ILsun/nio/ch/sctp/ResultContainer;Ljava/nio/ByteBuffer;IIZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 1
aload 2
aload 3
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.address:()J
iload 5
i2l
ladd
iload 4
iload 6
invokestatic sun.nio.ch.sctp.SctpChannelImpl.receive0:(ILsun/nio/ch/sctp/ResultContainer;JIZ)I
istore 7
start local 7 1: iload 7
ifle 3
2: aload 3
iload 5
iload 7
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
3: StackMap locals: int
StackMap stack:
iload 7
ireturn
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 4 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 4 1 fd I
0 4 2 resultContainer Lsun/nio/ch/sctp/ResultContainer;
0 4 3 bb Ljava/nio/ByteBuffer;
0 4 4 rem I
0 4 5 pos I
0 4 6 peek Z
1 4 7 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
resultContainer
bb
rem
pos
peek
private void handleNotificationInternal(sun.nio.ch.sctp.ResultContainer);
descriptor: (Lsun/nio/ch/sctp/ResultContainer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.internalNotificationHandler:Lsun/nio/ch/sctp/SctpChannelImpl$InternalNotificationHandler;
aconst_null
2: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.invokeNotificationHandler:(Lsun/nio/ch/sctp/ResultContainer;Lcom/sun/nio/sctp/NotificationHandler;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 4 1 resultContainer Lsun/nio/ch/sctp/ResultContainer;
MethodParameters:
Name Flags
resultContainer
private <T> com.sun.nio.sctp.HandlerResult invokeNotificationHandler(sun.nio.ch.sctp.ResultContainer, com.sun.nio.sctp.NotificationHandler<T>, T);
descriptor: (Lsun/nio/ch/sctp/ResultContainer;Lcom/sun/nio/sctp/NotificationHandler;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual sun.nio.ch.sctp.ResultContainer.notification:()Lsun/nio/ch/sctp/SctpNotification;
astore 4
start local 4 1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 5
monitorenter
2: aload 4
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
invokeinterface sun.nio.ch.sctp.SctpNotification.setAssociation:(Lcom/sun/nio/sctp/Association;)V
3: aload 5
monitorexit
4: goto 7
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl sun.nio.ch.sctp.ResultContainer com.sun.nio.sctp.NotificationHandler java.lang.Object sun.nio.ch.sctp.SctpNotification java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 5
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
aload 2
instanceof com.sun.nio.sctp.AbstractNotificationHandler
ifne 9
8: aload 2
aload 4
aload 3
invokeinterface com.sun.nio.sctp.NotificationHandler.handleNotification:(Lcom/sun/nio/sctp/Notification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
areturn
9: StackMap locals:
StackMap stack:
aload 2
checkcast com.sun.nio.sctp.AbstractNotificationHandler
10: astore 5
start local 5 11: aload 1
invokevirtual sun.nio.ch.sctp.ResultContainer.type:()I
tableswitch { // 2 - 5
2: 18
3: 12
4: 15
5: 21
default: 24
}
12: StackMap locals: com.sun.nio.sctp.AbstractNotificationHandler
StackMap stack:
aload 5
13: aload 1
invokevirtual sun.nio.ch.sctp.ResultContainer.getAssociationChanged:()Lsun/nio/ch/sctp/AssociationChange;
aload 3
14: invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/AssociationChangeNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
areturn
15: StackMap locals:
StackMap stack:
aload 5
16: aload 1
invokevirtual sun.nio.ch.sctp.ResultContainer.getPeerAddressChanged:()Lsun/nio/ch/sctp/PeerAddrChange;
aload 3
17: invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/PeerAddressChangeNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
areturn
18: StackMap locals:
StackMap stack:
aload 5
19: aload 1
invokevirtual sun.nio.ch.sctp.ResultContainer.getSendFailed:()Lsun/nio/ch/sctp/SendFailed;
aload 3
20: invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/SendFailedNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
areturn
21: StackMap locals:
StackMap stack:
aload 5
22: aload 1
invokevirtual sun.nio.ch.sctp.ResultContainer.getShutdown:()Lsun/nio/ch/sctp/Shutdown;
aload 3
23: invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/ShutdownNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
areturn
24: StackMap locals:
StackMap stack:
aload 5
25: aload 1
invokevirtual sun.nio.ch.sctp.ResultContainer.notification:()Lsun/nio/ch/sctp/SctpNotification;
aload 3
26: invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/Notification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
areturn
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 27 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 27 1 resultContainer Lsun/nio/ch/sctp/ResultContainer;
0 27 2 handler Lcom/sun/nio/sctp/NotificationHandler<TT;>;
0 27 3 attachment TT;
1 27 4 notification Lsun/nio/ch/sctp/SctpNotification;
11 27 5 absHandler Lcom/sun/nio/sctp/AbstractNotificationHandler<TT;>;
Exception table:
from to target type
2 4 5 any
5 6 5 any
Signature: <T:Ljava/lang/Object;>(Lsun/nio/ch/sctp/ResultContainer;Lcom/sun/nio/sctp/NotificationHandler<TT;>;TT;)Lcom/sun/nio/sctp/HandlerResult;
MethodParameters:
Name Flags
resultContainer
handler
attachment
private void checkAssociation(com.sun.nio.sctp.Association);
descriptor: (Lcom/sun/nio/sctp/Association;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 1
ifnull 5
aload 1
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 5
2: new java.lang.IllegalArgumentException
dup
3: ldc "Cannot send to another association"
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 2
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 10 1 sendAssociation Lcom/sun/nio/sctp/Association;
Exception table:
from to target type
1 6 7 any
7 8 7 any
MethodParameters:
Name Flags
sendAssociation
private void checkStreamNumber(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
ifnull 5
2: iload 1
iflt 4
3: iload 1
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
invokevirtual com.sun.nio.sctp.Association.maxOutboundStreams:()I
if_icmplt 5
4: StackMap locals: java.lang.Object
StackMap stack:
new com.sun.nio.sctp.InvalidStreamException
dup
invokespecial com.sun.nio.sctp.InvalidStreamException.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 2
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 10 1 streamNumber I
Exception table:
from to target type
1 6 7 any
7 8 7 any
MethodParameters:
Name Flags
streamNumber
public int send(java.nio.ByteBuffer, com.sun.nio.sctp.MessageInfo);
descriptor: (Ljava/nio/ByteBuffer;Lcom/sun/nio/sctp/MessageInfo;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "buffer cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "messageInfo cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.nio.sctp.MessageInfo.association:()Lcom/sun/nio/sctp/Association;
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.checkAssociation:(Lcom/sun/nio/sctp/Association;)V
5: aload 0
aload 2
invokevirtual com.sun.nio.sctp.MessageInfo.streamNumber:()I
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.checkStreamNumber:(I)V
6: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
dup
astore 3
monitorenter
7: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureSendOpen:()V
8: iconst_0
istore 4
start local 4 9: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.begin:()V
10: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 5
monitorenter
11: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 20
12: aload 5
monitorexit
13: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.senderCleanup:()V
14: aload 0
iload 4
ifgt 15
iload 4
bipush -2
if_icmpeq 15
iconst_0
goto 16
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int java.lang.Object
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
15: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int java.lang.Object
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
16: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
17: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 18
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
StackMap locals:
StackMap stack:
18: aload 3
monitorexit
19: iconst_0
ireturn
20: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.nio.ch.NativeThread.current:()J
putfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
21: aload 5
monitorexit
22: goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
23: aload 5
monitorexit
24: athrow
25: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
aload 1
aload 2
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.send:(ILjava/nio/ByteBuffer;Lcom/sun/nio/sctp/MessageInfo;)I
istore 4
26: iload 4
bipush -3
if_icmpne 27
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 25
27: StackMap locals:
StackMap stack:
iload 4
invokestatic sun.nio.ch.IOStatus.normalize:(I)I
istore 7
28: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.senderCleanup:()V
29: aload 0
iload 4
ifgt 30
iload 4
bipush -2
if_icmpeq 30
iconst_0
goto 31
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int top top int
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
30: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int top top int
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
31: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
32: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 33
iload 4
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 3
monitorexit
34: iload 7
ireturn
35: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int
StackMap stack: java.lang.Throwable
astore 6
36: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.senderCleanup:()V
37: aload 0
iload 4
ifgt 38
iload 4
bipush -2
if_icmpeq 38
iconst_0
goto 39
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int top java.lang.Throwable
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl
38: iconst_1
StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object int top java.lang.Throwable
StackMap stack: sun.nio.ch.sctp.SctpChannelImpl int
39: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.end:(Z)V
40: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 41
iload 4
invokestatic sun.nio.ch.IOStatus.check:(I)Z
ifne 41
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
41: StackMap locals:
StackMap stack:
aload 6
athrow
end local 4 42: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
43: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 44 1 buffer Ljava/nio/ByteBuffer;
0 44 2 messageInfo Lcom/sun/nio/sctp/MessageInfo;
9 42 4 n I
Exception table:
from to target type
11 13 23 any
20 22 23 any
23 24 23 any
9 13 35 any
20 28 35 any
7 19 42 any
20 34 42 any
35 43 42 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
messageInfo
private int send(int, java.nio.ByteBuffer, com.sun.nio.sctp.MessageInfo);
descriptor: (ILjava/nio/ByteBuffer;Lcom/sun/nio/sctp/MessageInfo;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual com.sun.nio.sctp.MessageInfo.streamNumber:()I
istore 4
start local 4 1: aload 3
invokevirtual com.sun.nio.sctp.MessageInfo.address:()Ljava/net/SocketAddress;
astore 5
start local 5 2: aload 3
invokevirtual com.sun.nio.sctp.MessageInfo.isUnordered:()Z
istore 6
start local 6 3: aload 3
invokevirtual com.sun.nio.sctp.MessageInfo.payloadProtocolID:()I
istore 7
start local 7 4: aload 2
instanceof sun.nio.ch.DirectBuffer
ifeq 8
5: aload 0
iload 1
aload 2
aload 5
iload 4
6: iload 6
iload 7
7: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.sendFromNativeBuffer:(ILjava/nio/ByteBuffer;Ljava/net/SocketAddress;IZI)I
ireturn
8: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl int java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo int java.net.SocketAddress int int
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 8
start local 8 9: aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
istore 9
start local 9 10: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 12
iload 8
iload 9
if_icmpgt 11
iload 4
ifge 12
StackMap locals: int int
StackMap stack:
11: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
iload 8
iload 9
if_icmpgt 13
iload 9
iload 8
isub
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 10
start local 10 15: iload 10
invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
astore 11
start local 11 16: aload 11
aload 2
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
17: aload 11
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
18: aload 2
iload 8
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
19: aload 0
iload 1
aload 11
aload 5
iload 4
20: iload 6
iload 7
21: invokevirtual sun.nio.ch.sctp.SctpChannelImpl.sendFromNativeBuffer:(ILjava/nio/ByteBuffer;Ljava/net/SocketAddress;IZI)I
istore 12
start local 12 22: iload 12
ifle 24
23: aload 2
iload 8
iload 12
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
24: StackMap locals: int java.nio.ByteBuffer int
StackMap stack:
iload 12
istore 14
25: aload 11
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
26: iload 14
ireturn
end local 12 27: StackMap locals: sun.nio.ch.sctp.SctpChannelImpl int java.nio.ByteBuffer com.sun.nio.sctp.MessageInfo int java.net.SocketAddress int int int int int java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 13
28: aload 11
invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
29: aload 13
athrow
end local 11 end local 10 end local 9 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 30 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 30 1 fd I
0 30 2 src Ljava/nio/ByteBuffer;
0 30 3 messageInfo Lcom/sun/nio/sctp/MessageInfo;
1 30 4 streamNumber I
2 30 5 target Ljava/net/SocketAddress;
3 30 6 unordered Z
4 30 7 ppid I
9 30 8 pos I
10 30 9 lim I
15 30 10 rem I
16 30 11 bb Ljava/nio/ByteBuffer;
22 27 12 n I
Exception table:
from to target type
16 25 27 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
src
messageInfo
private int sendFromNativeBuffer(int, java.nio.ByteBuffer, java.net.SocketAddress, int, boolean, int);
descriptor: (ILjava/nio/ByteBuffer;Ljava/net/SocketAddress;IZI)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=13, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aconst_null
astore 7
start local 7 1: iconst_0
istore 8
start local 8 2: aload 3
ifnull 6
3: aload 3
invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
astore 9
start local 9 4: aload 9
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
astore 7
5: aload 9
invokevirtual java.net.InetSocketAddress.getPort:()I
istore 8
end local 9 6: StackMap locals: java.net.InetAddress int
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 9
start local 9 7: aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
istore 10
start local 10 8: getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
ifne 9
iload 9
iload 10
if_icmple 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: int int
StackMap stack:
iload 9
iload 10
if_icmpgt 10
iload 10
iload 9
isub
goto 11
StackMap locals:
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 11
start local 11 12: iload 1
aload 2
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.address:()J
iload 9
i2l
ladd
iload 11
aload 7
13: iload 8
iconst_m1
iload 4
iload 5
iload 6
14: invokestatic sun.nio.ch.sctp.SctpChannelImpl.send0:(IJILjava/net/InetAddress;IIIZI)I
istore 12
start local 12 15: iload 12
ifle 17
16: aload 2
iload 9
iload 12
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
17: StackMap locals: int int
StackMap stack:
iload 12
ireturn
end local 12 end local 11 end local 10 end local 9 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 18 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
0 18 1 fd I
0 18 2 bb Ljava/nio/ByteBuffer;
0 18 3 target Ljava/net/SocketAddress;
0 18 4 streamNumber I
0 18 5 unordered Z
0 18 6 ppid I
1 18 7 addr Ljava/net/InetAddress;
2 18 8 port I
4 6 9 isa Ljava/net/InetSocketAddress;
7 18 9 pos I
8 18 10 lim I
12 18 11 rem I
15 18 12 written I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
bb
target
streamNumber
unordered
ppid
public com.sun.nio.sctp.SctpChannel shutdown();
descriptor: ()Lcom/sun/nio/sctp/SctpChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.isShutdown:Z
ifeq 4
2: aload 0
aload 1
monitorexit
3: areturn
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureSendOpen:()V
5: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
iconst_m1
invokestatic sun.nio.ch.sctp.SctpNet.shutdown:(II)V
6: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
lconst_0
lcmp
ifeq 8
7: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
invokestatic sun.nio.ch.NativeThread.signal:(J)V
8: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.nio.ch.sctp.SctpChannelImpl.isShutdown:Z
9: aload 1
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 1
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
1 3 11 any
4 10 11 any
11 12 11 any
Exceptions:
throws java.io.IOException
public java.util.Set<java.net.SocketAddress> getAllLocalAddresses();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 3
2: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBound:()Z
ifne 6
4: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
aload 1
monitorexit
5: areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
invokestatic sun.nio.ch.sctp.SctpNet.getLocalAddresses:(I)Ljava/util/Set;
aload 1
monitorexit
7: areturn
8: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
9: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
1 5 8 any
6 7 8 any
8 9 8 any
Exceptions:
throws java.io.IOException
Signature: ()Ljava/util/Set<Ljava/net/SocketAddress;>;
public java.util.Set<java.net.SocketAddress> getRemoteAddresses();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
ifne 3
2: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
ifeq 4
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.isShutdown:Z
ifeq 6
4: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
aload 1
monitorexit
5: areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
iconst_0
invokestatic sun.nio.ch.sctp.SctpNet.getRemoteAddresses:(II)Ljava/util/Set;
7: aload 1
monitorexit
8: areturn
9: StackMap locals:
StackMap stack: java.net.SocketException
pop
10: aload 0
getfield sun.nio.ch.sctp.SctpChannelImpl.remoteAddresses:Ljava/util/Set;
aload 1
monitorexit
11: areturn
12: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
13: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/nio/ch/sctp/SctpChannelImpl;
Exception table:
from to target type
6 7 9 Class java.net.SocketException
1 5 12 any
6 8 12 any
9 11 12 any
12 13 12 any
Exceptions:
throws java.io.IOException
Signature: ()Ljava/util/Set<Ljava/net/SocketAddress;>;
private static native void initIDs();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
static native int receive0(int, sun.nio.ch.sctp.ResultContainer, long, int, boolean);
descriptor: (ILsun/nio/ch/sctp/ResultContainer;JIZ)I
flags: (0x0108) ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
resultContainer
address
length
peek
static native int send0(int, long, int, java.net.InetAddress, int, int, int, boolean, int);
descriptor: (IJILjava/net/InetAddress;IIIZI)I
flags: (0x0108) ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
address
length
addr
port
assocId
streamNumber
unordered
ppid
private static native int checkConnect(java.io.FileDescriptor, boolean, boolean);
descriptor: (Ljava/io/FileDescriptor;ZZ)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fd
block
ready
}
SourceFile: "SctpChannelImpl.java"
NestMembers:
sun.nio.ch.sctp.SctpChannelImpl$1 sun.nio.ch.sctp.SctpChannelImpl$2 sun.nio.ch.sctp.SctpChannelImpl$ChannelState sun.nio.ch.sctp.SctpChannelImpl$DefaultOptionsHolder sun.nio.ch.sctp.SctpChannelImpl$InternalNotificationHandler
InnerClasses:
public InitMaxStreams = com.sun.nio.sctp.SctpStandardSocketOptions$InitMaxStreams of com.sun.nio.sctp.SctpStandardSocketOptions
sun.nio.ch.sctp.SctpChannelImpl$1
sun.nio.ch.sctp.SctpChannelImpl$2
private final ChannelState = sun.nio.ch.sctp.SctpChannelImpl$ChannelState of sun.nio.ch.sctp.SctpChannelImpl
private DefaultOptionsHolder = sun.nio.ch.sctp.SctpChannelImpl$DefaultOptionsHolder of sun.nio.ch.sctp.SctpChannelImpl
private InternalNotificationHandler = sun.nio.ch.sctp.SctpChannelImpl$InternalNotificationHandler of sun.nio.ch.sctp.SctpChannelImpl