class sun.nio.ch.WindowsAsynchronousSocketChannelImpl extends sun.nio.ch.AsynchronousSocketChannelImpl implements sun.nio.ch.Iocp$OverlappedChannel
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.ch.WindowsAsynchronousSocketChannelImpl
  super_class: sun.nio.ch.AsynchronousSocketChannelImpl
{
  private static final jdk.internal.misc.Unsafe unsafe;
    descriptor: Ljdk/internal/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static int addressSize;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final int SIZEOF_WSABUF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int OFFSETOF_LEN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int OFFSETOF_BUF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int MAX_WSABUF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int SIZEOF_WSABUFARRAY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  final long handle;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  private final sun.nio.ch.Iocp iocp;
    descriptor: Lsun/nio/ch/Iocp;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int completionKey;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.nio.ch.PendingIoCache ioCache;
    descriptor: Lsun/nio/ch/PendingIoCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long readBufferArray;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long writeBufferArray;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 46
            invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
            putstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.unsafe:Ljdk/internal/misc/Unsafe;
         1: .line 47
            getstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.unsafe:Ljdk/internal/misc/Unsafe;
            invokevirtual jdk.internal.misc.Unsafe.addressSize:()I
            putstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.addressSize:I
         2: .line 59
            bipush 8
            bipush 16
            invokestatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.dependsArch:(II)I
            putstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.SIZEOF_WSABUF:I
         3: .line 61
            iconst_4
            bipush 8
            invokestatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.dependsArch:(II)I
            putstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.OFFSETOF_BUF:I
         4: .line 66
            bipush 16
            getstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.SIZEOF_WSABUF:I
            imul
            putstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.SIZEOF_WSABUFARRAY:I
         5: .line 930
            invokestatic sun.nio.ch.IOUtil.load:()V
         6: .line 931
            invokestatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.initIDs:()V
         7: .line 932
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static int dependsArch(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int value32
        start local 1 // int value64
         0: .line 50
            getstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.addressSize:I
            iconst_4
            if_icmpne 1
            iload 0 /* value32 */
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* value64 */
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int value64
        end local 0 // int value32
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  value32  I
            0    3     1  value64  I
    MethodParameters:
         Name  Flags
      value32  
      value64  

  void <init>(sun.nio.ch.Iocp, boolean);
    descriptor: (Lsun/nio/ch/Iocp;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
        start local 1 // sun.nio.ch.Iocp iocp
        start local 2 // boolean failIfGroupShutdown
         0: .line 92
            aload 0 /* this */
            aload 1 /* iocp */
            invokespecial sun.nio.ch.AsynchronousSocketChannelImpl.<init>:(Lsun/nio/ch/AsynchronousChannelGroupImpl;)V
         1: .line 95
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.fd:Ljava/io/FileDescriptor;
            invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
            i2l
            lstore 3 /* h */
        start local 3 // long h
         2: .line 96
            iconst_0
            istore 5 /* key */
        start local 5 // int key
         3: .line 98
            aload 1 /* iocp */
            aload 0 /* this */
            lload 3 /* h */
            invokevirtual sun.nio.ch.Iocp.associate:(Lsun/nio/ch/Iocp$OverlappedChannel;J)I
            istore 5 /* key */
         4: .line 99
            goto 12
      StackMap locals: sun.nio.ch.WindowsAsynchronousSocketChannelImpl sun.nio.ch.Iocp int long int
      StackMap stack: java.nio.channels.ShutdownChannelGroupException
         5: astore 6 /* x */
        start local 6 // java.nio.channels.ShutdownChannelGroupException x
         6: .line 100
            iload 2 /* failIfGroupShutdown */
            ifeq 12
         7: .line 101
            lload 3 /* h */
            invokestatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.closesocket0:(J)V
         8: .line 102
            aload 6 /* x */
            athrow
        end local 6 // java.nio.channels.ShutdownChannelGroupException x
         9: .line 104
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 6 /* x */
        start local 6 // java.io.IOException x
        10: .line 105
            lload 3 /* h */
            invokestatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.closesocket0:(J)V
        11: .line 106
            aload 6 /* x */
            athrow
        end local 6 // java.io.IOException x
        12: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 3 /* h */
            putfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.handle:J
        13: .line 110
            aload 0 /* this */
            aload 1 /* iocp */
            putfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.iocp:Lsun/nio/ch/Iocp;
        14: .line 111
            aload 0 /* this */
            iload 5 /* key */
            putfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.completionKey:I
        15: .line 112
            aload 0 /* this */
            new sun.nio.ch.PendingIoCache
            dup
            invokespecial sun.nio.ch.PendingIoCache.<init>:()V
            putfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.ioCache:Lsun/nio/ch/PendingIoCache;
        16: .line 115
            aload 0 /* this */
            getstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.unsafe:Ljdk/internal/misc/Unsafe;
            getstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.SIZEOF_WSABUFARRAY:I
            i2l
            invokevirtual jdk.internal.misc.Unsafe.allocateMemory:(J)J
            putfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.readBufferArray:J
        17: .line 116
            aload 0 /* this */
            getstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.unsafe:Ljdk/internal/misc/Unsafe;
            getstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.SIZEOF_WSABUFARRAY:I
            i2l
            invokevirtual jdk.internal.misc.Unsafe.allocateMemory:(J)J
            putfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.writeBufferArray:J
        18: .line 117
            return
        end local 5 // int key
        end local 3 // long h
        end local 2 // boolean failIfGroupShutdown
        end local 1 // sun.nio.ch.Iocp iocp
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   19     0                 this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;
            0   19     1                 iocp  Lsun/nio/ch/Iocp;
            0   19     2  failIfGroupShutdown  Z
            2   19     3                    h  J
            3   19     5                  key  I
            6    9     6                    x  Ljava/nio/channels/ShutdownChannelGroupException;
           10   12     6                    x  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.nio.channels.ShutdownChannelGroupException
           3     4       9  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      iocp                 
      failIfGroupShutdown  

  void <init>(sun.nio.ch.Iocp);
    descriptor: (Lsun/nio/ch/Iocp;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
        start local 1 // sun.nio.ch.Iocp iocp
         0: .line 120
            aload 0 /* this */
            aload 1 /* iocp */
            iconst_1
            invokespecial sun.nio.ch.WindowsAsynchronousSocketChannelImpl.<init>:(Lsun/nio/ch/Iocp;Z)V
         1: .line 121
            return
        end local 1 // sun.nio.ch.Iocp iocp
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;
            0    2     1  iocp  Lsun/nio/ch/Iocp;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      iocp  

  public sun.nio.ch.AsynchronousChannelGroupImpl group();
    descriptor: ()Lsun/nio/ch/AsynchronousChannelGroupImpl;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
         0: .line 125
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.iocp:Lsun/nio/ch/Iocp;
            areturn
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;

  public <V, A> sun.nio.ch.PendingFuture<V, A> getByOverlapped(long);
    descriptor: (J)Lsun/nio/ch/PendingFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
        start local 1 // long overlapped
         0: .line 133
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.ioCache:Lsun/nio/ch/PendingIoCache;
            lload 1 /* overlapped */
            invokevirtual sun.nio.ch.PendingIoCache.remove:(J)Lsun/nio/ch/PendingFuture;
            areturn
        end local 1 // long overlapped
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;
            0    1     1  overlapped  J
    Signature: <V:Ljava/lang/Object;A:Ljava/lang/Object;>(J)Lsun/nio/ch/PendingFuture<TV;TA;>;
    MethodParameters:
            Name  Flags
      overlapped  

  long handle();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
         0: .line 138
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.handle:J
            lreturn
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;

  void setConnected(java.net.InetSocketAddress, java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
        start local 1 // java.net.InetSocketAddress localAddress
        start local 2 // java.net.InetSocketAddress remoteAddress
         0: .line 146
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 147
            aload 0 /* this */
            iconst_2
            putfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.state:I
         2: .line 148
            aload 0 /* this */
            aload 1 /* localAddress */
            putfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.localAddress:Ljava/net/InetSocketAddress;
         3: .line 149
            aload 0 /* this */
            aload 2 /* remoteAddress */
            putfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.remoteAddress:Ljava/net/InetSocketAddress;
         4: .line 146
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: sun.nio.ch.WindowsAsynchronousSocketChannelImpl java.net.InetSocketAddress java.net.InetSocketAddress java.lang.Object
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.net.InetSocketAddress remoteAddress
        end local 1 // java.net.InetSocketAddress localAddress
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;
            0    9     1   localAddress  Ljava/net/InetSocketAddress;
            0    9     2  remoteAddress  Ljava/net/InetSocketAddress;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
               Name  Flags
      localAddress   
      remoteAddress  

  void implClose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
         0: .line 156
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.handle:J
            invokestatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.closesocket0:(J)V
         1: .line 159
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.ioCache:Lsun/nio/ch/PendingIoCache;
            invokevirtual sun.nio.ch.PendingIoCache.close:()V
         2: .line 162
            getstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.readBufferArray:J
            invokevirtual jdk.internal.misc.Unsafe.freeMemory:(J)V
         3: .line 163
            getstatic sun.nio.ch.WindowsAsynchronousSocketChannelImpl.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.writeBufferArray:J
            invokevirtual jdk.internal.misc.Unsafe.freeMemory:(J)V
         4: .line 167
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.completionKey:I
            ifeq 6
         5: .line 168
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.iocp:Lsun/nio/ch/Iocp;
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.completionKey:I
            invokevirtual sun.nio.ch.Iocp.disassociate:(I)V
         6: .line 169
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;
    Exceptions:
      throws java.io.IOException

  public void onCancel(sun.nio.ch.PendingFuture<?, ?>);
    descriptor: (Lsun/nio/ch/PendingFuture;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
        start local 1 // sun.nio.ch.PendingFuture task
         0: .line 173
            aload 1 /* task */
            invokevirtual sun.nio.ch.PendingFuture.getContext:()Ljava/lang/Object;
            instanceof sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ConnectTask
            ifeq 2
         1: .line 174
            aload 0 /* this */
            invokevirtual sun.nio.ch.WindowsAsynchronousSocketChannelImpl.killConnect:()V
         2: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* task */
            invokevirtual sun.nio.ch.PendingFuture.getContext:()Ljava/lang/Object;
            instanceof sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask
            ifeq 4
         3: .line 176
            aload 0 /* this */
            invokevirtual sun.nio.ch.WindowsAsynchronousSocketChannelImpl.killReading:()V
         4: .line 177
      StackMap locals:
      StackMap stack:
            aload 1 /* task */
            invokevirtual sun.nio.ch.PendingFuture.getContext:()Ljava/lang/Object;
            instanceof sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask
            ifeq 6
         5: .line 178
            aload 0 /* this */
            invokevirtual sun.nio.ch.WindowsAsynchronousSocketChannelImpl.killWriting:()V
         6: .line 179
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.nio.ch.PendingFuture task
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;
            0    7     1  task  Lsun/nio/ch/PendingFuture<**>;
    Signature: (Lsun/nio/ch/PendingFuture<**>;)V
    MethodParameters:
      Name  Flags
      task  

  private void doPrivilegedBind(java.net.SocketAddress);
    descriptor: (Ljava/net/SocketAddress;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
        start local 1 // java.net.SocketAddress sa
         0: .line 308
            new sun.nio.ch.WindowsAsynchronousSocketChannelImpl$1
            dup
            aload 0 /* this */
            aload 1 /* sa */
            invokespecial sun.nio.ch.WindowsAsynchronousSocketChannelImpl$1.<init>:(Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;Ljava/net/SocketAddress;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         1: .line 314
            goto 4
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         2: astore 2 /* e */
        start local 2 // java.security.PrivilegedActionException e
         3: .line 315
            aload 2 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.io.IOException
            athrow
        end local 2 // java.security.PrivilegedActionException e
         4: .line 317
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.net.SocketAddress sa
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;
            0    5     1    sa  Ljava/net/SocketAddress;
            3    4     2     e  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      sa    final

  <A> java.util.concurrent.Future<java.lang.Void> implConnect(java.net.SocketAddress, A, java.nio.channels.CompletionHandler<java.lang.Void, ? super A>);
    descriptor: (Ljava/net/SocketAddress;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)Ljava/util/concurrent/Future;
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
        start local 1 // java.net.SocketAddress remote
        start local 2 // java.lang.Object attachment
        start local 3 // java.nio.channels.CompletionHandler handler
         0: .line 324
            aload 0 /* this */
            invokevirtual sun.nio.ch.WindowsAsynchronousSocketChannelImpl.isOpen:()Z
            ifne 6
         1: .line 325
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            astore 4 /* exc */
        start local 4 // java.lang.Throwable exc
         2: .line 326
            aload 3 /* handler */
            ifnonnull 4
         3: .line 327
            aload 4 /* exc */
            invokestatic sun.nio.ch.CompletedFuture.withFailure:(Ljava/lang/Throwable;)Lsun/nio/ch/CompletedFuture;
            areturn
         4: .line 328
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 3 /* handler */
            aload 2 /* attachment */
            aconst_null
            aload 4 /* exc */
            invokestatic sun.nio.ch.Invoker.invoke:(Ljava/nio/channels/AsynchronousChannel;Ljava/nio/channels/CompletionHandler;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
         5: .line 329
            aconst_null
            areturn
        end local 4 // java.lang.Throwable exc
         6: .line 332
      StackMap locals:
      StackMap stack:
            aload 1 /* remote */
            invokestatic sun.nio.ch.Net.checkAddress:(Ljava/net/SocketAddress;)Ljava/net/InetSocketAddress;
            astore 4 /* isa */
        start local 4 // java.net.InetSocketAddress isa
         7: .line 335
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 5 /* sm */
        start local 5 // java.lang.SecurityManager sm
         8: .line 336
            aload 5 /* sm */
            ifnull 10
         9: .line 337
            aload 5 /* sm */
            aload 4 /* isa */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            aload 4 /* isa */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokevirtual java.lang.SecurityManager.checkConnect:(Ljava/lang/String;I)V
        10: .line 341
      StackMap locals: java.net.InetSocketAddress java.lang.SecurityManager
      StackMap stack:
            aconst_null
            astore 6 /* bindException */
        start local 6 // java.io.IOException bindException
        11: .line 342
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.stateLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
        12: .line 343
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.state:I
            iconst_2
            if_icmpne 14
        13: .line 344
            new java.nio.channels.AlreadyConnectedException
            dup
            invokespecial java.nio.channels.AlreadyConnectedException.<init>:()V
            athrow
        14: .line 345
      StackMap locals: java.io.IOException java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.state:I
            iconst_1
            if_icmpne 16
        15: .line 346
            new java.nio.channels.ConnectionPendingException
            dup
            invokespecial java.nio.channels.ConnectionPendingException.<init>:()V
            athrow
        16: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.localAddress:Ljava/net/InetSocketAddress;
            ifnonnull 25
        17: .line 349
            new java.net.InetSocketAddress
            dup
            iconst_0
            invokespecial java.net.InetSocketAddress.<init>:(I)V
            astore 8 /* any */
        start local 8 // java.net.SocketAddress any
        18: .line 350
            aload 5 /* sm */
            ifnonnull 21
        19: .line 351
            aload 0 /* this */
            aload 8 /* any */
            invokevirtual sun.nio.ch.WindowsAsynchronousSocketChannelImpl.bind:(Ljava/net/SocketAddress;)Ljava/nio/channels/AsynchronousSocketChannel;
            pop
        20: .line 352
            goto 25
        21: .line 353
      StackMap locals: java.net.SocketAddress
      StackMap stack:
            aload 0 /* this */
            aload 8 /* any */
            invokevirtual sun.nio.ch.WindowsAsynchronousSocketChannelImpl.doPrivilegedBind:(Ljava/net/SocketAddress;)V
        end local 8 // java.net.SocketAddress any
        22: .line 355
            goto 25
      StackMap locals: sun.nio.ch.WindowsAsynchronousSocketChannelImpl java.net.SocketAddress java.lang.Object java.nio.channels.CompletionHandler java.net.InetSocketAddress java.lang.SecurityManager java.io.IOException java.lang.Object
      StackMap stack: java.io.IOException
        23: astore 8 /* x */
        start local 8 // java.io.IOException x
        24: .line 356
            aload 8 /* x */
            astore 6 /* bindException */
        end local 8 // java.io.IOException x
        25: .line 359
      StackMap locals:
      StackMap stack:
            aload 6 /* bindException */
            ifnonnull 27
        26: .line 360
            aload 0 /* this */
            iconst_1
            putfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.state:I
        27: .line 342
      StackMap locals:
      StackMap stack:
            aload 7
            monitorexit
        28: goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: aload 7
            monitorexit
        30: athrow
        31: .line 364
      StackMap locals:
      StackMap stack:
            aload 6 /* bindException */
            ifnull 39
        32: .line 366
            aload 0 /* this */
            invokevirtual sun.nio.ch.WindowsAsynchronousSocketChannelImpl.close:()V
        33: .line 367
            goto 35
      StackMap locals:
      StackMap stack: java.io.IOException
        34: pop
        35: .line 368
      StackMap locals:
      StackMap stack:
            aload 3 /* handler */
            ifnonnull 37
        36: .line 369
            aload 6 /* bindException */
            invokestatic sun.nio.ch.CompletedFuture.withFailure:(Ljava/lang/Throwable;)Lsun/nio/ch/CompletedFuture;
            areturn
        37: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* handler */
            aload 2 /* attachment */
            aconst_null
            aload 6 /* bindException */
            invokestatic sun.nio.ch.Invoker.invoke:(Ljava/nio/channels/AsynchronousChannel;Ljava/nio/channels/CompletionHandler;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
        38: .line 371
            aconst_null
            areturn
        39: .line 376
      StackMap locals:
      StackMap stack:
            new sun.nio.ch.PendingFuture
            dup
            aload 0 /* this */
            aload 3 /* handler */
            aload 2 /* attachment */
            invokespecial sun.nio.ch.PendingFuture.<init>:(Ljava/nio/channels/AsynchronousChannel;Ljava/nio/channels/CompletionHandler;Ljava/lang/Object;)V
        40: .line 375
            astore 7 /* result */
        start local 7 // sun.nio.ch.PendingFuture result
        41: .line 377
            new sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ConnectTask
            dup
            aload 0 /* this */
            aload 4 /* isa */
            aload 7 /* result */
            invokespecial sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ConnectTask.<init>:(Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;Ljava/net/InetSocketAddress;Lsun/nio/ch/PendingFuture;)V
            astore 8 /* task */
        start local 8 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ConnectTask task
        42: .line 378
            aload 7 /* result */
            aload 8 /* task */
            invokevirtual sun.nio.ch.PendingFuture.setContext:(Ljava/lang/Object;)V
        43: .line 381
            aload 8 /* task */
            invokevirtual sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ConnectTask.run:()V
        44: .line 382
            aload 7 /* result */
            areturn
        end local 8 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ConnectTask task
        end local 7 // sun.nio.ch.PendingFuture result
        end local 6 // java.io.IOException bindException
        end local 5 // java.lang.SecurityManager sm
        end local 4 // java.net.InetSocketAddress isa
        end local 3 // java.nio.channels.CompletionHandler handler
        end local 2 // java.lang.Object attachment
        end local 1 // java.net.SocketAddress remote
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   45     0           this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;
            0   45     1         remote  Ljava/net/SocketAddress;
            0   45     2     attachment  TA;
            0   45     3        handler  Ljava/nio/channels/CompletionHandler<Ljava/lang/Void;-TA;>;
            2    6     4            exc  Ljava/lang/Throwable;
            7   45     4            isa  Ljava/net/InetSocketAddress;
            8   45     5             sm  Ljava/lang/SecurityManager;
           11   45     6  bindException  Ljava/io/IOException;
           18   22     8            any  Ljava/net/SocketAddress;
           24   25     8              x  Ljava/io/IOException;
           41   45     7         result  Lsun/nio/ch/PendingFuture<Ljava/lang/Void;TA;>;
           42   45     8           task  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl$ConnectTask<TA;>;
      Exception table:
        from    to  target  type
          17    22      23  Class java.io.IOException
          12    28      29  any
          29    30      29  any
          32    33      34  Class java.io.IOException
    Signature: <A:Ljava/lang/Object;>(Ljava/net/SocketAddress;TA;Ljava/nio/channels/CompletionHandler<Ljava/lang/Void;-TA;>;)Ljava/util/concurrent/Future<Ljava/lang/Void;>;
    MethodParameters:
            Name  Flags
      remote      
      attachment  
      handler     

  <V extends java.lang.Number, A> java.util.concurrent.Future<V> implRead(boolean, java.nio.ByteBuffer, java.nio.ByteBuffer[], long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<V, ? super A>);
    descriptor: (ZLjava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)Ljava/util/concurrent/Future;
    flags: (0x0000) 
    Code:
      stack=6, locals=13, args_size=8
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
        start local 1 // boolean isScatteringRead
        start local 2 // java.nio.ByteBuffer dst
        start local 3 // java.nio.ByteBuffer[] dsts
        start local 4 // long timeout
        start local 6 // java.util.concurrent.TimeUnit unit
        start local 7 // java.lang.Object attachment
        start local 8 // java.nio.channels.CompletionHandler handler
         0: .line 629
            new sun.nio.ch.PendingFuture
            dup
            aload 0 /* this */
            aload 8 /* handler */
            aload 7 /* attachment */
            invokespecial sun.nio.ch.PendingFuture.<init>:(Ljava/nio/channels/AsynchronousChannel;Ljava/nio/channels/CompletionHandler;Ljava/lang/Object;)V
         1: .line 628
            astore 9 /* result */
        start local 9 // sun.nio.ch.PendingFuture result
         2: .line 631
            iload 1 /* isScatteringRead */
            ifeq 5
         3: .line 632
            aload 3 /* dsts */
            astore 10 /* bufs */
        start local 10 // java.nio.ByteBuffer[] bufs
         4: .line 633
            goto 7
        end local 10 // java.nio.ByteBuffer[] bufs
         5: .line 634
      StackMap locals: sun.nio.ch.PendingFuture
      StackMap stack:
            iconst_1
            anewarray java.nio.ByteBuffer
            astore 10 /* bufs */
        start local 10 // java.nio.ByteBuffer[] bufs
         6: .line 635
            aload 10 /* bufs */
            iconst_0
            aload 2 /* dst */
            aastore
         7: .line 638
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
            new sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask
            dup
            aload 0 /* this */
            aload 10 /* bufs */
            iload 1 /* isScatteringRead */
            aload 9 /* result */
            invokespecial sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask.<init>:(Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;[Ljava/nio/ByteBuffer;ZLsun/nio/ch/PendingFuture;)V
         8: .line 637
            astore 11 /* readTask */
        start local 11 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask readTask
         9: .line 639
            aload 9 /* result */
            aload 11 /* readTask */
            invokevirtual sun.nio.ch.PendingFuture.setContext:(Ljava/lang/Object;)V
        10: .line 642
            lload 4 /* timeout */
            lconst_0
            lcmp
            ifle 15
        11: .line 643
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.iocp:Lsun/nio/ch/Iocp;
            new sun.nio.ch.WindowsAsynchronousSocketChannelImpl$2
            dup
            aload 0 /* this */
            aload 11 /* readTask */
            invokespecial sun.nio.ch.WindowsAsynchronousSocketChannelImpl$2.<init>:(Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl$ReadTask;)V
        12: .line 647
            lload 4 /* timeout */
            aload 6 /* unit */
        13: .line 643
            invokevirtual sun.nio.ch.Iocp.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Future;
            astore 12 /* timeoutTask */
        start local 12 // java.util.concurrent.Future timeoutTask
        14: .line 648
            aload 9 /* result */
            aload 12 /* timeoutTask */
            invokevirtual sun.nio.ch.PendingFuture.setTimeoutTask:(Ljava/util/concurrent/Future;)V
        end local 12 // java.util.concurrent.Future timeoutTask
        15: .line 652
      StackMap locals: sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask
      StackMap stack:
            aload 11 /* readTask */
            invokevirtual sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask.run:()V
        16: .line 653
            aload 9 /* result */
            areturn
        end local 11 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask readTask
        end local 10 // java.nio.ByteBuffer[] bufs
        end local 9 // sun.nio.ch.PendingFuture result
        end local 8 // java.nio.channels.CompletionHandler handler
        end local 7 // java.lang.Object attachment
        end local 6 // java.util.concurrent.TimeUnit unit
        end local 4 // long timeout
        end local 3 // java.nio.ByteBuffer[] dsts
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // boolean isScatteringRead
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;
            0   17     1  isScatteringRead  Z
            0   17     2               dst  Ljava/nio/ByteBuffer;
            0   17     3              dsts  [Ljava/nio/ByteBuffer;
            0   17     4           timeout  J
            0   17     6              unit  Ljava/util/concurrent/TimeUnit;
            0   17     7        attachment  TA;
            0   17     8           handler  Ljava/nio/channels/CompletionHandler<TV;-TA;>;
            2   17     9            result  Lsun/nio/ch/PendingFuture<TV;TA;>;
            4    5    10              bufs  [Ljava/nio/ByteBuffer;
            6   17    10              bufs  [Ljava/nio/ByteBuffer;
            9   17    11          readTask  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl$ReadTask<TV;TA;>;
           14   15    12       timeoutTask  Ljava/util/concurrent/Future<*>;
    Signature: <V:Ljava/lang/Number;A:Ljava/lang/Object;>(ZLjava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;TA;Ljava/nio/channels/CompletionHandler<TV;-TA;>;)Ljava/util/concurrent/Future<TV;>;
    MethodParameters:
                  Name  Flags
      isScatteringRead  
      dst               
      dsts              
      timeout           
      unit              
      attachment        
      handler           

  <V extends java.lang.Number, A> java.util.concurrent.Future<V> implWrite(boolean, java.nio.ByteBuffer, java.nio.ByteBuffer[], long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<V, ? super A>);
    descriptor: (ZLjava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)Ljava/util/concurrent/Future;
    flags: (0x0000) 
    Code:
      stack=6, locals=13, args_size=8
        start local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
        start local 1 // boolean gatheringWrite
        start local 2 // java.nio.ByteBuffer src
        start local 3 // java.nio.ByteBuffer[] srcs
        start local 4 // long timeout
        start local 6 // java.util.concurrent.TimeUnit unit
        start local 7 // java.lang.Object attachment
        start local 8 // java.nio.channels.CompletionHandler handler
         0: .line 883
            new sun.nio.ch.PendingFuture
            dup
            aload 0 /* this */
            aload 8 /* handler */
            aload 7 /* attachment */
            invokespecial sun.nio.ch.PendingFuture.<init>:(Ljava/nio/channels/AsynchronousChannel;Ljava/nio/channels/CompletionHandler;Ljava/lang/Object;)V
         1: .line 882
            astore 9 /* result */
        start local 9 // sun.nio.ch.PendingFuture result
         2: .line 885
            iload 1 /* gatheringWrite */
            ifeq 5
         3: .line 886
            aload 3 /* srcs */
            astore 10 /* bufs */
        start local 10 // java.nio.ByteBuffer[] bufs
         4: .line 887
            goto 7
        end local 10 // java.nio.ByteBuffer[] bufs
         5: .line 888
      StackMap locals: sun.nio.ch.PendingFuture
      StackMap stack:
            iconst_1
            anewarray java.nio.ByteBuffer
            astore 10 /* bufs */
        start local 10 // java.nio.ByteBuffer[] bufs
         6: .line 889
            aload 10 /* bufs */
            iconst_0
            aload 2 /* src */
            aastore
         7: .line 892
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
            new sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask
            dup
            aload 0 /* this */
            aload 10 /* bufs */
            iload 1 /* gatheringWrite */
            aload 9 /* result */
            invokespecial sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask.<init>:(Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;[Ljava/nio/ByteBuffer;ZLsun/nio/ch/PendingFuture;)V
         8: .line 891
            astore 11 /* writeTask */
        start local 11 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask writeTask
         9: .line 893
            aload 9 /* result */
            aload 11 /* writeTask */
            invokevirtual sun.nio.ch.PendingFuture.setContext:(Ljava/lang/Object;)V
        10: .line 896
            lload 4 /* timeout */
            lconst_0
            lcmp
            ifle 15
        11: .line 897
            aload 0 /* this */
            getfield sun.nio.ch.WindowsAsynchronousSocketChannelImpl.iocp:Lsun/nio/ch/Iocp;
            new sun.nio.ch.WindowsAsynchronousSocketChannelImpl$3
            dup
            aload 0 /* this */
            aload 11 /* writeTask */
            invokespecial sun.nio.ch.WindowsAsynchronousSocketChannelImpl$3.<init>:(Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl$WriteTask;)V
        12: .line 901
            lload 4 /* timeout */
            aload 6 /* unit */
        13: .line 897
            invokevirtual sun.nio.ch.Iocp.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Future;
            astore 12 /* timeoutTask */
        start local 12 // java.util.concurrent.Future timeoutTask
        14: .line 902
            aload 9 /* result */
            aload 12 /* timeoutTask */
            invokevirtual sun.nio.ch.PendingFuture.setTimeoutTask:(Ljava/util/concurrent/Future;)V
        end local 12 // java.util.concurrent.Future timeoutTask
        15: .line 906
      StackMap locals: sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask
      StackMap stack:
            aload 11 /* writeTask */
            invokevirtual sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask.run:()V
        16: .line 907
            aload 9 /* result */
            areturn
        end local 11 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask writeTask
        end local 10 // java.nio.ByteBuffer[] bufs
        end local 9 // sun.nio.ch.PendingFuture result
        end local 8 // java.nio.channels.CompletionHandler handler
        end local 7 // java.lang.Object attachment
        end local 6 // java.util.concurrent.TimeUnit unit
        end local 4 // long timeout
        end local 3 // java.nio.ByteBuffer[] srcs
        end local 2 // java.nio.ByteBuffer src
        end local 1 // boolean gatheringWrite
        end local 0 // sun.nio.ch.WindowsAsynchronousSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl;
            0   17     1  gatheringWrite  Z
            0   17     2             src  Ljava/nio/ByteBuffer;
            0   17     3            srcs  [Ljava/nio/ByteBuffer;
            0   17     4         timeout  J
            0   17     6            unit  Ljava/util/concurrent/TimeUnit;
            0   17     7      attachment  TA;
            0   17     8         handler  Ljava/nio/channels/CompletionHandler<TV;-TA;>;
            2   17     9          result  Lsun/nio/ch/PendingFuture<TV;TA;>;
            4    5    10            bufs  [Ljava/nio/ByteBuffer;
            6   17    10            bufs  [Ljava/nio/ByteBuffer;
            9   17    11       writeTask  Lsun/nio/ch/WindowsAsynchronousSocketChannelImpl$WriteTask<TV;TA;>;
           14   15    12     timeoutTask  Ljava/util/concurrent/Future<*>;
    Signature: <V:Ljava/lang/Number;A:Ljava/lang/Object;>(ZLjava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;TA;Ljava/nio/channels/CompletionHandler<TV;-TA;>;)Ljava/util/concurrent/Future<TV;>;
    MethodParameters:
                Name  Flags
      gatheringWrite  
      src             
      srcs            
      timeout         
      unit            
      attachment      
      handler         

  private static native void initIDs();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native int connect0(long, boolean, java.net.InetAddress, int, long);
    descriptor: (JZLjava/net/InetAddress;IJ)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      socket      
      preferIPv6  
      remote      
      remotePort  
      overlapped  

  private static native void updateConnectContext(long);
    descriptor: (J)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      socket  

  private static native int read0(long, int, long, long);
    descriptor: (JIJJ)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      socket      
      count       
      addres      
      overlapped  

  private static native int write0(long, int, long, long);
    descriptor: (JIJJ)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      socket      
      count       
      address     
      overlapped  

  private static native void shutdown0(long, int);
    descriptor: (JI)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      socket  
      how     

  private static native void closesocket0(long);
    descriptor: (J)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      socket  
}
SourceFile: "WindowsAsynchronousSocketChannelImpl.java"
NestMembers:
  sun.nio.ch.WindowsAsynchronousSocketChannelImpl$1  sun.nio.ch.WindowsAsynchronousSocketChannelImpl$2  sun.nio.ch.WindowsAsynchronousSocketChannelImpl$3  sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ConnectTask  sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask  sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask
InnerClasses:
  abstract OverlappedChannel = sun.nio.ch.Iocp$OverlappedChannel of sun.nio.ch.Iocp
  sun.nio.ch.WindowsAsynchronousSocketChannelImpl$1
  sun.nio.ch.WindowsAsynchronousSocketChannelImpl$2
  sun.nio.ch.WindowsAsynchronousSocketChannelImpl$3
  private ConnectTask = sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ConnectTask of sun.nio.ch.WindowsAsynchronousSocketChannelImpl
  private ReadTask = sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask of sun.nio.ch.WindowsAsynchronousSocketChannelImpl
  private WriteTask = sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask of sun.nio.ch.WindowsAsynchronousSocketChannelImpl