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: .line 74
            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: .line 1112
            invokestatic sun.nio.ch.IOUtil.load:()V
         4: .line 1114
            new sun.nio.ch.sctp.SctpChannelImpl$2
            dup
            invokespecial sun.nio.ch.sctp.SctpChannelImpl$2.<init>:()V
         5: .line 1113
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         6: .line 1120
            invokestatic sun.nio.ch.sctp.SctpChannelImpl.initIDs:()V
         7: .line 1121
            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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.nio.channels.spi.SelectorProvider provider
         0: .line 137
            aload 0 /* this */
            aload 1 /* provider */
            invokespecial com.sun.nio.sctp.SctpChannel.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
         1: .line 82
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
         2: .line 83
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
         3: .line 86
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
         4: .line 89
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
         5: .line 91
            aload 0 /* this */
         6: .line 92
            new sun.nio.ch.sctp.SctpChannelImpl$1
            dup
            aload 0 /* this */
            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: .line 100
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
         8: .line 111
            aload 0 /* this */
            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: .line 114
            aload 0 /* this */
            iconst_m1
            putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
        10: .line 115
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
        11: .line 128
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield sun.nio.ch.sctp.SctpChannelImpl.remoteAddresses:Ljava/util/Set;
        12: .line 866
            aload 0 /* this */
        13: .line 867
            new sun.nio.ch.sctp.SctpChannelImpl$InternalNotificationHandler
            dup
            aload 0 /* this */
            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: .line 138
            aload 0 /* this */
            iconst_1
            invokestatic sun.nio.ch.sctp.SctpNet.socket:(Z)Ljava/io/FileDescriptor;
            putfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
        15: .line 139
            aload 0 /* this */
            aload 0 /* this */
            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: .line 140
            aload 0 /* this */
            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: .line 141
            return
        end local 1 // java.nio.channels.spi.SelectorProvider provider
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.nio.channels.spi.SelectorProvider provider
        start local 2 // java.io.FileDescriptor fd
         0: .line 148
            aload 0 /* this */
            aload 1 /* provider */
            aload 2 /* fd */
            aconst_null
            invokespecial sun.nio.ch.sctp.SctpChannelImpl.<init>:(Ljava/nio/channels/spi/SelectorProvider;Ljava/io/FileDescriptor;Lcom/sun/nio/sctp/Association;)V
         1: .line 149
            return
        end local 2 // java.io.FileDescriptor fd
        end local 1 // java.nio.channels.spi.SelectorProvider provider
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.nio.channels.spi.SelectorProvider provider
        start local 2 // java.io.FileDescriptor fd
        start local 3 // com.sun.nio.sctp.Association association
         0: .line 158
            aload 0 /* this */
            aload 1 /* provider */
            invokespecial com.sun.nio.sctp.SctpChannel.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
         1: .line 82
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
         2: .line 83
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
         3: .line 86
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
         4: .line 89
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
         5: .line 91
            aload 0 /* this */
         6: .line 92
            new sun.nio.ch.sctp.SctpChannelImpl$1
            dup
            aload 0 /* this */
            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: .line 100
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
         8: .line 111
            aload 0 /* this */
            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: .line 114
            aload 0 /* this */
            iconst_m1
            putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
        10: .line 115
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
        11: .line 128
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield sun.nio.ch.sctp.SctpChannelImpl.remoteAddresses:Ljava/util/Set;
        12: .line 866
            aload 0 /* this */
        13: .line 867
            new sun.nio.ch.sctp.SctpChannelImpl$InternalNotificationHandler
            dup
            aload 0 /* this */
            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: .line 159
            aload 0 /* this */
            aload 2 /* fd */
            putfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
        15: .line 160
            aload 0 /* this */
            aload 2 /* fd */
            invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
            putfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
        16: .line 161
            aload 0 /* this */
            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: .line 162
            aload 0 /* this */
            aload 2 /* fd */
            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: .line 164
            aload 3 /* association */
            ifnull 21
        19: .line 165
            aload 0 /* this */
            aload 3 /* association */
            putfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
        20: .line 166
            goto 28
        21: .line 168
      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 /* buf */
        start local 4 // java.nio.ByteBuffer buf
        22: .line 170
            aload 0 /* this */
            aload 4 /* buf */
            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: .line 171
            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: .line 172
            aload 4 /* buf */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        26: .line 173
            aload 5
            athrow
        27: .line 172
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        end local 4 // java.nio.ByteBuffer buf
        28: .line 175
      StackMap locals:
      StackMap stack:
            return
        end local 3 // com.sun.nio.sctp.Association association
        end local 2 // java.io.FileDescriptor fd
        end local 1 // java.nio.channels.spi.SelectorProvider provider
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.net.SocketAddress local
         0: .line 182
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 183
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         2: .line 184
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         3: .line 185
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureOpenAndUnconnected:()V
         4: .line 186
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBound:()Z
            ifeq 6
         5: .line 187
            invokestatic sun.nio.ch.sctp.SctpNet.throwAlreadyBoundException:()Z
            pop
         6: .line 188
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 1 /* local */
            ifnonnull 8
         7: .line 189
            new java.net.InetSocketAddress
            dup
            iconst_0
            invokespecial java.net.InetSocketAddress.<init>:(I)V
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 1 /* local */
            invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
         9: .line 188
      StackMap locals:
      StackMap stack: java.net.InetSocketAddress
            astore 5 /* isa */
        start local 5 // java.net.InetSocketAddress isa
        10: .line 190
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 6 /* sm */
        start local 6 // java.lang.SecurityManager sm
        11: .line 191
            aload 6 /* sm */
            ifnull 13
        12: .line 192
            aload 6 /* sm */
            aload 5 /* isa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokevirtual java.lang.SecurityManager.checkListen:(I)V
        13: .line 194
      StackMap locals: java.net.InetSocketAddress java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
            aload 5 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            aload 5 /* isa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokestatic sun.nio.ch.Net.bind:(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
        14: .line 195
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
            invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
            astore 7 /* boundIsa */
        start local 7 // java.net.InetSocketAddress boundIsa
        15: .line 196
            aload 0 /* this */
            aload 7 /* boundIsa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
        16: .line 197
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
            aload 5 /* isa */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        17: .line 198
            aload 5 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
            ifeq 19
        18: .line 199
            aload 0 /* this */
            iconst_1
            putfield sun.nio.ch.sctp.SctpChannelImpl.wildcard:Z
        end local 7 // java.net.InetSocketAddress boundIsa
        end local 6 // java.lang.SecurityManager sm
        end local 5 // java.net.InetSocketAddress isa
        19: .line 184
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        20: goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: aload 4
            monitorexit
        22: athrow
        23: .line 183
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        24: goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: aload 3
            monitorexit
        26: athrow
        27: .line 182
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        28: goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: aload 2
            monitorexit
        30: athrow
        31: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.net.SocketAddress local
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.net.InetAddress address
         0: .line 209
            aload 0 /* this */
            aload 1 /* address */
            iconst_1
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.bindUnbindAddress:(Ljava/net/InetAddress;Z)Lcom/sun/nio/sctp/SctpChannel;
            pop
         1: .line 210
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
            new java.net.InetSocketAddress
            dup
            aload 1 /* address */
            aload 0 /* this */
            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: .line 211
            aload 0 /* this */
            areturn
        end local 1 // java.net.InetAddress address
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.net.InetAddress address
         0: .line 217
            aload 0 /* this */
            aload 1 /* address */
            iconst_0
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.bindUnbindAddress:(Ljava/net/InetAddress;Z)Lcom/sun/nio/sctp/SctpChannel;
            pop
         1: .line 218
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
            new java.net.InetSocketAddress
            dup
            aload 1 /* address */
            aload 0 /* this */
            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: .line 219
            aload 0 /* this */
            areturn
        end local 1 // java.net.InetAddress address
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.net.InetAddress address
        start local 2 // boolean add
         0: .line 224
            aload 1 /* address */
            ifnonnull 2
         1: .line 225
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         3: .line 228
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         4: .line 229
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
         5: .line 230
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 7
         6: .line 231
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         7: .line 232
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBound:()Z
            ifne 9
         8: .line 233
            new java.nio.channels.NotYetBoundException
            dup
            invokespecial java.nio.channels.NotYetBoundException.<init>:()V
            athrow
         9: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.wildcard:Z
            ifeq 13
        10: .line 235
            new java.lang.IllegalStateException
            dup
        11: .line 236
            ldc "Cannot add or remove addresses from a channel that is bound to the wildcard address"
        12: .line 235
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* address */
            invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
            ifeq 17
        14: .line 238
            new java.lang.IllegalArgumentException
            dup
        15: .line 239
            ldc "Cannot add or remove the wildcard address"
        16: .line 238
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 240
      StackMap locals:
      StackMap stack:
            iload 2 /* add */
            ifeq 24
        18: .line 241
            aload 0 /* this */
            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 /* addr */
        start local 6 // java.net.InetSocketAddress addr
        20: .line 242
            aload 6 /* addr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            aload 1 /* address */
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifeq 22
        21: .line 243
            invokestatic sun.nio.ch.sctp.SctpNet.throwAlreadyBoundException:()Z
            pop
        end local 6 // java.net.InetSocketAddress addr
        22: .line 241
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        23: .line 246
            goto 35
        24: .line 249
      StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.net.InetAddress int java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpgt 26
        25: .line 250
            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: .line 251
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* foundAddress */
        start local 6 // boolean foundAddress
        27: .line 252
            aload 0 /* this */
            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 /* addr */
        start local 7 // java.net.InetSocketAddress addr
        29: .line 253
            aload 7 /* addr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            aload 1 /* address */
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifeq 32
        30: .line 254
            iconst_1
            istore 6 /* foundAddress */
        31: .line 255
            goto 33
        end local 7 // java.net.InetSocketAddress addr
        32: .line 252
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        33: .line 258
      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 /* foundAddress */
            ifne 35
        34: .line 259
            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 // boolean foundAddress
        35: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
            iconst_1
            anewarray java.net.InetAddress
            dup
            iconst_0
            aload 1 /* address */
            aastore
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.port:I
            iload 2 /* add */
            invokestatic sun.nio.ch.sctp.SctpNet.bindx:(I[Ljava/net/InetAddress;IZ)V
        36: .line 265
            iload 2 /* add */
            ifeq 38
        37: .line 266
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
            new java.net.InetSocketAddress
            dup
            aload 1 /* address */
            aload 0 /* this */
            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: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* addr */
        start local 6 // java.net.InetSocketAddress addr
        40: .line 269
            aload 6 /* addr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            aload 1 /* address */
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifeq 43
        41: .line 270
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.localAddresses:Ljava/util/HashSet;
            aload 6 /* addr */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
        42: .line 271
            goto 44
        end local 6 // java.net.InetSocketAddress addr
        43: .line 268
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 39
        44: .line 229
      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: .line 228
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        49: goto 52
      StackMap locals:
      StackMap stack: java.lang.Throwable
        50: aload 4
            monitorexit
        51: athrow
        52: .line 227
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        53: goto 56
      StackMap locals:
      StackMap stack: java.lang.Throwable
        54: aload 3
            monitorexit
        55: athrow
        56: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // boolean add
        end local 1 // java.net.InetAddress address
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 282
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 283
            aload 0 /* this */
            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: .line 282
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 288
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 289
            aload 0 /* this */
            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: .line 288
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 294
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 295
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 3
         2: .line 296
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         3: .line 297
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
            ifeq 5
         4: .line 298
            new java.nio.channels.AlreadyConnectedException
            dup
            invokespecial java.nio.channels.AlreadyConnectedException.<init>:()V
            athrow
         5: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 300
            new java.nio.channels.ConnectionPendingException
            dup
            invokespecial java.nio.channels.ConnectionPendingException.<init>:()V
            athrow
         7: .line 294
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 302
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 305
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 306
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 3
         2: .line 307
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         3: .line 308
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
            ifne 5
         4: .line 309
            new java.nio.channels.NotYetConnectedException
            dup
            invokespecial java.nio.channels.NotYetConnectedException.<init>:()V
            athrow
         5: .line 311
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         6: iconst_1
            ireturn
         7: .line 305
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         8: athrow
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 316
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 317
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 3
         2: .line 318
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         3: .line 319
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.isShutdown:Z
            ifeq 5
         4: .line 320
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         5: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
            ifne 7
         6: .line 322
            new java.nio.channels.NotYetConnectedException
            dup
            invokespecial java.nio.channels.NotYetConnectedException.<init>:()V
            athrow
         7: .line 316
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 324
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 327
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 328
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
         2: .line 329
            aload 0 /* this */
            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: .line 330
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
         4: .line 327
      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: .line 332
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 335
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 336
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
         2: .line 337
            aload 0 /* this */
            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: .line 338
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
         4: .line 335
      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: .line 340
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 344
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 345
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 3
         2: .line 346
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         3: .line 347
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
            ifne 6
         4: .line 348
            aload 1
            monitorexit
         5: aconst_null
            areturn
         6: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
            aload 1
            monitorexit
         7: areturn
         8: .line 344
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         9: athrow
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.net.SocketAddress endpoint
         0: .line 356
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 357
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         2: .line 358
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureOpenAndUnconnected:()V
         3: .line 359
            aload 1 /* endpoint */
            invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
            astore 4 /* isa */
        start local 4 // java.net.InetSocketAddress isa
         4: .line 360
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 5 /* sm */
        start local 5 // java.lang.SecurityManager sm
         5: .line 361
            aload 5 /* sm */
            ifnull 9
         6: .line 362
            aload 5 /* sm */
            aload 4 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
         7: .line 363
            aload 4 /* isa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
         8: .line 362
            invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
         9: .line 364
      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 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.blockingLock:()Ljava/lang/Object;
            dup
            astore 6
            monitorenter
        10: .line 365
            iconst_0
            istore 7 /* n */
        start local 7 // int n
        11: .line 368
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.begin:()V
        12: .line 369
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 8
            monitorenter
        13: .line 370
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 24
        14: .line 371
            aload 8
            monitorexit
        15: .line 386
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
        16: .line 387
            aload 0 /* this */
            iload 7 /* n */
            ifgt 17
            iload 7 /* n */
            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: .line 388
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 20
            iload 7 /* n */
            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: .line 371
            iconst_0
            ireturn
        24: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic sun.nio.ch.NativeThread.current:()J
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
        25: .line 369
            aload 8
            monitorexit
        26: goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: aload 8
            monitorexit
        28: athrow
        29: .line 376
      StackMap locals:
      StackMap stack:
            aload 4 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            astore 8 /* ia */
        start local 8 // java.net.InetAddress ia
        30: .line 377
            aload 8 /* ia */
            invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
            ifeq 32
        31: .line 378
            invokestatic java.net.InetAddress.getLocalHost:()Ljava/net/InetAddress;
            astore 8 /* ia */
        32: .line 379
      StackMap locals: java.net.InetAddress
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
            aload 8 /* ia */
            aload 4 /* isa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokestatic sun.nio.ch.sctp.SctpNet.connect:(ILjava/net/InetAddress;I)I
            istore 7 /* n */
        33: .line 380
            iload 7 /* n */
            bipush -3
            if_icmpne 43
        34: .line 381
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifeq 43
        end local 8 // java.net.InetAddress ia
        35: .line 375
            goto 29
        36: .line 385
      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: .line 386
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
        38: .line 387
            aload 0 /* this */
            iload 7 /* n */
            ifgt 39
            iload 7 /* n */
            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: .line 388
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 42
            iload 7 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 42
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        42: .line 389
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        43: .line 386
      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 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
        44: .line 387
            aload 0 /* this */
            iload 7 /* n */
            ifgt 45
            iload 7 /* n */
            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: .line 388
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 51
            iload 7 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 51
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        48: .line 390
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 8 /* x */
        start local 8 // java.io.IOException x
        49: .line 394
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.close:()V
        50: .line 395
            aload 8 /* x */
            athrow
        end local 8 // java.io.IOException x
        51: .line 398
      StackMap locals:
      StackMap stack:
            iload 7 /* n */
            ifle 75
        52: .line 399
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 8
            monitorenter
        53: .line 401
            aload 0 /* this */
            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: .line 402
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBound:()Z
            ifne 58
        55: .line 404
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
            invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
        56: .line 403
            astore 9 /* boundIsa */
        start local 9 // java.net.InetSocketAddress boundIsa
        57: .line 405
            aload 0 /* this */
            aload 9 /* boundIsa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
        end local 9 // java.net.InetSocketAddress boundIsa
        58: .line 409
      StackMap locals: java.lang.Object
      StackMap stack:
            bipush 50
            invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
            astore 9 /* buf */
        start local 9 // java.nio.ByteBuffer buf
        59: .line 411
            aload 0 /* this */
            aload 9 /* buf */
            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: .line 412
            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: .line 413
            aload 9 /* buf */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        63: .line 414
            aload 10
            athrow
        64: .line 413
      StackMap locals:
      StackMap stack:
            aload 9 /* buf */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        65: .line 418
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.getRemoteAddresses:()Ljava/util/Set;
            putfield sun.nio.ch.sctp.SctpChannelImpl.remoteAddresses:Ljava/util/Set;
        66: .line 419
            goto 68
      StackMap locals:
      StackMap stack: java.io.IOException
        67: pop
        68: .line 421
      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 // java.nio.ByteBuffer buf
        73: .line 399
      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: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 8
            monitorenter
        76: .line 427
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBlocking:()Z
            ifne 78
        77: .line 428
            aload 0 /* this */
            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: .line 430
      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: .line 424
      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 // int n
        83: .line 364
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        84: goto 87
      StackMap locals:
      StackMap stack: java.lang.Throwable
        85: aload 6
            monitorexit
        86: athrow
        87: .line 434
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        88: aload 2
            monitorexit
        89: iconst_0
            ireturn
        end local 5 // java.lang.SecurityManager sm
        end local 4 // java.net.InetSocketAddress isa
        90: .line 357
      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: .line 356
      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 // java.net.SocketAddress endpoint
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.net.SocketAddress endpoint
        start local 2 // int maxOutStreams
        start local 3 // int maxInStreams
         0: .line 444
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureOpenAndUnconnected:()V
         1: .line 445
            aload 0 /* this */
            getstatic com.sun.nio.sctp.SctpStandardSocketOptions.SCTP_INIT_MAXSTREAMS:Lcom/sun/nio/sctp/SctpSocketOption;
         2: .line 446
            iload 3 /* maxInStreams */
            iload 2 /* maxOutStreams */
            invokestatic com.sun.nio.sctp.SctpStandardSocketOptions$InitMaxStreams.create:(II)Lcom/sun/nio/sctp/SctpStandardSocketOptions$InitMaxStreams;
         3: .line 445
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.setOption:(Lcom/sun/nio/sctp/SctpSocketOption;Ljava/lang/Object;)Lcom/sun/nio/sctp/SctpChannel;
         4: .line 446
            aload 1 /* endpoint */
            invokevirtual com.sun.nio.sctp.SctpChannel.connect:(Ljava/net/SocketAddress;)Z
         5: .line 445
            ireturn
        end local 3 // int maxInStreams
        end local 2 // int maxOutStreams
        end local 1 // java.net.SocketAddress endpoint
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 452
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 453
            aload 0 /* this */
            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: .line 452
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 459
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 460
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         2: .line 461
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         3: .line 462
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 5
         4: .line 463
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         5: .line 464
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
            ifeq 10
         6: .line 465
            aload 3
            monitorexit
         7: aload 2
            monitorexit
         8: aload 1
            monitorexit
         9: iconst_1
            ireturn
        10: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 467
            new java.nio.channels.NoConnectionPendingException
            dup
            invokespecial java.nio.channels.NoConnectionPendingException.<init>:()V
            athrow
        12: .line 461
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 3
            monitorexit
        15: athrow
        16: .line 469
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* n */
        start local 3 // int n
        17: .line 472
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.begin:()V
        18: .line 473
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.blockingLock:()Ljava/lang/Object;
            dup
            astore 4
            monitorenter
        19: .line 474
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        20: .line 475
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 39
        21: .line 476
            aload 5
            monitorexit
        22: aload 4
            monitorexit
        23: .line 504
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
        24: .line 505
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
        25: .line 506
            aload 0 /* this */
            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: .line 507
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
        27: .line 513
            iconst_0
            istore 3 /* n */
        28: .line 504
      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: .line 516
      StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iload 3 /* n */
            ifgt 33
            iload 3 /* n */
            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: .line 517
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 36
            iload 3 /* n */
            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: .line 476
            iconst_0
            ireturn
        39: .line 478
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic sun.nio.ch.NativeThread.current:()J
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
        40: .line 474
            aload 5
            monitorexit
        41: goto 44
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: aload 5
            monitorexit
        43: athrow
        44: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBlocking:()Z
            ifne 49
        45: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
            iconst_0
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.readyToConnect:Z
            invokestatic sun.nio.ch.sctp.SctpChannelImpl.checkConnect:(Ljava/io/FileDescriptor;ZZ)I
            istore 3 /* n */
        46: .line 483
            iload 3 /* n */
            bipush -3
            if_icmpne 55
        47: .line 484
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifeq 55
        48: .line 481
            goto 45
        49: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
            iconst_1
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.readyToConnect:Z
            invokestatic sun.nio.ch.sctp.SctpChannelImpl.checkConnect:(Ljava/io/FileDescriptor;ZZ)I
            istore 3 /* n */
        50: .line 491
            iload 3 /* n */
            ifne 52
        51: .line 494
            goto 49
        52: .line 496
      StackMap locals:
      StackMap stack:
            iload 3 /* n */
            bipush -3
            if_icmpne 55
        53: .line 497
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifeq 55
        54: .line 489
            goto 49
        55: .line 473
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        56: goto 74
      StackMap locals:
      StackMap stack: java.lang.Throwable
        57: aload 4
            monitorexit
        58: athrow
        59: .line 503
      StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int
      StackMap stack: java.lang.Throwable
            astore 6
        60: .line 504
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
        61: .line 505
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
        62: .line 506
            aload 0 /* this */
            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: .line 507
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
        64: .line 513
            iconst_0
            istore 3 /* n */
        65: .line 504
      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: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* n */
            ifgt 70
            iload 3 /* n */
            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: .line 517
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 73
            iload 3 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 73
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        73: .line 518
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        74: .line 504
      StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
        75: .line 505
            aload 0 /* this */
            lconst_0
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
        76: .line 506
            aload 0 /* this */
            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: .line 507
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
        78: .line 513
            iconst_0
            istore 3 /* n */
        79: .line 504
      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: .line 516
      StackMap locals: sun.nio.ch.sctp.SctpChannelImpl java.lang.Object java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* n */
            ifgt 84
            iload 3 /* n */
            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: .line 517
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 90
            iload 3 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 90
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        87: .line 519
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* x */
        start local 4 // java.io.IOException x
        88: .line 523
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.close:()V
        89: .line 524
            aload 4 /* x */
            athrow
        end local 4 // java.io.IOException x
        90: .line 527
      StackMap locals:
      StackMap stack:
            iload 3 /* n */
            ifle 113
        91: .line 528
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
        92: .line 529
            aload 0 /* this */
            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: .line 530
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBound:()Z
            ifne 97
        94: .line 532
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
            invokestatic sun.nio.ch.Net.localAddress:(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
        95: .line 531
            astore 5 /* boundIsa */
        start local 5 // java.net.InetSocketAddress boundIsa
        96: .line 533
            aload 0 /* this */
            aload 5 /* boundIsa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            putfield sun.nio.ch.sctp.SctpChannelImpl.port:I
        end local 5 // java.net.InetSocketAddress boundIsa
        97: .line 537
      StackMap locals: java.lang.Object
      StackMap stack:
            bipush 50
            invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
            astore 5 /* buf */
        start local 5 // java.nio.ByteBuffer buf
        98: .line 539
            aload 0 /* this */
            aload 5 /* buf */
            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: .line 540
            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: .line 541
            aload 5 /* buf */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
       102: .line 542
            aload 6
            athrow
       103: .line 541
      StackMap locals:
      StackMap stack:
            aload 5 /* buf */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
       104: .line 546
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.getRemoteAddresses:()Ljava/util/Set;
            putfield sun.nio.ch.sctp.SctpChannelImpl.remoteAddresses:Ljava/util/Set;
       105: .line 547
            goto 107
      StackMap locals:
      StackMap stack: java.io.IOException
       106: pop
       107: .line 549
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
       108: aload 2
            monitorexit
       109: aload 1
            monitorexit
       110: iconst_1
            ireturn
        end local 5 // java.nio.ByteBuffer buf
       111: .line 528
      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 // int n
       113: .line 460
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
       114: goto 117
      StackMap locals:
      StackMap stack: java.lang.Throwable
       115: aload 2
            monitorexit
       116: athrow
       117: .line 459
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
       118: goto 121
      StackMap locals:
      StackMap stack: java.lang.Throwable
       119: aload 1
            monitorexit
       120: athrow
       121: .line 554
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // boolean block
         0: .line 559
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
            iload 1 /* block */
            invokestatic sun.nio.ch.IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
         1: .line 560
            return
        end local 1 // boolean block
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 564
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 565
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
            invokestatic sun.nio.ch.sctp.SctpNet.preClose:(I)V
         2: .line 567
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
            lconst_0
            lcmp
            ifeq 4
         3: .line 568
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
            invokestatic sun.nio.ch.NativeThread.signal:(J)V
         4: .line 570
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
            lconst_0
            lcmp
            ifeq 6
         5: .line 571
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
            invokestatic sun.nio.ch.NativeThread.signal:(J)V
         6: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isRegistered:()Z
            ifne 8
         7: .line 574
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.kill:()V
         8: .line 564
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 1
            monitorexit
        11: athrow
        12: .line 576
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 580
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fd:Ljava/io/FileDescriptor;
            areturn
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 585
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
            ireturn
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // int ops
        start local 2 // int initialOps
        start local 3 // sun.nio.ch.SelectionKeyImpl sk
         0: .line 592
            aload 3 /* sk */
            invokevirtual sun.nio.ch.SelectionKeyImpl.nioInterestOps:()I
            istore 4 /* intOps */
        start local 4 // int intOps
         1: .line 593
            aload 3 /* sk */
            invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:()I
            istore 5 /* oldOps */
        start local 5 // int oldOps
         2: .line 594
            iload 2 /* initialOps */
            istore 6 /* newOps */
        start local 6 // int newOps
         3: .line 596
            iload 1 /* ops */
            getstatic sun.nio.ch.Net.POLLNVAL:S
            iand
            ifeq 5
         4: .line 600
            iconst_0
            ireturn
         5: .line 603
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* ops */
            getstatic sun.nio.ch.Net.POLLERR:S
            getstatic sun.nio.ch.Net.POLLHUP:S
            ior
            iand
            ifeq 11
         6: .line 604
            iload 4 /* intOps */
            istore 6 /* newOps */
         7: .line 605
            aload 3 /* sk */
            iload 6 /* newOps */
            invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:(I)V
         8: .line 608
            aload 0 /* this */
            iconst_1
            putfield sun.nio.ch.sctp.SctpChannelImpl.readyToConnect:Z
         9: .line 609
            iload 6 /* newOps */
            iload 5 /* oldOps */
            iconst_m1
            ixor
            iand
            ifeq 10
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        11: .line 612
      StackMap locals:
      StackMap stack:
            iload 1 /* ops */
            getstatic sun.nio.ch.Net.POLLIN:S
            iand
            ifeq 15
        12: .line 613
            iload 4 /* intOps */
            iconst_1
            iand
            ifeq 15
        13: .line 614
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
            ifeq 15
        14: .line 615
            iload 6 /* newOps */
            iconst_1
            ior
            istore 6 /* newOps */
        15: .line 617
      StackMap locals:
      StackMap stack:
            iload 1 /* ops */
            getstatic sun.nio.ch.Net.POLLCONN:S
            iand
            ifeq 20
        16: .line 618
            iload 4 /* intOps */
            bipush 8
            iand
            ifeq 20
        17: .line 619
            aload 0 /* this */
            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 /* this */
            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: .line 620
      StackMap locals:
      StackMap stack:
            iload 6 /* newOps */
            bipush 8
            ior
            istore 6 /* newOps */
        19: .line 621
            aload 0 /* this */
            iconst_1
            putfield sun.nio.ch.sctp.SctpChannelImpl.readyToConnect:Z
        20: .line 624
      StackMap locals:
      StackMap stack:
            iload 1 /* ops */
            getstatic sun.nio.ch.Net.POLLOUT:S
            iand
            ifeq 24
        21: .line 625
            iload 4 /* intOps */
            iconst_4
            iand
            ifeq 24
        22: .line 626
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
            ifeq 24
        23: .line 627
            iload 6 /* newOps */
            iconst_4
            ior
            istore 6 /* newOps */
        24: .line 629
      StackMap locals:
      StackMap stack:
            aload 3 /* sk */
            iload 6 /* newOps */
            invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:(I)V
        25: .line 630
            iload 6 /* newOps */
            iload 5 /* oldOps */
            iconst_m1
            ixor
            iand
            ifeq 26
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        26: iconst_0
            ireturn
        end local 6 // int newOps
        end local 5 // int oldOps
        end local 4 // int intOps
        end local 3 // sun.nio.ch.SelectionKeyImpl sk
        end local 2 // int initialOps
        end local 1 // int ops
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // int ops
        start local 2 // sun.nio.ch.SelectionKeyImpl sk
         0: .line 635
            aload 0 /* this */
            iload 1 /* ops */
            aload 2 /* sk */
            invokevirtual sun.nio.ch.SelectionKeyImpl.nioReadyOps:()I
            aload 2 /* sk */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
            ireturn
        end local 2 // sun.nio.ch.SelectionKeyImpl sk
        end local 1 // int ops
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // int ops
        start local 2 // sun.nio.ch.SelectionKeyImpl sk
         0: .line 641
            aload 0 /* this */
            iload 1 /* ops */
            iconst_0
            aload 2 /* sk */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.translateReadyOps:(IILsun/nio/ch/SelectionKeyImpl;)Z
            ireturn
        end local 2 // sun.nio.ch.SelectionKeyImpl sk
        end local 1 // int ops
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 void translateAndSetInterestOps(int, sun.nio.ch.SelectionKeyImpl);
    descriptor: (ILsun/nio/ch/SelectionKeyImpl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // int ops
        start local 2 // sun.nio.ch.SelectionKeyImpl sk
         0: .line 646
            iconst_0
            istore 3 /* newOps */
        start local 3 // int newOps
         1: .line 647
            iload 1 /* ops */
            iconst_1
            iand
            ifeq 3
         2: .line 648
            iload 3 /* newOps */
            getstatic sun.nio.ch.Net.POLLIN:S
            ior
            istore 3 /* newOps */
         3: .line 649
      StackMap locals: int
      StackMap stack:
            iload 1 /* ops */
            iconst_4
            iand
            ifeq 5
         4: .line 650
            iload 3 /* newOps */
            getstatic sun.nio.ch.Net.POLLOUT:S
            ior
            istore 3 /* newOps */
         5: .line 651
      StackMap locals:
      StackMap stack:
            iload 1 /* ops */
            bipush 8
            iand
            ifeq 7
         6: .line 652
            iload 3 /* newOps */
            getstatic sun.nio.ch.Net.POLLCONN:S
            ior
            istore 3 /* newOps */
         7: .line 653
      StackMap locals:
      StackMap stack:
            aload 2 /* sk */
            getfield sun.nio.ch.SelectionKeyImpl.selector:Lsun/nio/ch/SelectorImpl;
            aload 2 /* sk */
            iload 3 /* newOps */
            invokevirtual sun.nio.ch.SelectorImpl.putEventOps:(Lsun/nio/ch/SelectionKeyImpl;I)V
         8: .line 654
            return
        end local 3 // int newOps
        end local 2 // sun.nio.ch.SelectionKeyImpl sk
        end local 1 // int ops
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lsun/nio/ch/sctp/SctpChannelImpl;
            0    9     1     ops  I
            0    9     2      sk  Lsun/nio/ch/SelectionKeyImpl;
            1    9     3  newOps  I
    MethodParameters:
      Name  Flags
      ops   
      sk    

  public void kill();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 658
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 659
            aload 0 /* this */
            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: .line 660
            aload 1
            monitorexit
         3: return
         4: .line 661
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            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: .line 662
            aload 0 /* this */
            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: .line 663
            aload 1
            monitorexit
         7: return
         8: .line 665
      StackMap locals:
      StackMap stack:
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 10
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 9
            aload 0 /* this */
            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: .line 669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
            lconst_0
            lcmp
            ifne 14
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
            lconst_0
            lcmp
            ifne 14
        11: .line 670
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
            invokestatic sun.nio.ch.sctp.SctpNet.close:(I)V
        12: .line 671
            aload 0 /* this */
            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: .line 672
            goto 15
        14: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 658
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        16: goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: aload 1
            monitorexit
        18: athrow
        19: .line 676
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // com.sun.nio.sctp.SctpSocketOption name
        start local 2 // java.lang.Object value
         0: .line 681
            aload 1 /* name */
            ifnonnull 2
         1: .line 682
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.supportedOptions:()Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 684
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            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: .line 686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         5: .line 687
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 7
         6: .line 688
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         7: .line 690
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
            aload 1 /* name */
            aload 2 /* value */
            iconst_0
            invokestatic sun.nio.ch.sctp.SctpNet.setSocketOption:(ILcom/sun/nio/sctp/SctpSocketOption;Ljava/lang/Object;I)V
         8: .line 686
            aload 3
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 3
            monitorexit
        11: athrow
        12: .line 692
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // java.lang.Object value
        end local 1 // com.sun.nio.sctp.SctpSocketOption name
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // com.sun.nio.sctp.SctpSocketOption name
         0: .line 698
            aload 1 /* name */
            ifnonnull 2
         1: .line 699
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.supportedOptions:()Ljava/util/Set;
            aload 1 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 701
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            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: .line 703
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         5: .line 704
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 7
         6: .line 705
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         7: .line 707
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
            aload 1 /* name */
            iconst_0
            invokestatic sun.nio.ch.sctp.SctpNet.getSocketOption:(ILcom/sun/nio/sctp/SctpSocketOption;I)Ljava/lang/Object;
            aload 2
            monitorexit
         8: areturn
         9: .line 703
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        10: athrow
        end local 1 // com.sun.nio.sctp.SctpSocketOption name
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 732
            getstatic sun.nio.ch.sctp.SctpChannelImpl$DefaultOptionsHolder.defaultOptions:Ljava/util/Set;
            areturn
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // java.lang.Object attachment
        start local 3 // com.sun.nio.sctp.NotificationHandler handler
         0: .line 740
            aload 0 /* this */
            aload 1 /* buffer */
            aload 2 /* attachment */
            aload 3 /* handler */
            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 // com.sun.nio.sctp.NotificationHandler handler
        end local 2 // java.lang.Object attachment
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // java.lang.Object attachment
        start local 3 // com.sun.nio.sctp.NotificationHandler handler
        start local 4 // boolean fromConnect
         0: .line 748
            aload 1 /* buffer */
            ifnonnull 2
         1: .line 749
            new java.lang.IllegalArgumentException
            dup
            ldc "buffer cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 751
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
            ifeq 4
         3: .line 752
            new java.lang.IllegalArgumentException
            dup
            ldc "Read-only buffer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 755
            new com.sun.nio.sctp.IllegalReceiveException
            dup
         6: .line 756
            ldc "cannot invoke receive from handler"
         7: .line 755
            invokespecial com.sun.nio.sctp.IllegalReceiveException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 760
            new sun.nio.ch.sctp.ResultContainer
            dup
            invokespecial sun.nio.ch.sctp.ResultContainer.<init>:()V
            astore 5 /* resultContainer */
        start local 5 // sun.nio.ch.sctp.ResultContainer resultContainer
        10: .line 762
      StackMap locals: sun.nio.ch.sctp.ResultContainer
      StackMap stack:
            aload 5 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.clear:()V
        11: .line 763
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.receiveLock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
        12: .line 764
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureReceiveOpen:()Z
            ifne 16
        13: .line 765
            aload 6
            monitorexit
        14: .line 821
            aload 0 /* this */
            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: .line 765
            aconst_null
            areturn
        16: .line 767
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_0
            istore 7 /* n */
        start local 7 // int n
        17: .line 769
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.begin:()V
        18: .line 771
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 8
            monitorenter
        19: .line 772
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 29
        20: .line 773
            aload 8
            monitorexit
        21: .line 781
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
        22: .line 782
            aload 0 /* this */
            iload 7 /* n */
            ifgt 23
            iload 7 /* n */
            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: .line 783
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 26
            iload 7 /* n */
            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: .line 821
            aload 0 /* this */
            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: .line 773
            aconst_null
            areturn
        29: .line 774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic sun.nio.ch.NativeThread.current:()J
            putfield sun.nio.ch.sctp.SctpChannelImpl.receiverThread:J
        30: .line 771
            aload 8
            monitorexit
        31: goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: aload 8
            monitorexit
        33: athrow
        34: .line 778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
            aload 1 /* buffer */
            aload 5 /* resultContainer */
            iload 4 /* fromConnect */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receive:(ILjava/nio/ByteBuffer;Lsun/nio/ch/sctp/ResultContainer;Z)I
            istore 7 /* n */
        35: .line 779
            iload 7 /* n */
            bipush -3
            if_icmpne 44
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 34
        36: .line 780
            goto 44
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 9
        38: .line 781
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
        39: .line 782
            aload 0 /* this */
            iload 7 /* n */
            ifgt 40
            iload 7 /* n */
            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: .line 783
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 43
            iload 7 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 43
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        43: .line 784
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        44: .line 781
      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 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiverCleanup:()V
        45: .line 782
            aload 0 /* this */
            iload 7 /* n */
            ifgt 46
            iload 7 /* n */
            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: .line 783
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 49
            iload 7 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 49
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        49: .line 786
      StackMap locals:
      StackMap stack:
            aload 5 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.isNotification:()Z
            ifne 66
        50: .line 788
            aload 5 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.hasSomething:()Z
            ifeq 63
        51: .line 791
            aload 5 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.getMessageInfo:()Lsun/nio/ch/sctp/MessageInfoImpl;
        52: .line 790
            astore 8 /* info */
        start local 8 // sun.nio.ch.sctp.MessageInfoImpl info
        53: .line 792
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 9
            monitorenter
        54: .line 793
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 55
            aload 0 /* this */
            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: .line 794
      StackMap locals: sun.nio.ch.sctp.MessageInfoImpl java.lang.Object
      StackMap stack:
            aload 8 /* info */
            aload 0 /* this */
            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: .line 792
            aload 9
            monitorexit
        57: goto 60
      StackMap locals:
      StackMap stack: java.lang.Throwable
        58: aload 9
            monitorexit
        59: athrow
        60: .line 796
      StackMap locals:
      StackMap stack:
            aload 8 /* info */
            astore 11
            aload 6
            monitorexit
        61: .line 821
            aload 0 /* this */
            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: .line 796
            aload 11
            areturn
        end local 8 // sun.nio.ch.sctp.MessageInfoImpl info
        63: .line 799
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        64: .line 821
            aload 0 /* this */
            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: .line 799
            aconst_null
            areturn
        66: .line 801
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 8
            monitorenter
        67: .line 802
            aload 0 /* this */
        68: .line 803
            aload 5 /* resultContainer */
        69: .line 802
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.handleNotificationInternal:(Lsun/nio/ch/sctp/ResultContainer;)V
        70: .line 801
            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: .line 807
      StackMap locals:
      StackMap stack:
            iload 4 /* fromConnect */
            ifeq 78
        75: .line 812
            aload 6
            monitorexit
        76: .line 821
            aload 0 /* this */
            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: .line 812
            aconst_null
            areturn
        end local 7 // int n
        78: .line 763
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        79: goto 82
      StackMap locals:
      StackMap stack: java.lang.Throwable
        80: aload 6
            monitorexit
        81: athrow
        82: .line 815
      StackMap locals:
      StackMap stack:
            aload 3 /* handler */
            ifnonnull 83
            goto 10
        83: .line 816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* resultContainer */
            aload 3 /* handler */
            aload 2 /* attachment */
            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: .line 817
            getstatic com.sun.nio.sctp.HandlerResult.CONTINUE:Lcom/sun/nio/sctp/HandlerResult;
        85: .line 816
            if_acmpeq 10
        86: .line 821
            aload 0 /* this */
            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: .line 819
            aconst_null
            areturn
        end local 5 // sun.nio.ch.sctp.ResultContainer resultContainer
        88: .line 820
      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: .line 821
            aload 0 /* this */
            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: .line 822
            aload 10
            athrow
        end local 4 // boolean fromConnect
        end local 3 // com.sun.nio.sctp.NotificationHandler handler
        end local 2 // java.lang.Object attachment
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // int fd
        start local 2 // java.nio.ByteBuffer dst
        start local 3 // sun.nio.ch.sctp.ResultContainer resultContainer
        start local 4 // boolean peek
         0: .line 830
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 5 /* pos */
        start local 5 // int pos
         1: .line 831
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 6 /* lim */
        start local 6 // int lim
         2: .line 832
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 3
            iload 5 /* pos */
            iload 6 /* lim */
            if_icmple 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 833
      StackMap locals: int int
      StackMap stack:
            iload 5 /* pos */
            iload 6 /* lim */
            if_icmpgt 4
            iload 6 /* lim */
            iload 5 /* pos */
            isub
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 7 /* rem */
        start local 7 // int rem
         6: .line 834
            aload 2 /* dst */
            instanceof sun.nio.ch.DirectBuffer
            ifeq 8
            iload 7 /* rem */
            ifle 8
         7: .line 835
            aload 0 /* this */
            iload 1 /* fd */
            aload 3 /* resultContainer */
            aload 2 /* dst */
            iload 7 /* rem */
            iload 5 /* pos */
            iload 4 /* peek */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiveIntoNativeBuffer:(ILsun/nio/ch/sctp/ResultContainer;Ljava/nio/ByteBuffer;IIZ)I
            ireturn
         8: .line 838
      StackMap locals: int
      StackMap stack:
            iload 7 /* rem */
            iconst_1
            invokestatic java.lang.Math.max:(II)I
            istore 8 /* newSize */
        start local 8 // int newSize
         9: .line 839
            iload 8 /* newSize */
            invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
            astore 9 /* bb */
        start local 9 // java.nio.ByteBuffer bb
        10: .line 841
            aload 0 /* this */
            iload 1 /* fd */
            aload 3 /* resultContainer */
            aload 9 /* bb */
            iload 8 /* newSize */
            iconst_0
            iload 4 /* peek */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.receiveIntoNativeBuffer:(ILsun/nio/ch/sctp/ResultContainer;Ljava/nio/ByteBuffer;IIZ)I
            istore 10 /* n */
        start local 10 // int n
        11: .line 842
            aload 9 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        12: .line 843
            iload 10 /* n */
            ifle 14
            iload 7 /* rem */
            ifle 14
        13: .line 844
            aload 2 /* dst */
            aload 9 /* bb */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        14: .line 845
      StackMap locals: int java.nio.ByteBuffer int
      StackMap stack:
            iload 10 /* n */
            istore 12
        15: .line 847
            aload 9 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        16: .line 845
            iload 12
            ireturn
        end local 10 // int n
        17: .line 846
      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: .line 847
            aload 9 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        19: .line 848
            aload 11
            athrow
        end local 9 // java.nio.ByteBuffer bb
        end local 8 // int newSize
        end local 7 // int rem
        end local 6 // int lim
        end local 5 // int pos
        end local 4 // boolean peek
        end local 3 // sun.nio.ch.sctp.ResultContainer resultContainer
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // int fd
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // int fd
        start local 2 // sun.nio.ch.sctp.ResultContainer resultContainer
        start local 3 // java.nio.ByteBuffer bb
        start local 4 // int rem
        start local 5 // int pos
        start local 6 // boolean peek
         0: .line 859
            iload 1 /* fd */
            aload 2 /* resultContainer */
            aload 3 /* bb */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            iload 5 /* pos */
            i2l
            ladd
            iload 4 /* rem */
            iload 6 /* peek */
            invokestatic sun.nio.ch.sctp.SctpChannelImpl.receive0:(ILsun/nio/ch/sctp/ResultContainer;JIZ)I
            istore 7 /* n */
        start local 7 // int n
         1: .line 861
            iload 7 /* n */
            ifle 3
         2: .line 862
            aload 3 /* bb */
            iload 5 /* pos */
            iload 7 /* n */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         3: .line 863
      StackMap locals: int
      StackMap stack:
            iload 7 /* n */
            ireturn
        end local 7 // int n
        end local 6 // boolean peek
        end local 5 // int pos
        end local 4 // int rem
        end local 3 // java.nio.ByteBuffer bb
        end local 2 // sun.nio.ch.sctp.ResultContainer resultContainer
        end local 1 // int fd
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // sun.nio.ch.sctp.ResultContainer resultContainer
         0: .line 871
            aload 0 /* this */
            aload 1 /* resultContainer */
         1: .line 872
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.internalNotificationHandler:Lsun/nio/ch/sctp/SctpChannelImpl$InternalNotificationHandler;
            aconst_null
         2: .line 871
            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: .line 873
            return
        end local 1 // sun.nio.ch.sctp.ResultContainer resultContainer
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // sun.nio.ch.sctp.ResultContainer resultContainer
        start local 2 // com.sun.nio.sctp.NotificationHandler handler
        start local 3 // java.lang.Object attachment
         0: .line 896
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.notification:()Lsun/nio/ch/sctp/SctpNotification;
            astore 4 /* notification */
        start local 4 // sun.nio.ch.sctp.SctpNotification notification
         1: .line 897
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
         2: .line 898
            aload 4 /* notification */
            aload 0 /* this */
            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: .line 897
            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: .line 901
      StackMap locals:
      StackMap stack:
            aload 2 /* handler */
            instanceof com.sun.nio.sctp.AbstractNotificationHandler
            ifne 9
         8: .line 902
            aload 2 /* handler */
            aload 4 /* notification */
            aload 3 /* attachment */
            invokeinterface com.sun.nio.sctp.NotificationHandler.handleNotification:(Lcom/sun/nio/sctp/Notification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            areturn
         9: .line 907
      StackMap locals:
      StackMap stack:
            aload 2 /* handler */
            checkcast com.sun.nio.sctp.AbstractNotificationHandler
        10: .line 906
            astore 5 /* absHandler */
        start local 5 // com.sun.nio.sctp.AbstractNotificationHandler absHandler
        11: .line 908
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.type:()I
            tableswitch { // 2 - 5
                    2: 18
                    3: 12
                    4: 15
                    5: 21
              default: 24
          }
        12: .line 910
      StackMap locals: com.sun.nio.sctp.AbstractNotificationHandler
      StackMap stack:
            aload 5 /* absHandler */
        13: .line 911
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.getAssociationChanged:()Lsun/nio/ch/sctp/AssociationChange;
            aload 3 /* attachment */
        14: .line 910
            invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/AssociationChangeNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            areturn
        15: .line 913
      StackMap locals:
      StackMap stack:
            aload 5 /* absHandler */
        16: .line 914
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.getPeerAddressChanged:()Lsun/nio/ch/sctp/PeerAddrChange;
            aload 3 /* attachment */
        17: .line 913
            invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/PeerAddressChangeNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            areturn
        18: .line 916
      StackMap locals:
      StackMap stack:
            aload 5 /* absHandler */
        19: .line 917
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.getSendFailed:()Lsun/nio/ch/sctp/SendFailed;
            aload 3 /* attachment */
        20: .line 916
            invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/SendFailedNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            areturn
        21: .line 919
      StackMap locals:
      StackMap stack:
            aload 5 /* absHandler */
        22: .line 920
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.getShutdown:()Lsun/nio/ch/sctp/Shutdown;
            aload 3 /* attachment */
        23: .line 919
            invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/ShutdownNotification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            areturn
        24: .line 923
      StackMap locals:
      StackMap stack:
            aload 5 /* absHandler */
        25: .line 924
            aload 1 /* resultContainer */
            invokevirtual sun.nio.ch.sctp.ResultContainer.notification:()Lsun/nio/ch/sctp/SctpNotification;
            aload 3 /* attachment */
        26: .line 923
            invokevirtual com.sun.nio.sctp.AbstractNotificationHandler.handleNotification:(Lcom/sun/nio/sctp/Notification;Ljava/lang/Object;)Lcom/sun/nio/sctp/HandlerResult;
            areturn
        end local 5 // com.sun.nio.sctp.AbstractNotificationHandler absHandler
        end local 4 // sun.nio.ch.sctp.SctpNotification notification
        end local 3 // java.lang.Object attachment
        end local 2 // com.sun.nio.sctp.NotificationHandler handler
        end local 1 // sun.nio.ch.sctp.ResultContainer resultContainer
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // com.sun.nio.sctp.Association sendAssociation
         0: .line 929
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 930
            aload 1 /* sendAssociation */
            ifnull 5
            aload 1 /* sendAssociation */
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 5
         2: .line 931
            new java.lang.IllegalArgumentException
            dup
         3: .line 932
            ldc "Cannot send to another association"
         4: .line 931
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 929
      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: .line 935
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.nio.sctp.Association sendAssociation
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // int streamNumber
         0: .line 938
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 939
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
            ifnull 5
         2: .line 940
            iload 1 /* streamNumber */
            iflt 4
         3: .line 941
            iload 1 /* streamNumber */
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.association:Lcom/sun/nio/sctp/Association;
            invokevirtual com.sun.nio.sctp.Association.maxOutboundStreams:()I
            if_icmplt 5
         4: .line 942
      StackMap locals: java.lang.Object
      StackMap stack:
            new com.sun.nio.sctp.InvalidStreamException
            dup
            invokespecial com.sun.nio.sctp.InvalidStreamException.<init>:()V
            athrow
         5: .line 938
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 945
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int streamNumber
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // com.sun.nio.sctp.MessageInfo messageInfo
         0: .line 954
            aload 1 /* buffer */
            ifnonnull 2
         1: .line 955
            new java.lang.IllegalArgumentException
            dup
            ldc "buffer cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 957
      StackMap locals:
      StackMap stack:
            aload 2 /* messageInfo */
            ifnonnull 4
         3: .line 958
            new java.lang.IllegalArgumentException
            dup
            ldc "messageInfo cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* messageInfo */
            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: .line 961
            aload 0 /* this */
            aload 2 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.streamNumber:()I
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.checkStreamNumber:(I)V
         6: .line 963
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.sendLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         7: .line 964
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureSendOpen:()V
         8: .line 966
            iconst_0
            istore 4 /* n */
        start local 4 // int n
         9: .line 968
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.begin:()V
        10: .line 970
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        11: .line 971
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 20
        12: .line 972
            aload 5
            monitorexit
        13: .line 982
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.senderCleanup:()V
        14: .line 983
            aload 0 /* this */
            iload 4 /* n */
            ifgt 15
            iload 4 /* n */
            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: .line 984
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 18
            iload 4 /* n */
            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: .line 972
            iconst_0
            ireturn
        20: .line 973
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic sun.nio.ch.NativeThread.current:()J
            putfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
        21: .line 970
            aload 5
            monitorexit
        22: goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: aload 5
            monitorexit
        24: athrow
        25: .line 977
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
            aload 1 /* buffer */
            aload 2 /* messageInfo */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.send:(ILjava/nio/ByteBuffer;Lcom/sun/nio/sctp/MessageInfo;)I
            istore 4 /* n */
        26: .line 978
            iload 4 /* n */
            bipush -3
            if_icmpne 27
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 25
        27: .line 980
      StackMap locals:
      StackMap stack:
            iload 4 /* n */
            invokestatic sun.nio.ch.IOStatus.normalize:(I)I
            istore 7
        28: .line 982
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.senderCleanup:()V
        29: .line 983
            aload 0 /* this */
            iload 4 /* n */
            ifgt 30
            iload 4 /* n */
            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: .line 984
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 33
            iload 4 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        33: .line 980
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        34: iload 7
            ireturn
        35: .line 981
      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: .line 982
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.senderCleanup:()V
        37: .line 983
            aload 0 /* this */
            iload 4 /* n */
            ifgt 38
            iload 4 /* n */
            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: .line 984
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 41
            iload 4 /* n */
            invokestatic sun.nio.ch.IOStatus.check:(I)Z
            ifne 41
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        41: .line 985
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        end local 4 // int n
        42: .line 963
      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 // com.sun.nio.sctp.MessageInfo messageInfo
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // int fd
        start local 2 // java.nio.ByteBuffer src
        start local 3 // com.sun.nio.sctp.MessageInfo messageInfo
         0: .line 991
            aload 3 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.streamNumber:()I
            istore 4 /* streamNumber */
        start local 4 // int streamNumber
         1: .line 992
            aload 3 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.address:()Ljava/net/SocketAddress;
            astore 5 /* target */
        start local 5 // java.net.SocketAddress target
         2: .line 993
            aload 3 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.isUnordered:()Z
            istore 6 /* unordered */
        start local 6 // boolean unordered
         3: .line 994
            aload 3 /* messageInfo */
            invokevirtual com.sun.nio.sctp.MessageInfo.payloadProtocolID:()I
            istore 7 /* ppid */
        start local 7 // int ppid
         4: .line 996
            aload 2 /* src */
            instanceof sun.nio.ch.DirectBuffer
            ifeq 8
         5: .line 997
            aload 0 /* this */
            iload 1 /* fd */
            aload 2 /* src */
            aload 5 /* target */
            iload 4 /* streamNumber */
         6: .line 998
            iload 6 /* unordered */
            iload 7 /* ppid */
         7: .line 997
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.sendFromNativeBuffer:(ILjava/nio/ByteBuffer;Ljava/net/SocketAddress;IZI)I
            ireturn
         8: .line 1001
      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 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 8 /* pos */
        start local 8 // int pos
         9: .line 1002
            aload 2 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 9 /* lim */
        start local 9 // int lim
        10: .line 1003
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 12
            iload 8 /* pos */
            iload 9 /* lim */
            if_icmpgt 11
            iload 4 /* streamNumber */
            ifge 12
      StackMap locals: int int
      StackMap stack:
        11: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 1005
      StackMap locals:
      StackMap stack:
            iload 8 /* pos */
            iload 9 /* lim */
            if_icmpgt 13
            iload 9 /* lim */
            iload 8 /* pos */
            isub
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 10 /* rem */
        start local 10 // int rem
        15: .line 1006
            iload 10 /* rem */
            invokestatic sun.nio.ch.Util.getTemporaryDirectBuffer:(I)Ljava/nio/ByteBuffer;
            astore 11 /* bb */
        start local 11 // java.nio.ByteBuffer bb
        16: .line 1008
            aload 11 /* bb */
            aload 2 /* src */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        17: .line 1009
            aload 11 /* bb */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        18: .line 1011
            aload 2 /* src */
            iload 8 /* pos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        19: .line 1013
            aload 0 /* this */
            iload 1 /* fd */
            aload 11 /* bb */
            aload 5 /* target */
            iload 4 /* streamNumber */
        20: .line 1014
            iload 6 /* unordered */
            iload 7 /* ppid */
        21: .line 1013
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.sendFromNativeBuffer:(ILjava/nio/ByteBuffer;Ljava/net/SocketAddress;IZI)I
            istore 12 /* n */
        start local 12 // int n
        22: .line 1015
            iload 12 /* n */
            ifle 24
        23: .line 1017
            aload 2 /* src */
            iload 8 /* pos */
            iload 12 /* n */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        24: .line 1019
      StackMap locals: int java.nio.ByteBuffer int
      StackMap stack:
            iload 12 /* n */
            istore 14
        25: .line 1021
            aload 11 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        26: .line 1019
            iload 14
            ireturn
        end local 12 // int n
        27: .line 1020
      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: .line 1021
            aload 11 /* bb */
            invokestatic sun.nio.ch.Util.releaseTemporaryDirectBuffer:(Ljava/nio/ByteBuffer;)V
        29: .line 1022
            aload 13
            athrow
        end local 11 // java.nio.ByteBuffer bb
        end local 10 // int rem
        end local 9 // int lim
        end local 8 // int pos
        end local 7 // int ppid
        end local 6 // boolean unordered
        end local 5 // java.net.SocketAddress target
        end local 4 // int streamNumber
        end local 3 // com.sun.nio.sctp.MessageInfo messageInfo
        end local 2 // java.nio.ByteBuffer src
        end local 1 // int fd
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
        start local 1 // int fd
        start local 2 // java.nio.ByteBuffer bb
        start local 3 // java.net.SocketAddress target
        start local 4 // int streamNumber
        start local 5 // boolean unordered
        start local 6 // int ppid
         0: .line 1032
            aconst_null
            astore 7 /* addr */
        start local 7 // java.net.InetAddress addr
         1: .line 1033
            iconst_0
            istore 8 /* port */
        start local 8 // int port
         2: .line 1034
            aload 3 /* target */
            ifnull 6
         3: .line 1035
            aload 3 /* target */
            invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
            astore 9 /* isa */
        start local 9 // java.net.InetSocketAddress isa
         4: .line 1036
            aload 9 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            astore 7 /* addr */
         5: .line 1037
            aload 9 /* isa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            istore 8 /* port */
        end local 9 // java.net.InetSocketAddress isa
         6: .line 1040
      StackMap locals: java.net.InetAddress int
      StackMap stack:
            aload 2 /* bb */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 9 /* pos */
        start local 9 // int pos
         7: .line 1041
            aload 2 /* bb */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 10 /* lim */
        start local 10 // int lim
         8: .line 1042
            getstatic sun.nio.ch.sctp.SctpChannelImpl.$assertionsDisabled:Z
            ifne 9
            iload 9 /* pos */
            iload 10 /* lim */
            if_icmple 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 1043
      StackMap locals: int int
      StackMap stack:
            iload 9 /* pos */
            iload 10 /* lim */
            if_icmpgt 10
            iload 10 /* lim */
            iload 9 /* pos */
            isub
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 11 /* rem */
        start local 11 // int rem
        12: .line 1045
            iload 1 /* fd */
            aload 2 /* bb */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            iload 9 /* pos */
            i2l
            ladd
            iload 11 /* rem */
            aload 7 /* addr */
        13: .line 1046
            iload 8 /* port */
            iconst_m1
            iload 4 /* streamNumber */
            iload 5 /* unordered */
            iload 6 /* ppid */
        14: .line 1045
            invokestatic sun.nio.ch.sctp.SctpChannelImpl.send0:(IJILjava/net/InetAddress;IIIZI)I
            istore 12 /* written */
        start local 12 // int written
        15: .line 1047
            iload 12 /* written */
            ifle 17
        16: .line 1048
            aload 2 /* bb */
            iload 9 /* pos */
            iload 12 /* written */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        17: .line 1049
      StackMap locals: int int
      StackMap stack:
            iload 12 /* written */
            ireturn
        end local 12 // int written
        end local 11 // int rem
        end local 10 // int lim
        end local 9 // int pos
        end local 8 // int port
        end local 7 // java.net.InetAddress addr
        end local 6 // int ppid
        end local 5 // boolean unordered
        end local 4 // int streamNumber
        end local 3 // java.net.SocketAddress target
        end local 2 // java.nio.ByteBuffer bb
        end local 1 // int fd
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 1054
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1055
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.isShutdown:Z
            ifeq 4
         2: .line 1056
            aload 0 /* this */
            aload 1
            monitorexit
         3: areturn
         4: .line 1058
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.ensureSendOpen:()V
         5: .line 1059
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.fdVal:I
            iconst_m1
            invokestatic sun.nio.ch.sctp.SctpNet.shutdown:(II)V
         6: .line 1060
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
            lconst_0
            lcmp
            ifeq 8
         7: .line 1061
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.senderThread:J
            invokestatic sun.nio.ch.NativeThread.signal:(J)V
         8: .line 1062
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.nio.ch.sctp.SctpChannelImpl.isShutdown:Z
         9: .line 1054
            aload 1
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 1
            monitorexit
        12: athrow
        13: .line 1064
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 1070
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1071
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 3
         2: .line 1072
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         3: .line 1073
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isBound:()Z
            ifne 6
         4: .line 1074
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            aload 1
            monitorexit
         5: areturn
         6: .line 1076
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1070
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         9: athrow
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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 // sun.nio.ch.sctp.SctpChannelImpl this
         0: .line 1083
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1084
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isOpen:()Z
            ifne 3
         2: .line 1085
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         3: .line 1086
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.sctp.SctpChannelImpl.isConnected:()Z
            ifeq 4
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.isShutdown:Z
            ifeq 6
         4: .line 1087
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            aload 1
            monitorexit
         5: areturn
         6: .line 1090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 1091
      StackMap locals:
      StackMap stack: java.net.SocketException
            pop
        10: .line 1093
            aload 0 /* this */
            getfield sun.nio.ch.sctp.SctpChannelImpl.remoteAddresses:Ljava/util/Set;
            aload 1
            monitorexit
        11: areturn
        12: .line 1083
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        13: athrow
        end local 0 // sun.nio.ch.sctp.SctpChannelImpl this
      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