final class org.xnio.nio.NioSocketStreamConnection extends org.xnio.nio.AbstractNioStreamConnection
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.xnio.nio.NioSocketStreamConnection
  super_class: org.xnio.nio.AbstractNioStreamConnection
{
  private final org.xnio.nio.ChannelClosed closedHandle;
    descriptor: Lorg/xnio/nio/ChannelClosed;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.xnio.nio.NioSocketConduit conduit;
    descriptor: Lorg/xnio/nio/NioSocketConduit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.util.Set<org.xnio.Option<?>> OPTIONS;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/xnio/Option<*>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 59
            invokestatic org.xnio.Option.setBuilder:()Lorg/xnio/Option$SetBuilder;
         1: .line 60
            getstatic org.xnio.Options.CLOSE_ABORT:Lorg/xnio/Option;
            invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
         2: .line 61
            getstatic org.xnio.Options.IP_TRAFFIC_CLASS:Lorg/xnio/Option;
            invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
         3: .line 62
            getstatic org.xnio.Options.KEEP_ALIVE:Lorg/xnio/Option;
            invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
         4: .line 63
            getstatic org.xnio.Options.READ_TIMEOUT:Lorg/xnio/Option;
            invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
         5: .line 64
            getstatic org.xnio.Options.RECEIVE_BUFFER:Lorg/xnio/Option;
            invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
         6: .line 65
            getstatic org.xnio.Options.SEND_BUFFER:Lorg/xnio/Option;
            invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
         7: .line 66
            getstatic org.xnio.Options.TCP_NODELAY:Lorg/xnio/Option;
            invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
         8: .line 67
            getstatic org.xnio.Options.TCP_OOB_INLINE:Lorg/xnio/Option;
            invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
         9: .line 68
            getstatic org.xnio.Options.WRITE_TIMEOUT:Lorg/xnio/Option;
            invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
        10: .line 69
            invokevirtual org.xnio.Option$SetBuilder.create:()Ljava/util/Set;
        11: .line 59
            putstatic org.xnio.nio.NioSocketStreamConnection.OPTIONS:Ljava/util/Set;
        12: .line 69
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.xnio.nio.WorkerThread, java.nio.channels.SelectionKey, org.xnio.nio.ChannelClosed);
    descriptor: (Lorg/xnio/nio/WorkerThread;Ljava/nio/channels/SelectionKey;Lorg/xnio/nio/ChannelClosed;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
        start local 1 // org.xnio.nio.WorkerThread workerThread
        start local 2 // java.nio.channels.SelectionKey key
        start local 3 // org.xnio.nio.ChannelClosed closedHandle
         0: .line 41
            aload 0 /* this */
            aload 1 /* workerThread */
            invokespecial org.xnio.nio.AbstractNioStreamConnection.<init>:(Lorg/xnio/nio/WorkerThread;)V
         1: .line 42
            aload 0 /* this */
            new org.xnio.nio.NioSocketConduit
            dup
            aload 1 /* workerThread */
            aload 2 /* key */
            aload 0 /* this */
            invokespecial org.xnio.nio.NioSocketConduit.<init>:(Lorg/xnio/nio/WorkerThread;Ljava/nio/channels/SelectionKey;Lorg/xnio/nio/NioSocketStreamConnection;)V
            putfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
         2: .line 43
            aload 2 /* key */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual java.nio.channels.SelectionKey.attach:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 44
            aload 0 /* this */
            aload 3 /* closedHandle */
            putfield org.xnio.nio.NioSocketStreamConnection.closedHandle:Lorg/xnio/nio/ChannelClosed;
         4: .line 45
            aload 0 /* this */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketStreamConnection.setSinkConduit:(Lorg/xnio/conduits/StreamSinkConduit;)V
         5: .line 46
            aload 0 /* this */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketStreamConnection.setSourceConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
         6: .line 47
            return
        end local 3 // org.xnio.nio.ChannelClosed closedHandle
        end local 2 // java.nio.channels.SelectionKey key
        end local 1 // org.xnio.nio.WorkerThread workerThread
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/xnio/nio/NioSocketStreamConnection;
            0    7     1  workerThread  Lorg/xnio/nio/WorkerThread;
            0    7     2           key  Ljava/nio/channels/SelectionKey;
            0    7     3  closedHandle  Lorg/xnio/nio/ChannelClosed;
    MethodParameters:
              Name  Flags
      workerThread  final
      key           final
      closedHandle  final

  public java.net.SocketAddress getPeerAddress();
    descriptor: ()Ljava/net/SocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
         0: .line 50
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            astore 1 /* socket */
        start local 1 // java.net.Socket socket
         1: .line 51
            new java.net.InetSocketAddress
            dup
            aload 1 /* socket */
            invokevirtual java.net.Socket.getInetAddress:()Ljava/net/InetAddress;
            aload 1 /* socket */
            invokevirtual java.net.Socket.getPort:()I
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            areturn
        end local 1 // java.net.Socket socket
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/xnio/nio/NioSocketStreamConnection;
            1    2     1  socket  Ljava/net/Socket;

  public java.net.SocketAddress getLocalAddress();
    descriptor: ()Ljava/net/SocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
         0: .line 55
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            astore 1 /* socket */
        start local 1 // java.net.Socket socket
         1: .line 56
            new java.net.InetSocketAddress
            dup
            aload 1 /* socket */
            invokevirtual java.net.Socket.getLocalAddress:()Ljava/net/InetAddress;
            aload 1 /* socket */
            invokevirtual java.net.Socket.getLocalPort:()I
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            areturn
        end local 1 // java.net.Socket socket
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/xnio/nio/NioSocketStreamConnection;
            1    2     1  socket  Ljava/net/Socket;

  public boolean supportsOption(org.xnio.Option<?>);
    descriptor: (Lorg/xnio/Option;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
        start local 1 // org.xnio.Option option
         0: .line 72
            getstatic org.xnio.nio.NioSocketStreamConnection.OPTIONS:Ljava/util/Set;
            aload 1 /* option */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.xnio.Option option
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/xnio/nio/NioSocketStreamConnection;
            0    1     1  option  Lorg/xnio/Option<*>;
    Signature: (Lorg/xnio/Option<*>;)Z
    MethodParameters:
        Name  Flags
      option  final

  public <T> T getOption(org.xnio.Option<T>);
    descriptor: (Lorg/xnio/Option;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
        start local 1 // org.xnio.Option option
         0: .line 76
            aload 1 /* option */
            getstatic org.xnio.Options.CLOSE_ABORT:Lorg/xnio/Option;
            if_acmpne 4
         1: .line 77
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getSoLinger:()I
            ifne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: org.xnio.Option
         2: iconst_0
      StackMap locals: org.xnio.nio.NioSocketStreamConnection org.xnio.Option
      StackMap stack: org.xnio.Option int
         3: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         4: .line 78
      StackMap locals:
      StackMap stack:
            aload 1 /* option */
            getstatic org.xnio.Options.IP_TRAFFIC_CLASS:Lorg/xnio/Option;
            if_acmpne 6
         5: .line 79
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getTrafficClass:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         6: .line 80
      StackMap locals:
      StackMap stack:
            aload 1 /* option */
            getstatic org.xnio.Options.KEEP_ALIVE:Lorg/xnio/Option;
            if_acmpne 8
         7: .line 81
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getKeepAlive:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         8: .line 82
      StackMap locals:
      StackMap stack:
            aload 1 /* option */
            getstatic org.xnio.Options.READ_TIMEOUT:Lorg/xnio/Option;
            if_acmpne 10
         9: .line 83
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getReadTimeout:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        10: .line 84
      StackMap locals:
      StackMap stack:
            aload 1 /* option */
            getstatic org.xnio.Options.RECEIVE_BUFFER:Lorg/xnio/Option;
            if_acmpne 12
        11: .line 85
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getReceiveBufferSize:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        12: .line 86
      StackMap locals:
      StackMap stack:
            aload 1 /* option */
            getstatic org.xnio.Options.SEND_BUFFER:Lorg/xnio/Option;
            if_acmpne 14
        13: .line 87
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getSendBufferSize:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        14: .line 88
      StackMap locals:
      StackMap stack:
            aload 1 /* option */
            getstatic org.xnio.Options.TCP_NODELAY:Lorg/xnio/Option;
            if_acmpne 16
        15: .line 89
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getTcpNoDelay:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        16: .line 90
      StackMap locals:
      StackMap stack:
            aload 1 /* option */
            getstatic org.xnio.Options.TCP_OOB_INLINE:Lorg/xnio/Option;
            if_acmpne 18
        17: .line 91
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getOOBInline:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        18: .line 92
      StackMap locals:
      StackMap stack:
            aload 1 /* option */
            getstatic org.xnio.Options.WRITE_TIMEOUT:Lorg/xnio/Option;
            if_acmpne 20
        19: .line 93
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getWriteTimeout:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        20: .line 95
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.xnio.Option option
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lorg/xnio/nio/NioSocketStreamConnection;
            0   21     1  option  Lorg/xnio/Option<TT;>;
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;)TT;
    MethodParameters:
        Name  Flags
      option  final

  public <T> T setOption(org.xnio.Option<T>, );
    descriptor: (Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
        start local 1 // org.xnio.Option option
        start local 2 // java.lang.Object value
         0: .line 101
            aload 1 /* option */
            getstatic org.xnio.Options.CLOSE_ABORT:Lorg/xnio/Option;
            if_acmpne 6
         1: .line 102
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getSoLinger:()I
            ifne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: org.xnio.Option
         2: iconst_0
      StackMap locals: org.xnio.nio.NioSocketStreamConnection org.xnio.Option java.lang.Object
      StackMap stack: org.xnio.Option int
         3: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         4: .line 103
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            getstatic org.xnio.Options.CLOSE_ABORT:Lorg/xnio/Option;
            aload 2 /* value */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            iconst_0
            invokevirtual java.net.Socket.setSoLinger:(ZI)V
         5: .line 104
            goto 41
        end local 3 // java.lang.Object result
      StackMap locals:
      StackMap stack:
         6: aload 1 /* option */
            getstatic org.xnio.Options.IP_TRAFFIC_CLASS:Lorg/xnio/Option;
            if_acmpne 10
         7: .line 105
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getTrafficClass:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         8: .line 106
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            getstatic org.xnio.Options.IP_TRAFFIC_CLASS:Lorg/xnio/Option;
            aload 2 /* value */
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.net.Socket.setTrafficClass:(I)V
         9: .line 107
            goto 41
        end local 3 // java.lang.Object result
      StackMap locals:
      StackMap stack:
        10: aload 1 /* option */
            getstatic org.xnio.Options.KEEP_ALIVE:Lorg/xnio/Option;
            if_acmpne 14
        11: .line 108
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getKeepAlive:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
        12: .line 109
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            getstatic org.xnio.Options.KEEP_ALIVE:Lorg/xnio/Option;
            aload 2 /* value */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual java.net.Socket.setKeepAlive:(Z)V
        13: .line 110
            goto 41
        end local 3 // java.lang.Object result
      StackMap locals:
      StackMap stack:
        14: aload 1 /* option */
            getstatic org.xnio.Options.READ_TIMEOUT:Lorg/xnio/Option;
            if_acmpne 19
        15: .line 111
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            aload 2 /* value */
            ifnonnull 16
            iconst_0
            goto 17
      StackMap locals: org.xnio.nio.NioSocketStreamConnection org.xnio.Option java.lang.Object
      StackMap stack: org.xnio.Option org.xnio.nio.NioSocketConduit
        16: getstatic org.xnio.Options.READ_TIMEOUT:Lorg/xnio/Option;
            aload 2 /* value */
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
      StackMap locals: org.xnio.nio.NioSocketStreamConnection org.xnio.Option java.lang.Object
      StackMap stack: org.xnio.Option org.xnio.nio.NioSocketConduit int
        17: invokevirtual org.xnio.nio.NioSocketConduit.getAndSetReadTimeout:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
        18: .line 112
            goto 41
        end local 3 // java.lang.Object result
      StackMap locals:
      StackMap stack:
        19: aload 1 /* option */
            getstatic org.xnio.Options.RECEIVE_BUFFER:Lorg/xnio/Option;
            if_acmpne 23
        20: .line 113
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getReceiveBufferSize:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
        21: .line 114
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            getstatic org.xnio.Options.RECEIVE_BUFFER:Lorg/xnio/Option;
            aload 2 /* value */
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.net.Socket.setReceiveBufferSize:(I)V
        22: .line 115
            goto 41
        end local 3 // java.lang.Object result
      StackMap locals:
      StackMap stack:
        23: aload 1 /* option */
            getstatic org.xnio.Options.SEND_BUFFER:Lorg/xnio/Option;
            if_acmpne 27
        24: .line 116
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getSendBufferSize:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
        25: .line 117
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            getstatic org.xnio.Options.SEND_BUFFER:Lorg/xnio/Option;
            aload 2 /* value */
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.net.Socket.setSendBufferSize:(I)V
        26: .line 118
            goto 41
        end local 3 // java.lang.Object result
      StackMap locals:
      StackMap stack:
        27: aload 1 /* option */
            getstatic org.xnio.Options.TCP_NODELAY:Lorg/xnio/Option;
            if_acmpne 31
        28: .line 119
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getTcpNoDelay:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
        29: .line 120
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            getstatic org.xnio.Options.TCP_NODELAY:Lorg/xnio/Option;
            aload 2 /* value */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual java.net.Socket.setTcpNoDelay:(Z)V
        30: .line 121
            goto 41
        end local 3 // java.lang.Object result
      StackMap locals:
      StackMap stack:
        31: aload 1 /* option */
            getstatic org.xnio.Options.TCP_OOB_INLINE:Lorg/xnio/Option;
            if_acmpne 35
        32: .line 122
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getOOBInline:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
        33: .line 123
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            getstatic org.xnio.Options.TCP_OOB_INLINE:Lorg/xnio/Option;
            aload 2 /* value */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual java.net.Socket.setOOBInline:(Z)V
        34: .line 124
            goto 41
        end local 3 // java.lang.Object result
      StackMap locals:
      StackMap stack:
        35: aload 1 /* option */
            getstatic org.xnio.Options.WRITE_TIMEOUT:Lorg/xnio/Option;
            if_acmpne 40
        36: .line 125
            aload 1 /* option */
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            aload 2 /* value */
            ifnonnull 37
            iconst_0
            goto 38
      StackMap locals: org.xnio.nio.NioSocketStreamConnection org.xnio.Option java.lang.Object
      StackMap stack: org.xnio.Option org.xnio.nio.NioSocketConduit
        37: getstatic org.xnio.Options.WRITE_TIMEOUT:Lorg/xnio/Option;
            aload 2 /* value */
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
      StackMap locals: org.xnio.nio.NioSocketStreamConnection org.xnio.Option java.lang.Object
      StackMap stack: org.xnio.Option org.xnio.nio.NioSocketConduit int
        38: invokevirtual org.xnio.nio.NioSocketConduit.getAndSetWriteTimeout:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
        39: .line 126
            goto 41
        end local 3 // java.lang.Object result
        40: .line 127
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        start local 3 // java.lang.Object result
        41: .line 129
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object result
        end local 2 // java.lang.Object value
        end local 1 // org.xnio.Option option
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   42     0    this  Lorg/xnio/nio/NioSocketStreamConnection;
            0   42     1  option  Lorg/xnio/Option<TT;>;
            0   42     2   value  TT;
            4    6     3  result  TT;
            8   10     3  result  TT;
           12   14     3  result  TT;
           18   19     3  result  TT;
           21   23     3  result  TT;
           25   27     3  result  TT;
           29   31     3  result  TT;
           33   35     3  result  TT;
           39   40     3  result  TT;
           41   42     3  result  TT;
    Exceptions:
      throws java.lang.IllegalArgumentException, java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;TT;)TT;
    MethodParameters:
        Name  Flags
      option  final
      value   final

  protected void closeAction();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
         0: .line 134
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            iconst_0
            invokevirtual org.xnio.nio.NioSocketConduit.cancelKey:(Z)V
         1: .line 135
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            invokevirtual java.nio.channels.SocketChannel.close:()V
         2: .line 136
            goto 11
      StackMap locals:
      StackMap stack: java.nio.channels.ClosedChannelException
         3: pop
         4: .line 138
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.closedHandle:Lorg/xnio/nio/ChannelClosed;
            astore 2 /* closedHandle */
        start local 2 // org.xnio.nio.ChannelClosed closedHandle
         5: .line 139
            aload 2 /* closedHandle */
            ifnull 13
            aload 2 /* closedHandle */
            invokeinterface org.xnio.nio.ChannelClosed.channelClosed:()V
        end local 2 // org.xnio.nio.ChannelClosed closedHandle
         6: goto 13
         7: .line 137
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1
         8: .line 138
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.closedHandle:Lorg/xnio/nio/ChannelClosed;
            astore 2 /* closedHandle */
        start local 2 // org.xnio.nio.ChannelClosed closedHandle
         9: .line 139
            aload 2 /* closedHandle */
            ifnull 10
            aload 2 /* closedHandle */
            invokeinterface org.xnio.nio.ChannelClosed.channelClosed:()V
        end local 2 // org.xnio.nio.ChannelClosed closedHandle
        10: .line 140
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1
            athrow
        11: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.closedHandle:Lorg/xnio/nio/ChannelClosed;
            astore 2 /* closedHandle */
        start local 2 // org.xnio.nio.ChannelClosed closedHandle
        12: .line 139
            aload 2 /* closedHandle */
            ifnull 13
            aload 2 /* closedHandle */
            invokeinterface org.xnio.nio.ChannelClosed.channelClosed:()V
        end local 2 // org.xnio.nio.ChannelClosed closedHandle
        13: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/xnio/nio/NioSocketStreamConnection;
            5    6     2  closedHandle  Lorg/xnio/nio/ChannelClosed;
            9   10     2  closedHandle  Lorg/xnio/nio/ChannelClosed;
           12   13     2  closedHandle  Lorg/xnio/nio/ChannelClosed;
      Exception table:
        from    to  target  type
           0     2       3  Class java.nio.channels.ClosedChannelException
           0     4       7  any
    Exceptions:
      throws java.io.IOException

  protected void notifyWriteClosed();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
         0: .line 144
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.writeTerminated:()V
         1: .line 145
            return
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/xnio/nio/NioSocketStreamConnection;

  protected void notifyReadClosed();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
         0: .line 148
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.readTerminated:()V
         1: .line 149
            return
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/xnio/nio/NioSocketStreamConnection;

  java.nio.channels.SocketChannel getChannel();
    descriptor: ()Ljava/nio/channels/SocketChannel;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
         0: .line 152
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            invokevirtual org.xnio.nio.NioSocketConduit.getSocketChannel:()Ljava/nio/channels/SocketChannel;
            areturn
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/nio/NioSocketStreamConnection;

  org.xnio.nio.NioSocketConduit getConduit();
    descriptor: ()Lorg/xnio/nio/NioSocketConduit;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.xnio.nio.NioSocketStreamConnection this
         0: .line 156
            aload 0 /* this */
            getfield org.xnio.nio.NioSocketStreamConnection.conduit:Lorg/xnio/nio/NioSocketConduit;
            areturn
        end local 0 // org.xnio.nio.NioSocketStreamConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/xnio/nio/NioSocketStreamConnection;
}
SourceFile: "NioSocketStreamConnection.java"
InnerClasses:
  public SetBuilder = org.xnio.Option$SetBuilder of org.xnio.Option