public abstract class org.xnio.XnioIoThread extends java.lang.Thread implements org.xnio.XnioExecutor, org.xnio.XnioIoFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.xnio.XnioIoThread
  super_class: java.lang.Thread
{
  private final org.xnio.XnioWorker worker;
    descriptor: Lorg/xnio/XnioWorker;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  protected void <init>(org.xnio.XnioWorker, int);
    descriptor: (Lorg/xnio/XnioWorker;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // org.xnio.XnioWorker worker
        start local 2 // int number
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:()V
         1: .line 53
            aload 0 /* this */
            iload 2 /* number */
            putfield org.xnio.XnioIoThread.number:I
         2: .line 54
            aload 0 /* this */
            aload 1 /* worker */
            putfield org.xnio.XnioIoThread.worker:Lorg/xnio/XnioWorker;
         3: .line 55
            return
        end local 2 // int number
        end local 1 // org.xnio.XnioWorker worker
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/xnio/XnioIoThread;
            0    4     1  worker  Lorg/xnio/XnioWorker;
            0    4     2  number  I
    MethodParameters:
        Name  Flags
      worker  final
      number  final

  protected void <init>(org.xnio.XnioWorker, int, java.lang.String);
    descriptor: (Lorg/xnio/XnioWorker;ILjava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // org.xnio.XnioWorker worker
        start local 2 // int number
        start local 3 // java.lang.String name
         0: .line 65
            aload 0 /* this */
            aload 3 /* name */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/String;)V
         1: .line 66
            aload 0 /* this */
            iload 2 /* number */
            putfield org.xnio.XnioIoThread.number:I
         2: .line 67
            aload 0 /* this */
            aload 1 /* worker */
            putfield org.xnio.XnioIoThread.worker:Lorg/xnio/XnioWorker;
         3: .line 68
            return
        end local 3 // java.lang.String name
        end local 2 // int number
        end local 1 // org.xnio.XnioWorker worker
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/xnio/XnioIoThread;
            0    4     1  worker  Lorg/xnio/XnioWorker;
            0    4     2  number  I
            0    4     3    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      worker  final
      number  final
      name    final

  protected void <init>(org.xnio.XnioWorker, int, java.lang.ThreadGroup, java.lang.String);
    descriptor: (Lorg/xnio/XnioWorker;ILjava/lang/ThreadGroup;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // org.xnio.XnioWorker worker
        start local 2 // int number
        start local 3 // java.lang.ThreadGroup group
        start local 4 // java.lang.String name
         0: .line 79
            aload 0 /* this */
            aload 3 /* group */
            aload 4 /* name */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/String;)V
         1: .line 80
            aload 0 /* this */
            iload 2 /* number */
            putfield org.xnio.XnioIoThread.number:I
         2: .line 81
            aload 0 /* this */
            aload 1 /* worker */
            putfield org.xnio.XnioIoThread.worker:Lorg/xnio/XnioWorker;
         3: .line 82
            return
        end local 4 // java.lang.String name
        end local 3 // java.lang.ThreadGroup group
        end local 2 // int number
        end local 1 // org.xnio.XnioWorker worker
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/xnio/XnioIoThread;
            0    4     1  worker  Lorg/xnio/XnioWorker;
            0    4     2  number  I
            0    4     3   group  Ljava/lang/ThreadGroup;
            0    4     4    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      worker  final
      number  final
      group   final
      name    final

  protected void <init>(org.xnio.XnioWorker, int, java.lang.ThreadGroup, java.lang.String, long);
    descriptor: (Lorg/xnio/XnioWorker;ILjava/lang/ThreadGroup;Ljava/lang/String;J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // org.xnio.XnioWorker worker
        start local 2 // int number
        start local 3 // java.lang.ThreadGroup group
        start local 4 // java.lang.String name
        start local 5 // long stackSize
         0: .line 94
            aload 0 /* this */
            aload 3 /* group */
            aconst_null
            aload 4 /* name */
            lload 5 /* stackSize */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
         1: .line 95
            aload 0 /* this */
            iload 2 /* number */
            putfield org.xnio.XnioIoThread.number:I
         2: .line 96
            aload 0 /* this */
            aload 1 /* worker */
            putfield org.xnio.XnioIoThread.worker:Lorg/xnio/XnioWorker;
         3: .line 97
            return
        end local 5 // long stackSize
        end local 4 // java.lang.String name
        end local 3 // java.lang.ThreadGroup group
        end local 2 // int number
        end local 1 // org.xnio.XnioWorker worker
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/xnio/XnioIoThread;
            0    4     1     worker  Lorg/xnio/XnioWorker;
            0    4     2     number  I
            0    4     3      group  Ljava/lang/ThreadGroup;
            0    4     4       name  Ljava/lang/String;
            0    4     5  stackSize  J
    MethodParameters:
           Name  Flags
      worker     final
      number     final
      group      final
      name       final
      stackSize  final

  public static org.xnio.XnioIoThread currentThread();
    descriptor: ()Lorg/xnio/XnioIoThread;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 105
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 0 /* thread */
        start local 0 // java.lang.Thread thread
         1: .line 106
            aload 0 /* thread */
            instanceof org.xnio.XnioIoThread
            ifeq 3
         2: .line 107
            aload 0 /* thread */
            checkcast org.xnio.XnioIoThread
            areturn
         3: .line 109
      StackMap locals: java.lang.Thread
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Thread thread
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    4     0  thread  Ljava/lang/Thread;

  public static org.xnio.XnioIoThread requireCurrentThread();
    descriptor: ()Lorg/xnio/XnioIoThread;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 121
            invokestatic org.xnio.XnioIoThread.currentThread:()Lorg/xnio/XnioIoThread;
            astore 0 /* thread */
        start local 0 // org.xnio.XnioIoThread thread
         1: .line 122
            aload 0 /* thread */
            ifnonnull 3
         2: .line 123
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            invokeinterface org.xnio._private.Messages.xnioThreadRequired:()Ljava/lang/IllegalStateException;
            athrow
         3: .line 125
      StackMap locals: org.xnio.XnioIoThread
      StackMap stack:
            aload 0 /* thread */
            areturn
        end local 0 // org.xnio.XnioIoThread thread
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    4     0  thread  Lorg/xnio/XnioIoThread;
    Exceptions:
      throws java.lang.IllegalStateException

  public int getNumber();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.XnioIoThread this
         0: .line 134
            aload 0 /* this */
            getfield org.xnio.XnioIoThread.number:I
            ireturn
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/XnioIoThread;

  public org.xnio.XnioWorker getWorker();
    descriptor: ()Lorg/xnio/XnioWorker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.XnioIoThread this
         0: .line 143
            aload 0 /* this */
            getfield org.xnio.XnioIoThread.worker:Lorg/xnio/XnioWorker;
            areturn
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/XnioIoThread;

  public org.xnio.IoFuture<org.xnio.StreamConnection> acceptStreamConnection(java.net.SocketAddress, org.xnio.ChannelListener<? super org.xnio.StreamConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Ljava/net/SocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // java.net.SocketAddress destination
        start local 2 // org.xnio.ChannelListener openListener
        start local 3 // org.xnio.ChannelListener bindListener
        start local 4 // org.xnio.OptionMap optionMap
         0: .line 147
            aload 1 /* destination */
            ifnonnull 2
         1: .line 148
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "destination"
            invokeinterface org.xnio._private.Messages.nullParameter:(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
            athrow
         2: .line 150
      StackMap locals:
      StackMap stack:
            aload 1 /* destination */
            instanceof java.net.InetSocketAddress
            ifeq 4
         3: .line 151
            aload 0 /* this */
            aload 1 /* destination */
            checkcast java.net.InetSocketAddress
            aload 2 /* openListener */
            aload 3 /* bindListener */
            aload 4 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.acceptTcpStreamConnection:(Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
         4: .line 152
      StackMap locals:
      StackMap stack:
            aload 1 /* destination */
            instanceof org.xnio.LocalSocketAddress
            ifeq 6
         5: .line 153
            aload 0 /* this */
            aload 1 /* destination */
            checkcast org.xnio.LocalSocketAddress
            aload 2 /* openListener */
            aload 3 /* bindListener */
            aload 4 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.acceptLocalStreamConnection:(Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
         6: .line 155
      StackMap locals:
      StackMap stack:
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            aload 1 /* destination */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface org.xnio._private.Messages.badSockType:(Ljava/lang/Class;)Ljava/lang/IllegalArgumentException;
            athrow
        end local 4 // org.xnio.OptionMap optionMap
        end local 3 // org.xnio.ChannelListener bindListener
        end local 2 // org.xnio.ChannelListener openListener
        end local 1 // java.net.SocketAddress destination
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/xnio/XnioIoThread;
            0    7     1   destination  Ljava/net/SocketAddress;
            0    7     2  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;
            0    7     3  bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    7     4     optionMap  Lorg/xnio/OptionMap;
    Signature: (Ljava/net/SocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    MethodParameters:
              Name  Flags
      destination   
      openListener  
      bindListener  
      optionMap     

  protected org.xnio.IoFuture<org.xnio.StreamConnection> acceptLocalStreamConnection(org.xnio.LocalSocketAddress, org.xnio.ChannelListener<? super org.xnio.StreamConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // org.xnio.LocalSocketAddress destination
        start local 2 // org.xnio.ChannelListener openListener
        start local 3 // org.xnio.ChannelListener bindListener
        start local 4 // org.xnio.OptionMap optionMap
         0: .line 170
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "acceptLocalStreamConnection"
            invokeinterface org.xnio._private.Messages.unsupported:(Ljava/lang/String;)Ljava/lang/UnsupportedOperationException;
            athrow
        end local 4 // org.xnio.OptionMap optionMap
        end local 3 // org.xnio.ChannelListener bindListener
        end local 2 // org.xnio.ChannelListener openListener
        end local 1 // org.xnio.LocalSocketAddress destination
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/xnio/XnioIoThread;
            0    1     1   destination  Lorg/xnio/LocalSocketAddress;
            0    1     2  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;
            0    1     3  bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    1     4     optionMap  Lorg/xnio/OptionMap;
    Signature: (Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    MethodParameters:
              Name  Flags
      destination   
      openListener  
      bindListener  
      optionMap     

  protected org.xnio.IoFuture<org.xnio.StreamConnection> acceptTcpStreamConnection(java.net.InetSocketAddress, org.xnio.ChannelListener<? super org.xnio.StreamConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // java.net.InetSocketAddress destination
        start local 2 // org.xnio.ChannelListener openListener
        start local 3 // org.xnio.ChannelListener bindListener
        start local 4 // org.xnio.OptionMap optionMap
         0: .line 184
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "acceptTcpStreamConnection"
            invokeinterface org.xnio._private.Messages.unsupported:(Ljava/lang/String;)Ljava/lang/UnsupportedOperationException;
            athrow
        end local 4 // org.xnio.OptionMap optionMap
        end local 3 // org.xnio.ChannelListener bindListener
        end local 2 // org.xnio.ChannelListener openListener
        end local 1 // java.net.InetSocketAddress destination
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/xnio/XnioIoThread;
            0    1     1   destination  Ljava/net/InetSocketAddress;
            0    1     2  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;
            0    1     3  bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    1     4     optionMap  Lorg/xnio/OptionMap;
    Signature: (Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    MethodParameters:
              Name  Flags
      destination   
      openListener  
      bindListener  
      optionMap     

  public org.xnio.IoFuture<org.xnio.MessageConnection> openMessageConnection(java.net.SocketAddress, org.xnio.ChannelListener<? super org.xnio.MessageConnection>, org.xnio.OptionMap);
    descriptor: (Ljava/net/SocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // java.net.SocketAddress destination
        start local 2 // org.xnio.ChannelListener openListener
        start local 3 // org.xnio.OptionMap optionMap
         0: .line 188
            aload 1 /* destination */
            ifnonnull 2
         1: .line 189
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "destination"
            invokeinterface org.xnio._private.Messages.nullParameter:(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
            athrow
         2: .line 191
      StackMap locals:
      StackMap stack:
            aload 1 /* destination */
            instanceof org.xnio.LocalSocketAddress
            ifeq 4
         3: .line 192
            aload 0 /* this */
            getstatic org.xnio.Xnio.ANY_LOCAL_ADDRESS:Lorg/xnio/LocalSocketAddress;
            aload 1 /* destination */
            checkcast org.xnio.LocalSocketAddress
            aload 2 /* openListener */
            aload 3 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.openLocalMessageConnection:(Lorg/xnio/LocalSocketAddress;Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
         4: .line 194
      StackMap locals:
      StackMap stack:
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            aload 1 /* destination */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface org.xnio._private.Messages.badSockType:(Ljava/lang/Class;)Ljava/lang/IllegalArgumentException;
            athrow
        end local 3 // org.xnio.OptionMap optionMap
        end local 2 // org.xnio.ChannelListener openListener
        end local 1 // java.net.SocketAddress destination
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/xnio/XnioIoThread;
            0    5     1   destination  Ljava/net/SocketAddress;
            0    5     2  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/MessageConnection;>;
            0    5     3     optionMap  Lorg/xnio/OptionMap;
    Signature: (Ljava/net/SocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/MessageConnection;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/MessageConnection;>;
    MethodParameters:
              Name  Flags
      destination   final
      openListener  final
      optionMap     final

  public org.xnio.IoFuture<org.xnio.MessageConnection> acceptMessageConnection(java.net.SocketAddress, org.xnio.ChannelListener<? super org.xnio.MessageConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Ljava/net/SocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // java.net.SocketAddress destination
        start local 2 // org.xnio.ChannelListener openListener
        start local 3 // org.xnio.ChannelListener bindListener
        start local 4 // org.xnio.OptionMap optionMap
         0: .line 199
            aload 1 /* destination */
            ifnonnull 2
         1: .line 200
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "destination"
            invokeinterface org.xnio._private.Messages.nullParameter:(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
            athrow
         2: .line 202
      StackMap locals:
      StackMap stack:
            aload 1 /* destination */
            instanceof org.xnio.LocalSocketAddress
            ifeq 4
         3: .line 203
            aload 0 /* this */
            aload 1 /* destination */
            checkcast org.xnio.LocalSocketAddress
            aload 2 /* openListener */
            aload 3 /* bindListener */
            aload 4 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.acceptLocalMessageConnection:(Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
         4: .line 205
      StackMap locals:
      StackMap stack:
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            aload 1 /* destination */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface org.xnio._private.Messages.badSockType:(Ljava/lang/Class;)Ljava/lang/IllegalArgumentException;
            athrow
        end local 4 // org.xnio.OptionMap optionMap
        end local 3 // org.xnio.ChannelListener bindListener
        end local 2 // org.xnio.ChannelListener openListener
        end local 1 // java.net.SocketAddress destination
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/xnio/XnioIoThread;
            0    5     1   destination  Ljava/net/SocketAddress;
            0    5     2  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/MessageConnection;>;
            0    5     3  bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    5     4     optionMap  Lorg/xnio/OptionMap;
    Signature: (Ljava/net/SocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/MessageConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/MessageConnection;>;
    MethodParameters:
              Name  Flags
      destination   final
      openListener  final
      bindListener  final
      optionMap     final

  protected org.xnio.IoFuture<org.xnio.MessageConnection> acceptLocalMessageConnection(org.xnio.LocalSocketAddress, org.xnio.ChannelListener<? super org.xnio.MessageConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // org.xnio.LocalSocketAddress destination
        start local 2 // org.xnio.ChannelListener openListener
        start local 3 // org.xnio.ChannelListener bindListener
        start local 4 // org.xnio.OptionMap optionMap
         0: .line 220
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "acceptLocalMessageConnection"
            invokeinterface org.xnio._private.Messages.unsupported:(Ljava/lang/String;)Ljava/lang/UnsupportedOperationException;
            athrow
        end local 4 // org.xnio.OptionMap optionMap
        end local 3 // org.xnio.ChannelListener bindListener
        end local 2 // org.xnio.ChannelListener openListener
        end local 1 // org.xnio.LocalSocketAddress destination
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/xnio/XnioIoThread;
            0    1     1   destination  Lorg/xnio/LocalSocketAddress;
            0    1     2  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/MessageConnection;>;
            0    1     3  bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    1     4     optionMap  Lorg/xnio/OptionMap;
    Signature: (Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/MessageConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/MessageConnection;>;
    MethodParameters:
              Name  Flags
      destination   
      openListener  
      bindListener  
      optionMap     

  public org.xnio.IoFuture<org.xnio.StreamConnection> openStreamConnection(java.net.SocketAddress, org.xnio.ChannelListener<? super org.xnio.StreamConnection>, org.xnio.OptionMap);
    descriptor: (Ljava/net/SocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // java.net.SocketAddress destination
        start local 2 // org.xnio.ChannelListener openListener
        start local 3 // org.xnio.OptionMap optionMap
         0: .line 224
            ldc "destination"
            aload 1 /* destination */
            invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 225
            aload 1 /* destination */
            instanceof java.net.InetSocketAddress
            ifeq 3
         2: .line 226
            aload 0 /* this */
            aload 1 /* destination */
            checkcast java.net.InetSocketAddress
            aload 2 /* openListener */
            aconst_null
            aload 3 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.internalOpenTcpStreamConnection:(Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
         3: .line 227
      StackMap locals:
      StackMap stack:
            aload 1 /* destination */
            instanceof org.xnio.LocalSocketAddress
            ifeq 5
         4: .line 228
            aload 0 /* this */
            getstatic org.xnio.Xnio.ANY_LOCAL_ADDRESS:Lorg/xnio/LocalSocketAddress;
            aload 1 /* destination */
            checkcast org.xnio.LocalSocketAddress
            aload 2 /* openListener */
            aconst_null
            aload 3 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.openLocalStreamConnection:(Lorg/xnio/LocalSocketAddress;Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
         5: .line 230
      StackMap locals:
      StackMap stack:
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            aload 1 /* destination */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface org.xnio._private.Messages.badSockType:(Ljava/lang/Class;)Ljava/lang/IllegalArgumentException;
            athrow
        end local 3 // org.xnio.OptionMap optionMap
        end local 2 // org.xnio.ChannelListener openListener
        end local 1 // java.net.SocketAddress destination
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/xnio/XnioIoThread;
            0    6     1   destination  Ljava/net/SocketAddress;
            0    6     2  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;
            0    6     3     optionMap  Lorg/xnio/OptionMap;
    Signature: (Ljava/net/SocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    MethodParameters:
              Name  Flags
      destination   
      openListener  
      optionMap     

  public org.xnio.IoFuture<org.xnio.StreamConnection> openStreamConnection(java.net.SocketAddress, org.xnio.ChannelListener<? super org.xnio.StreamConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Ljava/net/SocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // java.net.SocketAddress destination
        start local 2 // org.xnio.ChannelListener openListener
        start local 3 // org.xnio.ChannelListener bindListener
        start local 4 // org.xnio.OptionMap optionMap
         0: .line 235
            ldc "destination"
            aload 1 /* destination */
            invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 236
            aload 1 /* destination */
            instanceof java.net.InetSocketAddress
            ifeq 3
         2: .line 237
            aload 0 /* this */
            aload 1 /* destination */
            checkcast java.net.InetSocketAddress
            aload 2 /* openListener */
            aload 3 /* bindListener */
            aload 4 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.internalOpenTcpStreamConnection:(Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
         3: .line 238
      StackMap locals:
      StackMap stack:
            aload 1 /* destination */
            instanceof org.xnio.LocalSocketAddress
            ifeq 5
         4: .line 239
            aload 0 /* this */
            getstatic org.xnio.Xnio.ANY_LOCAL_ADDRESS:Lorg/xnio/LocalSocketAddress;
            aload 1 /* destination */
            checkcast org.xnio.LocalSocketAddress
            aload 2 /* openListener */
            aload 3 /* bindListener */
            aload 4 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.openLocalStreamConnection:(Lorg/xnio/LocalSocketAddress;Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
         5: .line 241
      StackMap locals:
      StackMap stack:
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            aload 1 /* destination */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface org.xnio._private.Messages.badSockType:(Ljava/lang/Class;)Ljava/lang/IllegalArgumentException;
            athrow
        end local 4 // org.xnio.OptionMap optionMap
        end local 3 // org.xnio.ChannelListener bindListener
        end local 2 // org.xnio.ChannelListener openListener
        end local 1 // java.net.SocketAddress destination
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/xnio/XnioIoThread;
            0    6     1   destination  Ljava/net/SocketAddress;
            0    6     2  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;
            0    6     3  bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    6     4     optionMap  Lorg/xnio/OptionMap;
    Signature: (Ljava/net/SocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    MethodParameters:
              Name  Flags
      destination   
      openListener  
      bindListener  
      optionMap     

  private org.xnio.IoFuture<org.xnio.StreamConnection> internalOpenTcpStreamConnection(java.net.InetSocketAddress, org.xnio.ChannelListener<? super org.xnio.StreamConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // java.net.InetSocketAddress destination
        start local 2 // org.xnio.ChannelListener openListener
        start local 3 // org.xnio.ChannelListener bindListener
        start local 4 // org.xnio.OptionMap optionMap
         0: .line 246
            aload 1 /* destination */
            invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
            ifeq 5
         1: .line 248
            new java.net.InetSocketAddress
            dup
            aload 1 /* destination */
            invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
            invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
            aload 1 /* destination */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            astore 1 /* destination */
         2: .line 249
            goto 5
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
         3: astore 5 /* e */
        start local 5 // java.net.UnknownHostException e
         4: .line 250
            new org.xnio.FailedIoFuture
            dup
            aload 5 /* e */
            invokespecial org.xnio.FailedIoFuture.<init>:(Ljava/io/IOException;)V
            areturn
        end local 5 // java.net.UnknownHostException e
         5: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.xnio.XnioIoThread.getWorker:()Lorg/xnio/XnioWorker;
            invokevirtual org.xnio.XnioWorker.getBindAddressTable:()Lorg/wildfly/common/net/CidrAddressTable;
            aload 1 /* destination */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual org.wildfly.common.net.CidrAddressTable.get:(Ljava/net/InetAddress;)Ljava/lang/Object;
            checkcast java.net.InetSocketAddress
            astore 5 /* bindAddress */
        start local 5 // java.net.InetSocketAddress bindAddress
         6: .line 254
            aload 0 /* this */
            aload 5 /* bindAddress */
            aload 1 /* destination */
            aload 2 /* openListener */
            aload 3 /* bindListener */
            aload 4 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.openTcpStreamConnection:(Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
        end local 5 // java.net.InetSocketAddress bindAddress
        end local 4 // org.xnio.OptionMap optionMap
        end local 3 // org.xnio.ChannelListener bindListener
        end local 2 // org.xnio.ChannelListener openListener
        end local 1 // java.net.InetSocketAddress destination
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/xnio/XnioIoThread;
            0    7     1   destination  Ljava/net/InetSocketAddress;
            0    7     2  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;
            0    7     3  bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    7     4     optionMap  Lorg/xnio/OptionMap;
            4    5     5             e  Ljava/net/UnknownHostException;
            6    7     5   bindAddress  Ljava/net/InetSocketAddress;
      Exception table:
        from    to  target  type
           1     2       3  Class java.net.UnknownHostException
    Signature: (Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    MethodParameters:
              Name  Flags
      destination   
      openListener  
      bindListener  
      optionMap     

  public org.xnio.IoFuture<org.xnio.StreamConnection> openStreamConnection(java.net.SocketAddress, java.net.SocketAddress, org.xnio.ChannelListener<? super org.xnio.StreamConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // java.net.SocketAddress bindAddress
        start local 2 // java.net.SocketAddress destination
        start local 3 // org.xnio.ChannelListener openListener
        start local 4 // org.xnio.ChannelListener bindListener
        start local 5 // org.xnio.OptionMap optionMap
         0: .line 258
            ldc "bindAddress"
            aload 1 /* bindAddress */
            invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 259
            ldc "destination"
            aload 2 /* destination */
            invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 260
            aload 1 /* bindAddress */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* destination */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 261
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            aload 1 /* bindAddress */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* destination */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface org.xnio._private.Messages.mismatchSockType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/IllegalArgumentException;
            athrow
         4: .line 263
      StackMap locals:
      StackMap stack:
            aload 2 /* destination */
            instanceof java.net.InetSocketAddress
            ifeq 6
         5: .line 264
            aload 0 /* this */
            aload 1 /* bindAddress */
            checkcast java.net.InetSocketAddress
            aload 2 /* destination */
            checkcast java.net.InetSocketAddress
            aload 3 /* openListener */
            aload 4 /* bindListener */
            aload 5 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.openTcpStreamConnection:(Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
         6: .line 265
      StackMap locals:
      StackMap stack:
            aload 2 /* destination */
            instanceof org.xnio.LocalSocketAddress
            ifeq 8
         7: .line 266
            aload 0 /* this */
            aload 1 /* bindAddress */
            checkcast org.xnio.LocalSocketAddress
            aload 2 /* destination */
            checkcast org.xnio.LocalSocketAddress
            aload 3 /* openListener */
            aload 4 /* bindListener */
            aload 5 /* optionMap */
            invokevirtual org.xnio.XnioIoThread.openLocalStreamConnection:(Lorg/xnio/LocalSocketAddress;Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
            areturn
         8: .line 268
      StackMap locals:
      StackMap stack:
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            aload 2 /* destination */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface org.xnio._private.Messages.badSockType:(Ljava/lang/Class;)Ljava/lang/IllegalArgumentException;
            athrow
        end local 5 // org.xnio.OptionMap optionMap
        end local 4 // org.xnio.ChannelListener bindListener
        end local 3 // org.xnio.ChannelListener openListener
        end local 2 // java.net.SocketAddress destination
        end local 1 // java.net.SocketAddress bindAddress
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/xnio/XnioIoThread;
            0    9     1   bindAddress  Ljava/net/SocketAddress;
            0    9     2   destination  Ljava/net/SocketAddress;
            0    9     3  openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;
            0    9     4  bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    9     5     optionMap  Lorg/xnio/OptionMap;
    Signature: (Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    MethodParameters:
              Name  Flags
      bindAddress   
      destination   
      openListener  
      bindListener  
      optionMap     

  protected org.xnio.IoFuture<org.xnio.StreamConnection> openTcpStreamConnection(java.net.InetSocketAddress, java.net.InetSocketAddress, org.xnio.ChannelListener<? super org.xnio.StreamConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // java.net.InetSocketAddress bindAddress
        start local 2 // java.net.InetSocketAddress destinationAddress
        start local 3 // org.xnio.ChannelListener openListener
        start local 4 // org.xnio.ChannelListener bindListener
        start local 5 // org.xnio.OptionMap optionMap
         0: .line 283
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "openTcpStreamConnection"
            invokeinterface org.xnio._private.Messages.unsupported:(Ljava/lang/String;)Ljava/lang/UnsupportedOperationException;
            athrow
        end local 5 // org.xnio.OptionMap optionMap
        end local 4 // org.xnio.ChannelListener bindListener
        end local 3 // org.xnio.ChannelListener openListener
        end local 2 // java.net.InetSocketAddress destinationAddress
        end local 1 // java.net.InetSocketAddress bindAddress
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/xnio/XnioIoThread;
            0    1     1         bindAddress  Ljava/net/InetSocketAddress;
            0    1     2  destinationAddress  Ljava/net/InetSocketAddress;
            0    1     3        openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;
            0    1     4        bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    1     5           optionMap  Lorg/xnio/OptionMap;
    Signature: (Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    MethodParameters:
                    Name  Flags
      bindAddress         
      destinationAddress  
      openListener        
      bindListener        
      optionMap           

  protected org.xnio.IoFuture<org.xnio.StreamConnection> openLocalStreamConnection(org.xnio.LocalSocketAddress, org.xnio.LocalSocketAddress, org.xnio.ChannelListener<? super org.xnio.StreamConnection>, org.xnio.ChannelListener<? super org.xnio.channels.BoundChannel>, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/LocalSocketAddress;Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // org.xnio.LocalSocketAddress bindAddress
        start local 2 // org.xnio.LocalSocketAddress destinationAddress
        start local 3 // org.xnio.ChannelListener openListener
        start local 4 // org.xnio.ChannelListener bindListener
        start local 5 // org.xnio.OptionMap optionMap
         0: .line 297
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "openLocalStreamConnection"
            invokeinterface org.xnio._private.Messages.unsupported:(Ljava/lang/String;)Ljava/lang/UnsupportedOperationException;
            athrow
        end local 5 // org.xnio.OptionMap optionMap
        end local 4 // org.xnio.ChannelListener bindListener
        end local 3 // org.xnio.ChannelListener openListener
        end local 2 // org.xnio.LocalSocketAddress destinationAddress
        end local 1 // org.xnio.LocalSocketAddress bindAddress
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/xnio/XnioIoThread;
            0    1     1         bindAddress  Lorg/xnio/LocalSocketAddress;
            0    1     2  destinationAddress  Lorg/xnio/LocalSocketAddress;
            0    1     3        openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;
            0    1     4        bindListener  Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;
            0    1     5           optionMap  Lorg/xnio/OptionMap;
    Signature: (Lorg/xnio/LocalSocketAddress;Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/StreamConnection;>;Lorg/xnio/ChannelListener<-Lorg/xnio/channels/BoundChannel;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/StreamConnection;>;
    MethodParameters:
                    Name  Flags
      bindAddress         
      destinationAddress  
      openListener        
      bindListener        
      optionMap           

  protected org.xnio.IoFuture<org.xnio.MessageConnection> openLocalMessageConnection(org.xnio.LocalSocketAddress, org.xnio.LocalSocketAddress, org.xnio.ChannelListener<? super org.xnio.MessageConnection>, org.xnio.OptionMap);
    descriptor: (Lorg/xnio/LocalSocketAddress;Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // org.xnio.LocalSocketAddress bindAddress
        start local 2 // org.xnio.LocalSocketAddress destinationAddress
        start local 3 // org.xnio.ChannelListener openListener
        start local 4 // org.xnio.OptionMap optionMap
         0: .line 310
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "openLocalMessageConnection"
            invokeinterface org.xnio._private.Messages.unsupported:(Ljava/lang/String;)Ljava/lang/UnsupportedOperationException;
            athrow
        end local 4 // org.xnio.OptionMap optionMap
        end local 3 // org.xnio.ChannelListener openListener
        end local 2 // org.xnio.LocalSocketAddress destinationAddress
        end local 1 // org.xnio.LocalSocketAddress bindAddress
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/xnio/XnioIoThread;
            0    1     1         bindAddress  Lorg/xnio/LocalSocketAddress;
            0    1     2  destinationAddress  Lorg/xnio/LocalSocketAddress;
            0    1     3        openListener  Lorg/xnio/ChannelListener<-Lorg/xnio/MessageConnection;>;
            0    1     4           optionMap  Lorg/xnio/OptionMap;
    Signature: (Lorg/xnio/LocalSocketAddress;Lorg/xnio/LocalSocketAddress;Lorg/xnio/ChannelListener<-Lorg/xnio/MessageConnection;>;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture<Lorg/xnio/MessageConnection;>;
    MethodParameters:
                    Name  Flags
      bindAddress         
      destinationAddress  
      openListener        
      optionMap           

  public org.xnio.ChannelPipe<org.xnio.channels.StreamChannel, org.xnio.channels.StreamChannel> createFullDuplexPipe();
    descriptor: ()Lorg/xnio/ChannelPipe;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.xnio.XnioIoThread this
         0: .line 314
            aload 0 /* this */
            invokevirtual org.xnio.XnioIoThread.createFullDuplexPipeConnection:()Lorg/xnio/ChannelPipe;
            astore 1 /* connection */
        start local 1 // org.xnio.ChannelPipe connection
         1: .line 315
            new org.xnio.channels.AssembledStreamChannel
            dup
            aload 1 /* connection */
            invokevirtual org.xnio.ChannelPipe.getLeftSide:()Lorg/xnio/channels/CloseableChannel;
            aload 1 /* connection */
            invokevirtual org.xnio.ChannelPipe.getLeftSide:()Lorg/xnio/channels/CloseableChannel;
            checkcast org.xnio.StreamConnection
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            aload 1 /* connection */
            invokevirtual org.xnio.ChannelPipe.getLeftSide:()Lorg/xnio/channels/CloseableChannel;
            checkcast org.xnio.StreamConnection
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokespecial org.xnio.channels.AssembledStreamChannel.<init>:(Lorg/xnio/channels/CloseableChannel;Lorg/xnio/channels/StreamSourceChannel;Lorg/xnio/channels/StreamSinkChannel;)V
            astore 2 /* left */
        start local 2 // org.xnio.channels.StreamChannel left
         2: .line 316
            new org.xnio.channels.AssembledStreamChannel
            dup
            aload 1 /* connection */
            invokevirtual org.xnio.ChannelPipe.getRightSide:()Lorg/xnio/channels/CloseableChannel;
            aload 1 /* connection */
            invokevirtual org.xnio.ChannelPipe.getRightSide:()Lorg/xnio/channels/CloseableChannel;
            checkcast org.xnio.StreamConnection
            invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
            aload 1 /* connection */
            invokevirtual org.xnio.ChannelPipe.getRightSide:()Lorg/xnio/channels/CloseableChannel;
            checkcast org.xnio.StreamConnection
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokespecial org.xnio.channels.AssembledStreamChannel.<init>:(Lorg/xnio/channels/CloseableChannel;Lorg/xnio/channels/StreamSourceChannel;Lorg/xnio/channels/StreamSinkChannel;)V
            astore 3 /* right */
        start local 3 // org.xnio.channels.StreamChannel right
         3: .line 317
            new org.xnio.ChannelPipe
            dup
            aload 2 /* left */
            aload 3 /* right */
            invokespecial org.xnio.ChannelPipe.<init>:(Lorg/xnio/channels/CloseableChannel;Lorg/xnio/channels/CloseableChannel;)V
            areturn
        end local 3 // org.xnio.channels.StreamChannel right
        end local 2 // org.xnio.channels.StreamChannel left
        end local 1 // org.xnio.ChannelPipe connection
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/xnio/XnioIoThread;
            1    4     1  connection  Lorg/xnio/ChannelPipe<Lorg/xnio/StreamConnection;Lorg/xnio/StreamConnection;>;
            2    4     2        left  Lorg/xnio/channels/StreamChannel;
            3    4     3       right  Lorg/xnio/channels/StreamChannel;
    Exceptions:
      throws java.io.IOException
    Signature: ()Lorg/xnio/ChannelPipe<Lorg/xnio/channels/StreamChannel;Lorg/xnio/channels/StreamChannel;>;

  public org.xnio.ChannelPipe<org.xnio.StreamConnection, org.xnio.StreamConnection> createFullDuplexPipeConnection();
    descriptor: ()Lorg/xnio/ChannelPipe;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.xnio.XnioIoThread this
         0: .line 321
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.xnio.XnioIoThread.createFullDuplexPipeConnection:(Lorg/xnio/XnioIoFactory;)Lorg/xnio/ChannelPipe;
            areturn
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/XnioIoThread;
    Exceptions:
      throws java.io.IOException
    Signature: ()Lorg/xnio/ChannelPipe<Lorg/xnio/StreamConnection;Lorg/xnio/StreamConnection;>;

  public org.xnio.ChannelPipe<org.xnio.channels.StreamSourceChannel, org.xnio.channels.StreamSinkChannel> createHalfDuplexPipe();
    descriptor: ()Lorg/xnio/ChannelPipe;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.xnio.XnioIoThread this
         0: .line 325
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.xnio.XnioIoThread.createHalfDuplexPipe:(Lorg/xnio/XnioIoFactory;)Lorg/xnio/ChannelPipe;
            areturn
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/XnioIoThread;
    Exceptions:
      throws java.io.IOException
    Signature: ()Lorg/xnio/ChannelPipe<Lorg/xnio/channels/StreamSourceChannel;Lorg/xnio/channels/StreamSinkChannel;>;

  public org.xnio.ChannelPipe<org.xnio.StreamConnection, org.xnio.StreamConnection> createFullDuplexPipeConnection(org.xnio.XnioIoFactory);
    descriptor: (Lorg/xnio/XnioIoFactory;)Lorg/xnio/ChannelPipe;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // org.xnio.XnioIoFactory peer
         0: .line 329
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "createFullDuplexPipeConnection"
            invokeinterface org.xnio._private.Messages.unsupported:(Ljava/lang/String;)Ljava/lang/UnsupportedOperationException;
            athrow
        end local 1 // org.xnio.XnioIoFactory peer
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/XnioIoThread;
            0    1     1  peer  Lorg/xnio/XnioIoFactory;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/xnio/XnioIoFactory;)Lorg/xnio/ChannelPipe<Lorg/xnio/StreamConnection;Lorg/xnio/StreamConnection;>;
    MethodParameters:
      Name  Flags
      peer  final

  public org.xnio.ChannelPipe<org.xnio.channels.StreamSourceChannel, org.xnio.channels.StreamSinkChannel> createHalfDuplexPipe(org.xnio.XnioIoFactory);
    descriptor: (Lorg/xnio/XnioIoFactory;)Lorg/xnio/ChannelPipe;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.xnio.XnioIoThread this
        start local 1 // org.xnio.XnioIoFactory peer
         0: .line 333
            getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
            ldc "createHalfDuplexPipe"
            invokeinterface org.xnio._private.Messages.unsupported:(Ljava/lang/String;)Ljava/lang/UnsupportedOperationException;
            athrow
        end local 1 // org.xnio.XnioIoFactory peer
        end local 0 // org.xnio.XnioIoThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/XnioIoThread;
            0    1     1  peer  Lorg/xnio/XnioIoFactory;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/xnio/XnioIoFactory;)Lorg/xnio/ChannelPipe<Lorg/xnio/channels/StreamSourceChannel;Lorg/xnio/channels/StreamSinkChannel;>;
    MethodParameters:
      Name  Flags
      peer  final
}
SourceFile: "XnioIoThread.java"