public class org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler extends org.glassfish.grizzly.AbstractBindingHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler
  super_class: org.glassfish.grizzly.AbstractBindingHandler
{
  private final org.glassfish.grizzly.nio.transport.TCPNIOTransport tcpTransport;
    descriptor: Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(org.glassfish.grizzly.nio.transport.TCPNIOTransport);
    descriptor: (Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
        start local 1 // org.glassfish.grizzly.nio.transport.TCPNIOTransport tcpTransport
         0: .line 50
            aload 0 /* this */
            aload 1 /* tcpTransport */
            invokespecial org.glassfish.grizzly.AbstractBindingHandler.<init>:(Lorg/glassfish/grizzly/nio/NIOTransport;)V
         1: .line 51
            aload 0 /* this */
            aload 1 /* tcpTransport */
            putfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
         2: .line 52
            return
        end local 1 // org.glassfish.grizzly.nio.transport.TCPNIOTransport tcpTransport
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/glassfish/grizzly/nio/transport/TCPNIOBindingHandler;
            0    3     1  tcpTransport  Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
    MethodParameters:
              Name  Flags
      tcpTransport  final

  public org.glassfish.grizzly.nio.transport.TCPNIOServerConnection bind(java.net.SocketAddress);
    descriptor: (Ljava/net/SocketAddress;)Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
        start local 1 // java.net.SocketAddress socketAddress
         0: .line 58
            aload 0 /* this */
            aload 1 /* socketAddress */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOTransport.getServerConnectionBackLog:()I
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.bind:(Ljava/net/SocketAddress;I)Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
            areturn
        end local 1 // java.net.SocketAddress socketAddress
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/glassfish/grizzly/nio/transport/TCPNIOBindingHandler;
            0    1     1  socketAddress  Ljava/net/SocketAddress;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      socketAddress  

  public org.glassfish.grizzly.nio.transport.TCPNIOServerConnection bind(java.net.SocketAddress, int);
    descriptor: (Ljava/net/SocketAddress;I)Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
        start local 1 // java.net.SocketAddress socketAddress
        start local 2 // int backlog
         0: .line 63
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOTransport.getSelectorProvider:()Ljava/nio/channels/spi/SelectorProvider;
            invokevirtual java.nio.channels.spi.SelectorProvider.openServerSocketChannel:()Ljava/nio/channels/ServerSocketChannel;
            aload 1 /* socketAddress */
            iload 2 /* backlog */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.bindToChannelAndAddress:(Ljava/nio/channels/ServerSocketChannel;Ljava/net/SocketAddress;I)Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
            areturn
        end local 2 // int backlog
        end local 1 // java.net.SocketAddress socketAddress
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/glassfish/grizzly/nio/transport/TCPNIOBindingHandler;
            0    1     1  socketAddress  Ljava/net/SocketAddress;
            0    1     2        backlog  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      socketAddress  
      backlog        

  public org.glassfish.grizzly.nio.transport.TCPNIOServerConnection bindToInherited();
    descriptor: ()Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
         0: .line 68
            aload 0 /* this */
            aload 0 /* this */
            ldc Ljava/nio/channels/ServerSocketChannel;
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.getSystemInheritedChannel:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.nio.channels.ServerSocketChannel
            aconst_null
            iconst_m1
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.bindToChannelAndAddress:(Ljava/nio/channels/ServerSocketChannel;Ljava/net/SocketAddress;I)Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
            areturn
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/transport/TCPNIOBindingHandler;
    Exceptions:
      throws java.io.IOException

  public void unbind(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
        start local 1 // org.glassfish.grizzly.Connection connection
         0: .line 73
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            aload 1 /* connection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOTransport.unbind:(Lorg/glassfish/grizzly/Connection;)V
         1: .line 74
            return
        end local 1 // org.glassfish.grizzly.Connection connection
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/glassfish/grizzly/nio/transport/TCPNIOBindingHandler;
            0    2     1  connection  Lorg/glassfish/grizzly/Connection;
    MethodParameters:
            Name  Flags
      connection  

  public static org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler$Builder builder(org.glassfish.grizzly.nio.transport.TCPNIOTransport);
    descriptor: (Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;)Lorg/glassfish/grizzly/nio/transport/TCPNIOBindingHandler$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOTransport transport
         0: .line 77
            new org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler$Builder
            dup
            invokespecial org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler$Builder.<init>:()V
            aload 0 /* transport */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler$Builder.transport:(Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;)Lorg/glassfish/grizzly/nio/transport/TCPNIOBindingHandler$Builder;
            areturn
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOTransport transport
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  transport  Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
    MethodParameters:
           Name  Flags
      transport  final

  private org.glassfish.grizzly.nio.transport.TCPNIOServerConnection bindToChannelAndAddress(java.nio.channels.ServerSocketChannel, java.net.SocketAddress, int);
    descriptor: (Ljava/nio/channels/ServerSocketChannel;Ljava/net/SocketAddress;I)Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
        start local 1 // java.nio.channels.ServerSocketChannel serverSocketChannel
        start local 2 // java.net.SocketAddress socketAddress
        start local 3 // int backlog
         0: .line 84
            aconst_null
            astore 4 /* serverConnection */
        start local 4 // org.glassfish.grizzly.nio.transport.TCPNIOServerConnection serverConnection
         1: .line 86
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOTransport.getState:()Lorg/glassfish/grizzly/utils/StateHolder;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.getStateLocker:()Ljava/util/concurrent/locks/ReentrantReadWriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            astore 5 /* lock */
        start local 5 // java.util.concurrent.locks.Lock lock
         2: .line 87
            aload 5 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         3: .line 90
            aload 1 /* serverSocketChannel */
            invokevirtual java.nio.channels.ServerSocketChannel.socket:()Ljava/net/ServerSocket;
            astore 6 /* serverSocket */
        start local 6 // java.net.ServerSocket serverSocket
         4: .line 92
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOTransport.getChannelConfigurator:()Lorg/glassfish/grizzly/nio/ChannelConfigurator;
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.transport:Lorg/glassfish/grizzly/nio/NIOTransport;
            aload 1 /* serverSocketChannel */
            invokeinterface org.glassfish.grizzly.nio.ChannelConfigurator.preConfigure:(Lorg/glassfish/grizzly/nio/NIOTransport;Ljava/nio/channels/SelectableChannel;)V
         5: .line 94
            aload 2 /* socketAddress */
            ifnull 7
         6: .line 95
            aload 6 /* serverSocket */
            aload 2 /* socketAddress */
            iload 3 /* backlog */
            invokevirtual java.net.ServerSocket.bind:(Ljava/net/SocketAddress;I)V
         7: .line 98
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOServerConnection java.util.concurrent.locks.Lock java.net.ServerSocket
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOTransport.getChannelConfigurator:()Lorg/glassfish/grizzly/nio/ChannelConfigurator;
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.transport:Lorg/glassfish/grizzly/nio/NIOTransport;
            aload 1 /* serverSocketChannel */
            invokeinterface org.glassfish.grizzly.nio.ChannelConfigurator.postConfigure:(Lorg/glassfish/grizzly/nio/NIOTransport;Ljava/nio/channels/SelectableChannel;)V
         8: .line 100
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            aload 1 /* serverSocketChannel */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOTransport.obtainServerNIOConnection:(Ljava/nio/channels/ServerSocketChannel;)Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
            astore 4 /* serverConnection */
         9: .line 101
            aload 4 /* serverConnection */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.getProcessor:()Lorg/glassfish/grizzly/Processor;
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOServerConnection.setProcessor:(Lorg/glassfish/grizzly/Processor;)V
        10: .line 102
            aload 4 /* serverConnection */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.getProcessorSelector:()Lorg/glassfish/grizzly/ProcessorSelector;
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOServerConnection.setProcessorSelector:(Lorg/glassfish/grizzly/ProcessorSelector;)V
        11: .line 103
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            getfield org.glassfish.grizzly.nio.transport.TCPNIOTransport.serverConnections:Ljava/util/Collection;
            aload 4 /* serverConnection */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        12: .line 104
            aload 4 /* serverConnection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOServerConnection.resetProperties:()V
        13: .line 106
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOTransport.isStopped:()Z
            ifne 15
        14: .line 107
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            aload 4 /* serverConnection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOTransport.listenServerConnection:(Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;)V
        15: .line 110
      StackMap locals:
      StackMap stack:
            aload 4 /* serverConnection */
            astore 8
        16: .line 125
            aload 5 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        17: .line 110
            aload 8
            areturn
        end local 6 // java.net.ServerSocket serverSocket
        18: .line 111
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler java.nio.channels.ServerSocketChannel java.net.SocketAddress int org.glassfish.grizzly.nio.transport.TCPNIOServerConnection java.util.concurrent.locks.Lock
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        19: .line 112
            aload 4 /* serverConnection */
            ifnull 23
        20: .line 113
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.tcpTransport:Lorg/glassfish/grizzly/nio/transport/TCPNIOTransport;
            getfield org.glassfish.grizzly.nio.transport.TCPNIOTransport.serverConnections:Ljava/util/Collection;
            aload 4 /* serverConnection */
            invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
            pop
        21: .line 115
            aload 4 /* serverConnection */
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOServerConnection.closeSilently:()V
        22: .line 116
            goto 26
        23: .line 118
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 1 /* serverSocketChannel */
            invokevirtual java.nio.channels.ServerSocketChannel.close:()V
        24: .line 119
            goto 26
      StackMap locals:
      StackMap stack: java.io.IOException
        25: pop
        26: .line 123
      StackMap locals:
      StackMap stack:
            aload 6 /* e */
            invokestatic org.glassfish.grizzly.utils.Exceptions.makeIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 6 // java.lang.Exception e
        27: .line 124
      StackMap locals: org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler java.nio.channels.ServerSocketChannel java.net.SocketAddress int org.glassfish.grizzly.nio.transport.TCPNIOServerConnection java.util.concurrent.locks.Lock
      StackMap stack: java.lang.Throwable
            astore 7
        28: .line 125
            aload 5 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        29: .line 126
            aload 7
            athrow
        end local 5 // java.util.concurrent.locks.Lock lock
        end local 4 // org.glassfish.grizzly.nio.transport.TCPNIOServerConnection serverConnection
        end local 3 // int backlog
        end local 2 // java.net.SocketAddress socketAddress
        end local 1 // java.nio.channels.ServerSocketChannel serverSocketChannel
        end local 0 // org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   30     0                 this  Lorg/glassfish/grizzly/nio/transport/TCPNIOBindingHandler;
            0   30     1  serverSocketChannel  Ljava/nio/channels/ServerSocketChannel;
            0   30     2        socketAddress  Ljava/net/SocketAddress;
            0   30     3              backlog  I
            1   30     4     serverConnection  Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
            2   30     5                 lock  Ljava/util/concurrent/locks/Lock;
            4   18     6         serverSocket  Ljava/net/ServerSocket;
           19   27     6                    e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3    16      18  Class java.lang.Exception
          23    24      25  Class java.io.IOException
           3    16      27  any
          18    27      27  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                     Name  Flags
      serverSocketChannel  final
      socketAddress        final
      backlog              final

  public org.glassfish.grizzly.Connection bindToInherited();
    descriptor: ()Lorg/glassfish/grizzly/Connection;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.bindToInherited:()Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  public org.glassfish.grizzly.Connection bind(java.net.SocketAddress, int);
    descriptor: (Ljava/net/SocketAddress;I)Lorg/glassfish/grizzly/Connection;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            iload 2
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.bind:(Ljava/net/SocketAddress;I)Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  public org.glassfish.grizzly.Connection bind(java.net.SocketAddress);
    descriptor: (Ljava/net/SocketAddress;)Lorg/glassfish/grizzly/Connection;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler.bind:(Ljava/net/SocketAddress;)Lorg/glassfish/grizzly/nio/transport/TCPNIOServerConnection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
}
SourceFile: "TCPNIOBindingHandler.java"
NestMembers:
  org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler$Builder
InnerClasses:
  public WriteLock = java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock of java.util.concurrent.locks.ReentrantReadWriteLock
  public final State = org.glassfish.grizzly.Transport$State of org.glassfish.grizzly.Transport
  public Builder = org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler$Builder of org.glassfish.grizzly.nio.transport.TCPNIOBindingHandler