public class io.netty.channel.socket.oio.OioSocketChannel extends io.netty.channel.oio.OioByteStreamChannel implements io.netty.channel.socket.SocketChannel
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.netty.channel.socket.oio.OioSocketChannel
  super_class: io.netty.channel.oio.OioByteStreamChannel
{
  private static final io.netty.util.internal.logging.InternalLogger logger;
    descriptor: Lio/netty/util/internal/logging/InternalLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.net.Socket socket;
    descriptor: Ljava/net/Socket;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.channel.socket.oio.OioSocketChannelConfig config;
    descriptor: Lio/netty/channel/socket/oio/OioSocketChannelConfig;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 45
            ldc Lio/netty/channel/socket/oio/OioSocketChannel;
            invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
            putstatic io.netty.channel.socket.oio.OioSocketChannel.logger:Lio/netty/util/internal/logging/InternalLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 54
            aload 0 /* this */
            new java.net.Socket
            dup
            invokespecial java.net.Socket.<init>:()V
            invokespecial io.netty.channel.socket.oio.OioSocketChannel.<init>:(Ljava/net/Socket;)V
         1: .line 55
            return
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public void <init>(java.net.Socket);
    descriptor: (Ljava/net/Socket;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // java.net.Socket socket
         0: .line 63
            aload 0 /* this */
            aconst_null
            aload 1 /* socket */
            invokespecial io.netty.channel.socket.oio.OioSocketChannel.<init>:(Lio/netty/channel/Channel;Ljava/net/Socket;)V
         1: .line 64
            return
        end local 1 // java.net.Socket socket
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0    2     1  socket  Ljava/net/Socket;
    MethodParameters:
        Name  Flags
      socket  

  public void <init>(io.netty.channel.Channel, java.net.Socket);
    descriptor: (Lio/netty/channel/Channel;Ljava/net/Socket;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // io.netty.channel.Channel parent
        start local 2 // java.net.Socket socket
         0: .line 74
            aload 0 /* this */
            aload 1 /* parent */
            invokespecial io.netty.channel.oio.OioByteStreamChannel.<init>:(Lio/netty/channel/Channel;)V
         1: .line 75
            aload 0 /* this */
            aload 2 /* socket */
            putfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
         2: .line 76
            aload 0 /* this */
            new io.netty.channel.socket.oio.DefaultOioSocketChannelConfig
            dup
            aload 0 /* this */
            aload 2 /* socket */
            invokespecial io.netty.channel.socket.oio.DefaultOioSocketChannelConfig.<init>:(Lio/netty/channel/socket/oio/OioSocketChannel;Ljava/net/Socket;)V
            putfield io.netty.channel.socket.oio.OioSocketChannel.config:Lio/netty/channel/socket/oio/OioSocketChannelConfig;
         3: .line 78
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
         4: .line 80
            aload 2 /* socket */
            invokevirtual java.net.Socket.isConnected:()Z
            ifeq 6
         5: .line 81
            aload 0 /* this */
            aload 2 /* socket */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            aload 2 /* socket */
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.activate:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
         6: .line 83
      StackMap locals: io.netty.channel.socket.oio.OioSocketChannel io.netty.channel.Channel java.net.Socket int
      StackMap stack:
            aload 2 /* socket */
            sipush 1000
            invokevirtual java.net.Socket.setSoTimeout:(I)V
         7: .line 84
            iconst_1
            istore 3 /* success */
         8: .line 85
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 4 /* e */
        start local 4 // java.lang.Exception e
        10: .line 86
            new io.netty.channel.ChannelException
            dup
            ldc "failed to initialize a socket"
            aload 4 /* e */
            invokespecial io.netty.channel.ChannelException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        11: .line 87
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        12: .line 88
            iload 3 /* success */
            ifne 17
        13: .line 90
            aload 2 /* socket */
            invokevirtual java.net.Socket.close:()V
        14: .line 91
            goto 17
      StackMap locals: io.netty.channel.socket.oio.OioSocketChannel io.netty.channel.Channel java.net.Socket int top java.lang.Throwable
      StackMap stack: java.io.IOException
        15: astore 6 /* e */
        start local 6 // java.io.IOException e
        16: .line 92
            getstatic io.netty.channel.socket.oio.OioSocketChannel.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Failed to close a socket."
            aload 6 /* e */
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.io.IOException e
        17: .line 95
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        18: .line 88
      StackMap locals: io.netty.channel.socket.oio.OioSocketChannel io.netty.channel.Channel java.net.Socket int
      StackMap stack:
            iload 3 /* success */
            ifne 23
        19: .line 90
            aload 2 /* socket */
            invokevirtual java.net.Socket.close:()V
        20: .line 91
            goto 23
      StackMap locals:
      StackMap stack: java.io.IOException
        21: astore 6 /* e */
        start local 6 // java.io.IOException e
        22: .line 92
            getstatic io.netty.channel.socket.oio.OioSocketChannel.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Failed to close a socket."
            aload 6 /* e */
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.io.IOException e
        23: .line 96
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean success
        end local 2 // java.net.Socket socket
        end local 1 // io.netty.channel.Channel parent
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0   24     1   parent  Lio/netty/channel/Channel;
            0   24     2   socket  Ljava/net/Socket;
            4   24     3  success  Z
           10   11     4        e  Ljava/lang/Exception;
           16   17     6        e  Ljava/io/IOException;
           22   23     6        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     8       9  Class java.lang.Exception
           4    11      11  any
          13    14      15  Class java.io.IOException
          19    20      21  Class java.io.IOException
    MethodParameters:
        Name  Flags
      parent  
      socket  

  public io.netty.channel.socket.ServerSocketChannel parent();
    descriptor: ()Lio/netty/channel/socket/ServerSocketChannel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 100
            aload 0 /* this */
            invokespecial io.netty.channel.oio.OioByteStreamChannel.parent:()Lio/netty/channel/Channel;
            checkcast io.netty.channel.socket.ServerSocketChannel
            areturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public io.netty.channel.socket.oio.OioSocketChannelConfig config();
    descriptor: ()Lio/netty/channel/socket/oio/OioSocketChannelConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 105
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.config:Lio/netty/channel/socket/oio/OioSocketChannelConfig;
            areturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 110
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.isClosed:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public boolean isActive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 115
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.isClosed:()Z
            ifne 1
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.isConnected:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public boolean isOutputShutdown();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 120
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.isOutputShutdown:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.isActive:()Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public boolean isInputShutdown();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 125
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.isInputShutdown:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.isActive:()Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public boolean isShutdown();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 130
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.isInputShutdown:()Z
            ifeq 1
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.isOutputShutdown:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.isActive:()Z
            ifeq 2
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  protected final void doShutdownOutput();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 136
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.shutdownOutput0:()V
         1: .line 137
            return
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;
    Exceptions:
      throws java.lang.Exception

  public io.netty.channel.ChannelFuture shutdownOutput();
    descriptor: ()Lio/netty/channel/ChannelFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 141
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.newPromise:()Lio/netty/channel/ChannelPromise;
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.shutdownOutput:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public io.netty.channel.ChannelFuture shutdownInput();
    descriptor: ()Lio/netty/channel/ChannelFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 146
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.newPromise:()Lio/netty/channel/ChannelPromise;
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.shutdownInput:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public io.netty.channel.ChannelFuture shutdown();
    descriptor: ()Lio/netty/channel/ChannelFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 151
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.newPromise:()Lio/netty/channel/ChannelPromise;
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.shutdown:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
            areturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  protected int doReadBytes(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // io.netty.buffer.ByteBuf buf
         0: .line 156
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.isClosed:()Z
            ifeq 2
         1: .line 157
            iconst_m1
            ireturn
         2: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buf */
            invokespecial io.netty.channel.oio.OioByteStreamChannel.doReadBytes:(Lio/netty/buffer/ByteBuf;)I
         3: ireturn
         4: .line 161
      StackMap locals:
      StackMap stack: java.net.SocketTimeoutException
            pop
         5: .line 162
            iconst_0
            ireturn
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0    6     1   buf  Lio/netty/buffer/ByteBuf;
      Exception table:
        from    to  target  type
           2     3       4  Class java.net.SocketTimeoutException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      buf   

  public io.netty.channel.ChannelFuture shutdownOutput(io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // io.netty.channel.ChannelPromise promise
         0: .line 168
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.eventLoop:()Lio/netty/channel/EventLoop;
            astore 2 /* loop */
        start local 2 // io.netty.channel.EventLoop loop
         1: .line 169
            aload 2 /* loop */
            invokeinterface io.netty.channel.EventLoop.inEventLoop:()Z
            ifeq 4
         2: .line 170
            aload 0 /* this */
            aload 1 /* promise */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.shutdownOutput0:(Lio/netty/channel/ChannelPromise;)V
         3: .line 171
            goto 5
         4: .line 172
      StackMap locals: io.netty.channel.EventLoop
      StackMap stack:
            aload 2 /* loop */
            new io.netty.channel.socket.oio.OioSocketChannel$1
            dup
            aload 0 /* this */
            aload 1 /* promise */
            invokespecial io.netty.channel.socket.oio.OioSocketChannel$1.<init>:(Lio/netty/channel/socket/oio/OioSocketChannel;Lio/netty/channel/ChannelPromise;)V
            invokeinterface io.netty.channel.EventLoop.execute:(Ljava/lang/Runnable;)V
         5: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* promise */
            areturn
        end local 2 // io.netty.channel.EventLoop loop
        end local 1 // io.netty.channel.ChannelPromise promise
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0    6     1  promise  Lio/netty/channel/ChannelPromise;
            1    6     2     loop  Lio/netty/channel/EventLoop;
    MethodParameters:
         Name  Flags
      promise  final

  private void shutdownOutput0(io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelPromise;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // io.netty.channel.ChannelPromise promise
         0: .line 184
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.shutdownOutput0:()V
         1: .line 185
            aload 1 /* promise */
            invokeinterface io.netty.channel.ChannelPromise.setSuccess:()Lio/netty/channel/ChannelPromise;
            pop
         2: .line 186
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         4: .line 187
            aload 1 /* promise */
            aload 2 /* t */
            invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
            pop
        end local 2 // java.lang.Throwable t
         5: .line 189
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelPromise promise
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0    6     1  promise  Lio/netty/channel/ChannelPromise;
            4    5     2        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Throwable
    MethodParameters:
         Name  Flags
      promise  

  private void shutdownOutput0();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 192
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.shutdownOutput:()V
         1: .line 193
            return
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;
    Exceptions:
      throws java.io.IOException

  public io.netty.channel.ChannelFuture shutdownInput(io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // io.netty.channel.ChannelPromise promise
         0: .line 197
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.eventLoop:()Lio/netty/channel/EventLoop;
            astore 2 /* loop */
        start local 2 // io.netty.channel.EventLoop loop
         1: .line 198
            aload 2 /* loop */
            invokeinterface io.netty.channel.EventLoop.inEventLoop:()Z
            ifeq 4
         2: .line 199
            aload 0 /* this */
            aload 1 /* promise */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.shutdownInput0:(Lio/netty/channel/ChannelPromise;)V
         3: .line 200
            goto 5
         4: .line 201
      StackMap locals: io.netty.channel.EventLoop
      StackMap stack:
            aload 2 /* loop */
            new io.netty.channel.socket.oio.OioSocketChannel$2
            dup
            aload 0 /* this */
            aload 1 /* promise */
            invokespecial io.netty.channel.socket.oio.OioSocketChannel$2.<init>:(Lio/netty/channel/socket/oio/OioSocketChannel;Lio/netty/channel/ChannelPromise;)V
            invokeinterface io.netty.channel.EventLoop.execute:(Ljava/lang/Runnable;)V
         5: .line 208
      StackMap locals:
      StackMap stack:
            aload 1 /* promise */
            areturn
        end local 2 // io.netty.channel.EventLoop loop
        end local 1 // io.netty.channel.ChannelPromise promise
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0    6     1  promise  Lio/netty/channel/ChannelPromise;
            1    6     2     loop  Lio/netty/channel/EventLoop;
    MethodParameters:
         Name  Flags
      promise  final

  private void shutdownInput0(io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelPromise;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // io.netty.channel.ChannelPromise promise
         0: .line 213
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.shutdownInput:()V
         1: .line 214
            aload 1 /* promise */
            invokeinterface io.netty.channel.ChannelPromise.setSuccess:()Lio/netty/channel/ChannelPromise;
            pop
         2: .line 215
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2 /* t */
        start local 2 // java.lang.Throwable t
         4: .line 216
            aload 1 /* promise */
            aload 2 /* t */
            invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
            pop
        end local 2 // java.lang.Throwable t
         5: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelPromise promise
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0    6     1  promise  Lio/netty/channel/ChannelPromise;
            4    5     2        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Throwable
    MethodParameters:
         Name  Flags
      promise  

  public io.netty.channel.ChannelFuture shutdown(io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // io.netty.channel.ChannelPromise promise
         0: .line 222
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.shutdownOutput:()Lio/netty/channel/ChannelFuture;
            astore 2 /* shutdownOutputFuture */
        start local 2 // io.netty.channel.ChannelFuture shutdownOutputFuture
         1: .line 223
            aload 2 /* shutdownOutputFuture */
            invokeinterface io.netty.channel.ChannelFuture.isDone:()Z
            ifeq 4
         2: .line 224
            aload 0 /* this */
            aload 2 /* shutdownOutputFuture */
            aload 1 /* promise */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.shutdownOutputDone:(Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
         3: .line 225
            goto 5
         4: .line 226
      StackMap locals: io.netty.channel.ChannelFuture
      StackMap stack:
            aload 2 /* shutdownOutputFuture */
            new io.netty.channel.socket.oio.OioSocketChannel$3
            dup
            aload 0 /* this */
            aload 1 /* promise */
            invokespecial io.netty.channel.socket.oio.OioSocketChannel$3.<init>:(Lio/netty/channel/socket/oio/OioSocketChannel;Lio/netty/channel/ChannelPromise;)V
            invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
            pop
         5: .line 233
      StackMap locals:
      StackMap stack:
            aload 1 /* promise */
            areturn
        end local 2 // io.netty.channel.ChannelFuture shutdownOutputFuture
        end local 1 // io.netty.channel.ChannelPromise promise
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                  this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0    6     1               promise  Lio/netty/channel/ChannelPromise;
            1    6     2  shutdownOutputFuture  Lio/netty/channel/ChannelFuture;
    MethodParameters:
         Name  Flags
      promise  final

  private void shutdownOutputDone(io.netty.channel.ChannelFuture, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // io.netty.channel.ChannelFuture shutdownOutputFuture
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 237
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.shutdownInput:()Lio/netty/channel/ChannelFuture;
            astore 3 /* shutdownInputFuture */
        start local 3 // io.netty.channel.ChannelFuture shutdownInputFuture
         1: .line 238
            aload 3 /* shutdownInputFuture */
            invokeinterface io.netty.channel.ChannelFuture.isDone:()Z
            ifeq 4
         2: .line 239
            aload 1 /* shutdownOutputFuture */
            aload 3 /* shutdownInputFuture */
            aload 2 /* promise */
            invokestatic io.netty.channel.socket.oio.OioSocketChannel.shutdownDone:(Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
         3: .line 240
            goto 5
         4: .line 241
      StackMap locals: io.netty.channel.ChannelFuture
      StackMap stack:
            aload 3 /* shutdownInputFuture */
            new io.netty.channel.socket.oio.OioSocketChannel$4
            dup
            aload 0 /* this */
            aload 1 /* shutdownOutputFuture */
            aload 2 /* promise */
            invokespecial io.netty.channel.socket.oio.OioSocketChannel$4.<init>:(Lio/netty/channel/socket/oio/OioSocketChannel;Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
            invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
            pop
         5: .line 248
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.netty.channel.ChannelFuture shutdownInputFuture
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // io.netty.channel.ChannelFuture shutdownOutputFuture
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                  this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0    6     1  shutdownOutputFuture  Lio/netty/channel/ChannelFuture;
            0    6     2               promise  Lio/netty/channel/ChannelPromise;
            1    6     3   shutdownInputFuture  Lio/netty/channel/ChannelFuture;
    MethodParameters:
                      Name  Flags
      shutdownOutputFuture  final
      promise               final

  private static void shutdownDone(io.netty.channel.ChannelFuture, io.netty.channel.ChannelFuture, io.netty.channel.ChannelPromise);
    descriptor: (Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.netty.channel.ChannelFuture shutdownOutputFuture
        start local 1 // io.netty.channel.ChannelFuture shutdownInputFuture
        start local 2 // io.netty.channel.ChannelPromise promise
         0: .line 253
            aload 0 /* shutdownOutputFuture */
            invokeinterface io.netty.channel.ChannelFuture.cause:()Ljava/lang/Throwable;
            astore 3 /* shutdownOutputCause */
        start local 3 // java.lang.Throwable shutdownOutputCause
         1: .line 254
            aload 1 /* shutdownInputFuture */
            invokeinterface io.netty.channel.ChannelFuture.cause:()Ljava/lang/Throwable;
            astore 4 /* shutdownInputCause */
        start local 4 // java.lang.Throwable shutdownInputCause
         2: .line 255
            aload 3 /* shutdownOutputCause */
            ifnull 9
         3: .line 256
            aload 4 /* shutdownInputCause */
            ifnull 7
         4: .line 257
            getstatic io.netty.channel.socket.oio.OioSocketChannel.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Exception suppressed because a previous exception occurred."
         5: .line 258
            aload 4 /* shutdownInputCause */
         6: .line 257
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
         7: .line 260
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
            aload 2 /* promise */
            aload 3 /* shutdownOutputCause */
            invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
            pop
         8: .line 261
            goto 13
      StackMap locals:
      StackMap stack:
         9: aload 4 /* shutdownInputCause */
            ifnull 12
        10: .line 262
            aload 2 /* promise */
            aload 4 /* shutdownInputCause */
            invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
            pop
        11: .line 263
            goto 13
        12: .line 264
      StackMap locals:
      StackMap stack:
            aload 2 /* promise */
            invokeinterface io.netty.channel.ChannelPromise.setSuccess:()Lio/netty/channel/ChannelPromise;
            pop
        13: .line 266
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Throwable shutdownInputCause
        end local 3 // java.lang.Throwable shutdownOutputCause
        end local 2 // io.netty.channel.ChannelPromise promise
        end local 1 // io.netty.channel.ChannelFuture shutdownInputFuture
        end local 0 // io.netty.channel.ChannelFuture shutdownOutputFuture
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   14     0  shutdownOutputFuture  Lio/netty/channel/ChannelFuture;
            0   14     1   shutdownInputFuture  Lio/netty/channel/ChannelFuture;
            0   14     2               promise  Lio/netty/channel/ChannelPromise;
            1   14     3   shutdownOutputCause  Ljava/lang/Throwable;
            2   14     4    shutdownInputCause  Ljava/lang/Throwable;
    MethodParameters:
                      Name  Flags
      shutdownOutputFuture  
      shutdownInputFuture   
      promise               

  public java.net.InetSocketAddress localAddress();
    descriptor: ()Ljava/net/InetSocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 270
            aload 0 /* this */
            invokespecial io.netty.channel.oio.OioByteStreamChannel.localAddress:()Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
            areturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public java.net.InetSocketAddress remoteAddress();
    descriptor: ()Ljava/net/InetSocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 275
            aload 0 /* this */
            invokespecial io.netty.channel.oio.OioByteStreamChannel.remoteAddress:()Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
            areturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  protected java.net.SocketAddress localAddress0();
    descriptor: ()Ljava/net/SocketAddress;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 280
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getLocalSocketAddress:()Ljava/net/SocketAddress;
            areturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  protected java.net.SocketAddress remoteAddress0();
    descriptor: ()Ljava/net/SocketAddress;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 285
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getRemoteSocketAddress:()Ljava/net/SocketAddress;
            areturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  protected void doBind(java.net.SocketAddress);
    descriptor: (Ljava/net/SocketAddress;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // java.net.SocketAddress localAddress
         0: .line 290
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            aload 1 /* localAddress */
            invokestatic io.netty.util.internal.SocketUtils.bind:(Ljava/net/Socket;Ljava/net/SocketAddress;)V
         1: .line 291
            return
        end local 1 // java.net.SocketAddress localAddress
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0    2     1  localAddress  Ljava/net/SocketAddress;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
              Name  Flags
      localAddress  

  protected void doConnect(java.net.SocketAddress, java.net.SocketAddress);
    descriptor: (Ljava/net/SocketAddress;Ljava/net/SocketAddress;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // java.net.SocketAddress remoteAddress
        start local 2 // java.net.SocketAddress localAddress
         0: .line 296
            aload 2 /* localAddress */
            ifnull 2
         1: .line 297
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            aload 2 /* localAddress */
            invokestatic io.netty.util.internal.SocketUtils.bind:(Ljava/net/Socket;Ljava/net/SocketAddress;)V
         2: .line 300
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
         3: .line 302
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            aload 1 /* remoteAddress */
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.config:()Lio/netty/channel/socket/oio/OioSocketChannelConfig;
            invokeinterface io.netty.channel.socket.oio.OioSocketChannelConfig.getConnectTimeoutMillis:()I
            invokestatic io.netty.util.internal.SocketUtils.connect:(Ljava/net/Socket;Ljava/net/SocketAddress;I)V
         4: .line 303
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.activate:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
         5: .line 304
            iconst_1
            istore 3 /* success */
         6: .line 305
            goto 15
      StackMap locals: io.netty.channel.socket.oio.OioSocketChannel java.net.SocketAddress java.net.SocketAddress int
      StackMap stack: java.net.SocketTimeoutException
         7: astore 4 /* e */
        start local 4 // java.net.SocketTimeoutException e
         8: .line 306
            new io.netty.channel.ConnectTimeoutException
            dup
            new java.lang.StringBuilder
            dup
            ldc "connection timed out: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* remoteAddress */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.netty.channel.ConnectTimeoutException.<init>:(Ljava/lang/String;)V
            astore 5 /* cause */
        start local 5 // io.netty.channel.ConnectTimeoutException cause
         9: .line 307
            aload 5 /* cause */
            aload 4 /* e */
            invokevirtual java.net.SocketTimeoutException.getStackTrace:()[Ljava/lang/StackTraceElement;
            invokevirtual io.netty.channel.ConnectTimeoutException.setStackTrace:([Ljava/lang/StackTraceElement;)V
        10: .line 308
            aload 5 /* cause */
            athrow
        end local 5 // io.netty.channel.ConnectTimeoutException cause
        end local 4 // java.net.SocketTimeoutException e
        11: .line 309
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        12: .line 310
            iload 3 /* success */
            ifne 14
        13: .line 311
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.doClose:()V
        14: .line 313
      StackMap locals: io.netty.channel.socket.oio.OioSocketChannel java.net.SocketAddress java.net.SocketAddress int top top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        15: .line 310
      StackMap locals: io.netty.channel.socket.oio.OioSocketChannel java.net.SocketAddress java.net.SocketAddress int
      StackMap stack:
            iload 3 /* success */
            ifne 17
        16: .line 311
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.doClose:()V
        17: .line 314
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean success
        end local 2 // java.net.SocketAddress localAddress
        end local 1 // java.net.SocketAddress remoteAddress
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0   18     1  remoteAddress  Ljava/net/SocketAddress;
            0   18     2   localAddress  Ljava/net/SocketAddress;
            3   18     3        success  Z
            8   11     4              e  Ljava/net/SocketTimeoutException;
            9   11     5          cause  Lio/netty/channel/ConnectTimeoutException;
      Exception table:
        from    to  target  type
           3     6       7  Class java.net.SocketTimeoutException
           3    11      11  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
               Name  Flags
      remoteAddress  
      localAddress   

  protected void doDisconnect();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 318
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.doClose:()V
         1: .line 319
            return
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;
    Exceptions:
      throws java.lang.Exception

  protected void doClose();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 323
            aload 0 /* this */
            getfield io.netty.channel.socket.oio.OioSocketChannel.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.close:()V
         1: .line 324
            return
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;
    Exceptions:
      throws java.lang.Exception

  protected boolean checkInputShutdown();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 327
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.isInputShutdown:()Z
            ifeq 5
         1: .line 329
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.config:()Lio/netty/channel/socket/oio/OioSocketChannelConfig;
            invokeinterface io.netty.channel.socket.oio.OioSocketChannelConfig.getSoTimeout:()I
            i2l
            invokestatic java.lang.Thread.sleep:(J)V
         2: .line 330
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: pop
         4: .line 333
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 335
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable

  protected void setReadPending(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
        start local 1 // boolean readPending
         0: .line 341
            aload 0 /* this */
            iload 1 /* readPending */
            invokespecial io.netty.channel.oio.OioByteStreamChannel.setReadPending:(Z)V
         1: .line 342
            return
        end local 1 // boolean readPending
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/netty/channel/socket/oio/OioSocketChannel;
            0    2     1  readPending  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      readPending  

  final void clearReadPending0();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.channel.socket.oio.OioSocketChannel this
         0: .line 345
            aload 0 /* this */
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.clearReadPending:()V
         1: .line 346
            return
        end local 0 // io.netty.channel.socket.oio.OioSocketChannel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/channel/socket/oio/OioSocketChannel;

  public io.netty.channel.ChannelConfig config();
    descriptor: ()Lio/netty/channel/ChannelConfig;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.config:()Lio/netty/channel/socket/oio/OioSocketChannelConfig;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.socket.SocketChannelConfig config();
    descriptor: ()Lio/netty/channel/socket/SocketChannelConfig;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.config:()Lio/netty/channel/socket/oio/OioSocketChannelConfig;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.net.SocketAddress localAddress();
    descriptor: ()Ljava/net/SocketAddress;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.localAddress:()Ljava/net/InetSocketAddress;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.netty.channel.Channel parent();
    descriptor: ()Lio/netty/channel/Channel;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.parent:()Lio/netty/channel/socket/ServerSocketChannel;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.net.SocketAddress remoteAddress();
    descriptor: ()Ljava/net/SocketAddress;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.channel.socket.oio.OioSocketChannel.remoteAddress:()Ljava/net/InetSocketAddress;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "OioSocketChannel.java"
NestMembers:
  io.netty.channel.socket.oio.OioSocketChannel$1  io.netty.channel.socket.oio.OioSocketChannel$2  io.netty.channel.socket.oio.OioSocketChannel$3  io.netty.channel.socket.oio.OioSocketChannel$4
InnerClasses:
  io.netty.channel.socket.oio.OioSocketChannel$1
  io.netty.channel.socket.oio.OioSocketChannel$2
  io.netty.channel.socket.oio.OioSocketChannel$3
  io.netty.channel.socket.oio.OioSocketChannel$4