public abstract class org.glassfish.grizzly.nio.NIOTransport extends org.glassfish.grizzly.AbstractTransport implements org.glassfish.grizzly.SocketBinder, org.glassfish.grizzly.SocketConnectorHandler, org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorsEnabledTransport, org.glassfish.grizzly.asyncqueue.AsyncQueueEnabledTransport
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.glassfish.grizzly.nio.NIOTransport
  super_class: org.glassfish.grizzly.AbstractTransport
{
  public static final int DEFAULT_SERVER_SOCKET_SO_TIMEOUT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final boolean DEFAULT_REUSE_ADDRESS;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int DEFAULT_CLIENT_SOCKET_SO_TIMEOUT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int DEFAULT_CONNECTION_TIMEOUT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 30000

  public static final int DEFAULT_SELECTOR_RUNNER_COUNT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final boolean DEFAULT_OPTIMIZED_FOR_MULTIPLEXING;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final java.util.logging.Logger LOGGER;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected org.glassfish.grizzly.nio.SelectorHandler selectorHandler;
    descriptor: Lorg/glassfish/grizzly/nio/SelectorHandler;
    flags: (0x0004) ACC_PROTECTED

  protected org.glassfish.grizzly.nio.SelectionKeyHandler selectionKeyHandler;
    descriptor: Lorg/glassfish/grizzly/nio/SelectionKeyHandler;
    flags: (0x0004) ACC_PROTECTED

  int serverSocketSoTimeout;
    descriptor: I
    flags: (0x0000) 

  boolean reuseAddress;
    descriptor: Z
    flags: (0x0000) 

  int clientSocketSoTimeout;
    descriptor: I
    flags: (0x0000) 

  int connectionTimeout;
    descriptor: I
    flags: (0x0000) 

  protected org.glassfish.grizzly.nio.ChannelConfigurator channelConfigurator;
    descriptor: Lorg/glassfish/grizzly/nio/ChannelConfigurator;
    flags: (0x0004) ACC_PROTECTED

  private int selectorRunnersCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean optimizedForMultiplexing;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  protected org.glassfish.grizzly.nio.SelectorRunner[] selectorRunners;
    descriptor: [Lorg/glassfish/grizzly/nio/SelectorRunner;
    flags: (0x0004) ACC_PROTECTED

  protected org.glassfish.grizzly.nio.NIOChannelDistributor nioChannelDistributor;
    descriptor: Lorg/glassfish/grizzly/nio/NIOChannelDistributor;
    flags: (0x0004) ACC_PROTECTED

  protected java.nio.channels.spi.SelectorProvider selectorProvider;
    descriptor: Ljava/nio/channels/spi/SelectorProvider;
    flags: (0x0004) ACC_PROTECTED

  protected final org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorIO temporarySelectorIO;
    descriptor: Lorg/glassfish/grizzly/nio/tmpselectors/TemporarySelectorIO;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected java.util.Set<org.glassfish.grizzly.GracefulShutdownListener> shutdownListeners;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lorg/glassfish/grizzly/GracefulShutdownListener;>;

  protected org.glassfish.grizzly.impl.FutureImpl<org.glassfish.grizzly.Transport> shutdownFuture;
    descriptor: Lorg/glassfish/grizzly/impl/FutureImpl;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lorg/glassfish/grizzly/impl/FutureImpl<Lorg/glassfish/grizzly/Transport;>;

  protected java.util.concurrent.ExecutorService shutdownService;
    descriptor: Ljava/util/concurrent/ExecutorService;
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 70
            ldc Lorg/glassfish/grizzly/nio/NIOTransport;
            invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
            putstatic org.glassfish.grizzly.nio.NIOTransport.LOGGER:Ljava/util/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // java.lang.String name
         0: .line 118
            aload 0 /* this */
            aload 1 /* name */
            invokespecial org.glassfish.grizzly.AbstractTransport.<init>:(Ljava/lang/String;)V
         1: .line 77
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.nio.NIOTransport.serverSocketSoTimeout:I
         2: .line 81
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.nio.NIOTransport.reuseAddress:Z
         3: .line 85
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.nio.NIOTransport.clientSocketSoTimeout:I
         4: .line 89
            aload 0 /* this */
            sipush 30000
            putfield org.glassfish.grizzly.nio.NIOTransport.connectionTimeout:I
         5: .line 93
            aload 0 /* this */
            iconst_m1
            putfield org.glassfish.grizzly.nio.NIOTransport.selectorRunnersCount:I
         6: .line 95
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.nio.NIOTransport.optimizedForMultiplexing:Z
         7: .line 101
            aload 0 /* this */
            invokestatic java.nio.channels.spi.SelectorProvider.provider:()Ljava/nio/channels/spi/SelectorProvider;
            putfield org.glassfish.grizzly.nio.NIOTransport.selectorProvider:Ljava/nio/channels/spi/SelectorProvider;
         8: .line 119
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.createTemporarySelectorIO:()Lorg/glassfish/grizzly/nio/tmpselectors/TemporarySelectorIO;
            putfield org.glassfish.grizzly.nio.NIOTransport.temporarySelectorIO:Lorg/glassfish/grizzly/nio/tmpselectors/TemporarySelectorIO;
         9: .line 120
            return
        end local 1 // java.lang.String name
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0   10     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  public abstract void unbindAll();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean addShutdownListener(org.glassfish.grizzly.GracefulShutdownListener);
    descriptor: (Lorg/glassfish/grizzly/GracefulShutdownListener;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // org.glassfish.grizzly.GracefulShutdownListener shutdownListener
         0: .line 127
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state: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 2 /* lock */
        start local 2 // java.util.concurrent.locks.Lock lock
         1: .line 128
            aload 2 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 130
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.getState:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.Transport$State
            astore 3 /* stateNow */
        start local 3 // org.glassfish.grizzly.Transport$State stateNow
         3: .line 131
            aload 3 /* stateNow */
            getstatic org.glassfish.grizzly.Transport$State.STOPPING:Lorg/glassfish/grizzly/Transport$State;
            if_acmpne 4
            aload 3 /* stateNow */
            getstatic org.glassfish.grizzly.Transport$State.STOPPED:Lorg/glassfish/grizzly/Transport$State;
            if_acmpeq 9
         4: .line 132
      StackMap locals: java.util.concurrent.locks.Lock org.glassfish.grizzly.Transport$State
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownListeners:Ljava/util/Set;
            ifnonnull 6
         5: .line 133
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.glassfish.grizzly.nio.NIOTransport.shutdownListeners:Ljava/util/Set;
         6: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownListeners:Ljava/util/Set;
            aload 1 /* shutdownListener */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            istore 5
         7: .line 139
            aload 2 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         8: .line 135
            iload 5
            ireturn
         9: .line 139
      StackMap locals:
      StackMap stack:
            aload 2 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 137
            iconst_0
            ireturn
        end local 3 // org.glassfish.grizzly.Transport$State stateNow
        11: .line 138
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport org.glassfish.grizzly.GracefulShutdownListener java.util.concurrent.locks.Lock
      StackMap stack: java.lang.Throwable
            astore 4
        12: .line 139
            aload 2 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        13: .line 140
            aload 4
            athrow
        end local 2 // java.util.concurrent.locks.Lock lock
        end local 1 // org.glassfish.grizzly.GracefulShutdownListener shutdownListener
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0   14     1  shutdownListener  Lorg/glassfish/grizzly/GracefulShutdownListener;
            1   14     2              lock  Ljava/util/concurrent/locks/Lock;
            3   11     3          stateNow  Lorg/glassfish/grizzly/Transport$State;
      Exception table:
        from    to  target  type
           2     7      11  any
    MethodParameters:
                  Name  Flags
      shutdownListener  final

  public org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorIO getTemporarySelectorIO();
    descriptor: ()Lorg/glassfish/grizzly/nio/tmpselectors/TemporarySelectorIO;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 145
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.temporarySelectorIO:Lorg/glassfish/grizzly/nio/tmpselectors/TemporarySelectorIO;
            areturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public org.glassfish.grizzly.nio.SelectionKeyHandler getSelectionKeyHandler();
    descriptor: ()Lorg/glassfish/grizzly/nio/SelectionKeyHandler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 149
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectionKeyHandler:Lorg/glassfish/grizzly/nio/SelectionKeyHandler;
            areturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setSelectionKeyHandler(org.glassfish.grizzly.nio.SelectionKeyHandler);
    descriptor: (Lorg/glassfish/grizzly/nio/SelectionKeyHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // org.glassfish.grizzly.nio.SelectionKeyHandler selectionKeyHandler
         0: .line 153
            aload 0 /* this */
            aload 1 /* selectionKeyHandler */
            putfield org.glassfish.grizzly.nio.NIOTransport.selectionKeyHandler:Lorg/glassfish/grizzly/nio/SelectionKeyHandler;
         1: .line 154
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesConfigChanged:(Lorg/glassfish/grizzly/AbstractTransport;)V
         2: .line 155
            return
        end local 1 // org.glassfish.grizzly.nio.SelectionKeyHandler selectionKeyHandler
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    3     1  selectionKeyHandler  Lorg/glassfish/grizzly/nio/SelectionKeyHandler;
    MethodParameters:
                     Name  Flags
      selectionKeyHandler  final

  public org.glassfish.grizzly.nio.SelectorHandler getSelectorHandler();
    descriptor: ()Lorg/glassfish/grizzly/nio/SelectorHandler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 158
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorHandler:Lorg/glassfish/grizzly/nio/SelectorHandler;
            areturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setSelectorHandler(org.glassfish.grizzly.nio.SelectorHandler);
    descriptor: (Lorg/glassfish/grizzly/nio/SelectorHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // org.glassfish.grizzly.nio.SelectorHandler selectorHandler
         0: .line 162
            aload 0 /* this */
            aload 1 /* selectorHandler */
            putfield org.glassfish.grizzly.nio.NIOTransport.selectorHandler:Lorg/glassfish/grizzly/nio/SelectorHandler;
         1: .line 163
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesConfigChanged:(Lorg/glassfish/grizzly/AbstractTransport;)V
         2: .line 164
            return
        end local 1 // org.glassfish.grizzly.nio.SelectorHandler selectorHandler
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    3     1  selectorHandler  Lorg/glassfish/grizzly/nio/SelectorHandler;
    MethodParameters:
                 Name  Flags
      selectorHandler  final

  public org.glassfish.grizzly.nio.ChannelConfigurator getChannelConfigurator();
    descriptor: ()Lorg/glassfish/grizzly/nio/ChannelConfigurator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 170
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.channelConfigurator:Lorg/glassfish/grizzly/nio/ChannelConfigurator;
            areturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setChannelConfigurator(org.glassfish.grizzly.nio.ChannelConfigurator);
    descriptor: (Lorg/glassfish/grizzly/nio/ChannelConfigurator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // org.glassfish.grizzly.nio.ChannelConfigurator channelConfigurator
         0: .line 179
            aload 0 /* this */
            aload 1 /* channelConfigurator */
            putfield org.glassfish.grizzly.nio.NIOTransport.channelConfigurator:Lorg/glassfish/grizzly/nio/ChannelConfigurator;
         1: .line 180
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesConfigChanged:(Lorg/glassfish/grizzly/AbstractTransport;)V
         2: .line 181
            return
        end local 1 // org.glassfish.grizzly.nio.ChannelConfigurator channelConfigurator
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    3     1  channelConfigurator  Lorg/glassfish/grizzly/nio/ChannelConfigurator;
    MethodParameters:
                     Name  Flags
      channelConfigurator  final

  public int getSelectorRunnersCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 187
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorRunnersCount:I
            ifgt 2
         1: .line 188
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.getDefaultSelectorRunnersCount:()I
            putfield org.glassfish.grizzly.nio.NIOTransport.selectorRunnersCount:I
         2: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorRunnersCount:I
            ireturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setSelectorRunnersCount(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // int selectorRunnersCount
         0: .line 200
            iload 1 /* selectorRunnersCount */
            ifle 5
         1: .line 201
            aload 0 /* this */
            iload 1 /* selectorRunnersCount */
            putfield org.glassfish.grizzly.nio.NIOTransport.selectorRunnersCount:I
         2: .line 202
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            ifnull 4
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.getMaxPoolSize:()I
            iload 1 /* selectorRunnersCount */
            if_icmpge 4
         3: .line 203
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            iload 1 /* selectorRunnersCount */
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.setCorePoolSize:(I)Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            iload 1 /* selectorRunnersCount */
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.setMaxPoolSize:(I)Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            pop
         4: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesConfigChanged:(Lorg/glassfish/grizzly/AbstractTransport;)V
         5: .line 207
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int selectorRunnersCount
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                  this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    6     1  selectorRunnersCount  I
    MethodParameters:
                      Name  Flags
      selectorRunnersCount  final

  public java.nio.channels.spi.SelectorProvider getSelectorProvider();
    descriptor: ()Ljava/nio/channels/spi/SelectorProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 215
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorProvider:Ljava/nio/channels/spi/SelectorProvider;
            areturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setSelectorProvider(java.nio.channels.spi.SelectorProvider);
    descriptor: (Ljava/nio/channels/spi/SelectorProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // java.nio.channels.spi.SelectorProvider selectorProvider
         0: .line 224
            aload 0 /* this */
            aload 1 /* selectorProvider */
            ifnull 1
            aload 1 /* selectorProvider */
            goto 2
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.nio.NIOTransport
         1: invokestatic java.nio.channels.spi.SelectorProvider.provider:()Ljava/nio/channels/spi/SelectorProvider;
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport java.nio.channels.spi.SelectorProvider
      StackMap stack: org.glassfish.grizzly.nio.NIOTransport java.nio.channels.spi.SelectorProvider
         2: putfield org.glassfish.grizzly.nio.NIOTransport.selectorProvider:Ljava/nio/channels/spi/SelectorProvider;
         3: .line 225
            return
        end local 1 // java.nio.channels.spi.SelectorProvider selectorProvider
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    4     1  selectorProvider  Ljava/nio/channels/spi/SelectorProvider;
    MethodParameters:
                  Name  Flags
      selectorProvider  final

  public boolean isOptimizedForMultiplexing();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 238
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.optimizedForMultiplexing:Z
            ireturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setOptimizedForMultiplexing(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // boolean optimizedForMultiplexing
         0: .line 246
            aload 0 /* this */
            iload 1 /* optimizedForMultiplexing */
            putfield org.glassfish.grizzly.nio.NIOTransport.optimizedForMultiplexing:Z
         1: .line 247
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.getAsyncQueueIO:()Lorg/glassfish/grizzly/asyncqueue/AsyncQueueIO;
            invokeinterface org.glassfish.grizzly.asyncqueue.AsyncQueueIO.getWriter:()Lorg/glassfish/grizzly/asyncqueue/AsyncQueueWriter;
            iload 1 /* optimizedForMultiplexing */
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack: org.glassfish.grizzly.asyncqueue.AsyncQueueWriter
         2: iconst_1
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport int
      StackMap stack: org.glassfish.grizzly.asyncqueue.AsyncQueueWriter int
         3: invokeinterface org.glassfish.grizzly.asyncqueue.AsyncQueueWriter.setAllowDirectWrite:(Z)V
         4: .line 248
            return
        end local 1 // boolean optimizedForMultiplexing
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    5     0                      this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    5     1  optimizedForMultiplexing  Z
    MethodParameters:
                          Name  Flags
      optimizedForMultiplexing  final

  protected synchronized void startSelectorRunners();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 251
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorRunnersCount:I
            anewarray org.glassfish.grizzly.nio.SelectorRunner
            putfield org.glassfish.grizzly.nio.NIOTransport.selectorRunners:[Lorg/glassfish/grizzly/nio/SelectorRunner;
         1: .line 253
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 7
         3: .line 254
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.SelectorRunner.create:(Lorg/glassfish/grizzly/nio/NIOTransport;)Lorg/glassfish/grizzly/nio/SelectorRunner;
            astore 2 /* runner */
        start local 2 // org.glassfish.grizzly.nio.SelectorRunner runner
         4: .line 255
            aload 2 /* runner */
            invokevirtual org.glassfish.grizzly.nio.SelectorRunner.start:()V
         5: .line 256
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorRunners:[Lorg/glassfish/grizzly/nio/SelectorRunner;
            iload 1 /* i */
            aload 2 /* runner */
            aastore
        end local 2 // org.glassfish.grizzly.nio.SelectorRunner runner
         6: .line 253
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* i */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorRunnersCount:I
            if_icmplt 3
        end local 1 // int i
         8: .line 258
            return
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/glassfish/grizzly/nio/NIOTransport;
            2    8     1       i  I
            4    6     2  runner  Lorg/glassfish/grizzly/nio/SelectorRunner;
    Exceptions:
      throws java.io.IOException

  protected synchronized void stopSelectorRunners();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 261
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorRunners:[Lorg/glassfish/grizzly/nio/SelectorRunner;
            ifnonnull 2
         1: .line 262
            return
         2: .line 265
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 9
         4: .line 266
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorRunners:[Lorg/glassfish/grizzly/nio/SelectorRunner;
            iload 1 /* i */
            aaload
            astore 2 /* runner */
        start local 2 // org.glassfish.grizzly.nio.SelectorRunner runner
         5: .line 267
            aload 2 /* runner */
            ifnull 8
         6: .line 268
            aload 2 /* runner */
            invokevirtual org.glassfish.grizzly.nio.SelectorRunner.stop:()V
         7: .line 269
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorRunners:[Lorg/glassfish/grizzly/nio/SelectorRunner;
            iload 1 /* i */
            aconst_null
            aastore
        end local 2 // org.glassfish.grizzly.nio.SelectorRunner runner
         8: .line 265
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 1 /* i */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorRunners:[Lorg/glassfish/grizzly/nio/SelectorRunner;
            arraylength
            if_icmplt 4
        end local 1 // int i
        10: .line 273
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.nio.NIOTransport.selectorRunners:[Lorg/glassfish/grizzly/nio/SelectorRunner;
        11: .line 274
            return
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/glassfish/grizzly/nio/NIOTransport;
            3   10     1       i  I
            5    8     2  runner  Lorg/glassfish/grizzly/nio/SelectorRunner;

  public org.glassfish.grizzly.nio.NIOChannelDistributor getNIOChannelDistributor();
    descriptor: ()Lorg/glassfish/grizzly/nio/NIOChannelDistributor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 277
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.nioChannelDistributor:Lorg/glassfish/grizzly/nio/NIOChannelDistributor;
            areturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setNIOChannelDistributor(org.glassfish.grizzly.nio.NIOChannelDistributor);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOChannelDistributor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // org.glassfish.grizzly.nio.NIOChannelDistributor nioChannelDistributor
         0: .line 281
            aload 0 /* this */
            aload 1 /* nioChannelDistributor */
            putfield org.glassfish.grizzly.nio.NIOTransport.nioChannelDistributor:Lorg/glassfish/grizzly/nio/NIOChannelDistributor;
         1: .line 282
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesConfigChanged:(Lorg/glassfish/grizzly/AbstractTransport;)V
         2: .line 283
            return
        end local 1 // org.glassfish.grizzly.nio.NIOChannelDistributor nioChannelDistributor
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    3     1  nioChannelDistributor  Lorg/glassfish/grizzly/nio/NIOChannelDistributor;
    MethodParameters:
                       Name  Flags
      nioChannelDistributor  final

  public void notifyTransportError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // java.lang.Throwable error
         0: .line 290
            aload 0 /* this */
            aload 1 /* error */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesError:(Lorg/glassfish/grizzly/nio/NIOTransport;Ljava/lang/Throwable;)V
         1: .line 291
            return
        end local 1 // java.lang.Throwable error
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    2     1  error  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      error  final

  protected org.glassfish.grizzly.nio.SelectorRunner[] getSelectorRunners();
    descriptor: ()[Lorg/glassfish/grizzly/nio/SelectorRunner;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 294
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorRunners:[Lorg/glassfish/grizzly/nio/SelectorRunner;
            areturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  protected static void notifyProbesError(org.glassfish.grizzly.nio.NIOTransport, java.lang.Throwable);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOTransport;Ljava/lang/Throwable;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport transport
        start local 1 // java.lang.Throwable error
         0: .line 303
            aload 0 /* transport */
            getfield org.glassfish.grizzly.nio.NIOTransport.transportMonitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            invokevirtual org.glassfish.grizzly.monitoring.DefaultMonitoringConfig.getProbesUnsafe:()[Ljava/lang/Object;
            checkcast org.glassfish.grizzly.TransportProbe[]
            astore 2 /* probes */
        start local 2 // org.glassfish.grizzly.TransportProbe[] probes
         1: .line 304
            aload 2 /* probes */
            ifnull 7
         2: .line 305
            aload 2 /* probes */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport java.lang.Throwable org.glassfish.grizzly.TransportProbe[] top int int org.glassfish.grizzly.TransportProbe[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* probe */
        start local 3 // org.glassfish.grizzly.TransportProbe probe
         4: .line 306
            aload 3 /* probe */
            aload 0 /* transport */
            aload 1 /* error */
            invokeinterface org.glassfish.grizzly.TransportProbe.onErrorEvent:(Lorg/glassfish/grizzly/Transport;Ljava/lang/Throwable;)V
        end local 3 // org.glassfish.grizzly.TransportProbe probe
         5: .line 305
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 3
         7: .line 309
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport java.lang.Throwable org.glassfish.grizzly.TransportProbe[]
      StackMap stack:
            return
        end local 2 // org.glassfish.grizzly.TransportProbe[] probes
        end local 1 // java.lang.Throwable error
        end local 0 // org.glassfish.grizzly.nio.NIOTransport transport
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  transport  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    8     1      error  Ljava/lang/Throwable;
            1    8     2     probes  [Lorg/glassfish/grizzly/TransportProbe;
            4    5     3      probe  Lorg/glassfish/grizzly/TransportProbe;
    MethodParameters:
           Name  Flags
      transport  final
      error      final

  protected static void notifyProbesStart(org.glassfish.grizzly.nio.NIOTransport);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOTransport;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport transport
         0: .line 317
            aload 0 /* transport */
            getfield org.glassfish.grizzly.nio.NIOTransport.transportMonitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            invokevirtual org.glassfish.grizzly.monitoring.DefaultMonitoringConfig.getProbesUnsafe:()[Ljava/lang/Object;
            checkcast org.glassfish.grizzly.TransportProbe[]
            astore 1 /* probes */
        start local 1 // org.glassfish.grizzly.TransportProbe[] probes
         1: .line 318
            aload 1 /* probes */
            ifnull 7
         2: .line 319
            aload 1 /* probes */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport org.glassfish.grizzly.TransportProbe[] top int int org.glassfish.grizzly.TransportProbe[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* probe */
        start local 2 // org.glassfish.grizzly.TransportProbe probe
         4: .line 320
            aload 2 /* probe */
            aload 0 /* transport */
            invokeinterface org.glassfish.grizzly.TransportProbe.onStartEvent:(Lorg/glassfish/grizzly/Transport;)V
        end local 2 // org.glassfish.grizzly.TransportProbe probe
         5: .line 319
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 323
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport org.glassfish.grizzly.TransportProbe[]
      StackMap stack:
            return
        end local 1 // org.glassfish.grizzly.TransportProbe[] probes
        end local 0 // org.glassfish.grizzly.nio.NIOTransport transport
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  transport  Lorg/glassfish/grizzly/nio/NIOTransport;
            1    8     1     probes  [Lorg/glassfish/grizzly/TransportProbe;
            4    5     2      probe  Lorg/glassfish/grizzly/TransportProbe;
    MethodParameters:
           Name  Flags
      transport  final

  protected static void notifyProbesStop(org.glassfish.grizzly.nio.NIOTransport);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOTransport;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport transport
         0: .line 331
            aload 0 /* transport */
            getfield org.glassfish.grizzly.nio.NIOTransport.transportMonitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            invokevirtual org.glassfish.grizzly.monitoring.DefaultMonitoringConfig.getProbesUnsafe:()[Ljava/lang/Object;
            checkcast org.glassfish.grizzly.TransportProbe[]
            astore 1 /* probes */
        start local 1 // org.glassfish.grizzly.TransportProbe[] probes
         1: .line 332
            aload 1 /* probes */
            ifnull 7
         2: .line 333
            aload 1 /* probes */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport org.glassfish.grizzly.TransportProbe[] top int int org.glassfish.grizzly.TransportProbe[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* probe */
        start local 2 // org.glassfish.grizzly.TransportProbe probe
         4: .line 334
            aload 2 /* probe */
            aload 0 /* transport */
            invokeinterface org.glassfish.grizzly.TransportProbe.onStopEvent:(Lorg/glassfish/grizzly/Transport;)V
        end local 2 // org.glassfish.grizzly.TransportProbe probe
         5: .line 333
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 337
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport org.glassfish.grizzly.TransportProbe[]
      StackMap stack:
            return
        end local 1 // org.glassfish.grizzly.TransportProbe[] probes
        end local 0 // org.glassfish.grizzly.nio.NIOTransport transport
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  transport  Lorg/glassfish/grizzly/nio/NIOTransport;
            1    8     1     probes  [Lorg/glassfish/grizzly/TransportProbe;
            4    5     2      probe  Lorg/glassfish/grizzly/TransportProbe;
    MethodParameters:
           Name  Flags
      transport  final

  protected static void notifyProbesPause(org.glassfish.grizzly.nio.NIOTransport);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOTransport;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport transport
         0: .line 345
            aload 0 /* transport */
            getfield org.glassfish.grizzly.nio.NIOTransport.transportMonitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            invokevirtual org.glassfish.grizzly.monitoring.DefaultMonitoringConfig.getProbesUnsafe:()[Ljava/lang/Object;
            checkcast org.glassfish.grizzly.TransportProbe[]
            astore 1 /* probes */
        start local 1 // org.glassfish.grizzly.TransportProbe[] probes
         1: .line 346
            aload 1 /* probes */
            ifnull 7
         2: .line 347
            aload 1 /* probes */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport org.glassfish.grizzly.TransportProbe[] top int int org.glassfish.grizzly.TransportProbe[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* probe */
        start local 2 // org.glassfish.grizzly.TransportProbe probe
         4: .line 348
            aload 2 /* probe */
            aload 0 /* transport */
            invokeinterface org.glassfish.grizzly.TransportProbe.onPauseEvent:(Lorg/glassfish/grizzly/Transport;)V
        end local 2 // org.glassfish.grizzly.TransportProbe probe
         5: .line 347
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 351
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport org.glassfish.grizzly.TransportProbe[]
      StackMap stack:
            return
        end local 1 // org.glassfish.grizzly.TransportProbe[] probes
        end local 0 // org.glassfish.grizzly.nio.NIOTransport transport
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  transport  Lorg/glassfish/grizzly/nio/NIOTransport;
            1    8     1     probes  [Lorg/glassfish/grizzly/TransportProbe;
            4    5     2      probe  Lorg/glassfish/grizzly/TransportProbe;
    MethodParameters:
           Name  Flags
      transport  final

  protected static void notifyProbesResume(org.glassfish.grizzly.nio.NIOTransport);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOTransport;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport transport
         0: .line 359
            aload 0 /* transport */
            getfield org.glassfish.grizzly.nio.NIOTransport.transportMonitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            invokevirtual org.glassfish.grizzly.monitoring.DefaultMonitoringConfig.getProbesUnsafe:()[Ljava/lang/Object;
            checkcast org.glassfish.grizzly.TransportProbe[]
            astore 1 /* probes */
        start local 1 // org.glassfish.grizzly.TransportProbe[] probes
         1: .line 360
            aload 1 /* probes */
            ifnull 7
         2: .line 361
            aload 1 /* probes */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport org.glassfish.grizzly.TransportProbe[] top int int org.glassfish.grizzly.TransportProbe[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* probe */
        start local 2 // org.glassfish.grizzly.TransportProbe probe
         4: .line 362
            aload 2 /* probe */
            aload 0 /* transport */
            invokeinterface org.glassfish.grizzly.TransportProbe.onResumeEvent:(Lorg/glassfish/grizzly/Transport;)V
        end local 2 // org.glassfish.grizzly.TransportProbe probe
         5: .line 361
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 365
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport org.glassfish.grizzly.TransportProbe[]
      StackMap stack:
            return
        end local 1 // org.glassfish.grizzly.TransportProbe[] probes
        end local 0 // org.glassfish.grizzly.nio.NIOTransport transport
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  transport  Lorg/glassfish/grizzly/nio/NIOTransport;
            1    8     1     probes  [Lorg/glassfish/grizzly/TransportProbe;
            4    5     2      probe  Lorg/glassfish/grizzly/TransportProbe;
    MethodParameters:
           Name  Flags
      transport  final

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 377
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state: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 1 /* lock */
        start local 1 // java.util.concurrent.locks.Lock lock
         1: .line 378
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 380
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.getState:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.Transport$State
            astore 2 /* currentState */
        start local 2 // org.glassfish.grizzly.Transport$State currentState
         3: .line 381
            aload 2 /* currentState */
            getstatic org.glassfish.grizzly.Transport$State.STOPPED:Lorg/glassfish/grizzly/Transport$State;
            if_acmpeq 7
         4: .line 382
            getstatic org.glassfish.grizzly.nio.NIOTransport.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokestatic org.glassfish.grizzly.localization.LogMessages.WARNING_GRIZZLY_TRANSPORT_NOT_STOP_STATE_EXCEPTION:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         5: .line 461
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 383
            return
         7: .line 386
      StackMap locals: java.util.concurrent.locks.Lock org.glassfish.grizzly.Transport$State
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            getstatic org.glassfish.grizzly.Transport$State.STARTING:Lorg/glassfish/grizzly/Transport$State;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.setState:(Ljava/lang/Object;)V
         8: .line 387
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesBeforeStart:(Lorg/glassfish/grizzly/AbstractTransport;)V
         9: .line 389
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorProvider:Ljava/nio/channels/spi/SelectorProvider;
            ifnonnull 11
        10: .line 390
            aload 0 /* this */
            invokestatic java.nio.channels.spi.SelectorProvider.provider:()Ljava/nio/channels/spi/SelectorProvider;
            putfield org.glassfish.grizzly.nio.NIOTransport.selectorProvider:Ljava/nio/channels/spi/SelectorProvider;
        11: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorHandler:Lorg/glassfish/grizzly/nio/SelectorHandler;
            ifnonnull 13
        12: .line 394
            aload 0 /* this */
            new org.glassfish.grizzly.nio.DefaultSelectorHandler
            dup
            invokespecial org.glassfish.grizzly.nio.DefaultSelectorHandler.<init>:()V
            putfield org.glassfish.grizzly.nio.NIOTransport.selectorHandler:Lorg/glassfish/grizzly/nio/SelectorHandler;
        13: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectionKeyHandler:Lorg/glassfish/grizzly/nio/SelectionKeyHandler;
            ifnonnull 15
        14: .line 398
            aload 0 /* this */
            new org.glassfish.grizzly.nio.DefaultSelectionKeyHandler
            dup
            invokespecial org.glassfish.grizzly.nio.DefaultSelectionKeyHandler.<init>:()V
            putfield org.glassfish.grizzly.nio.NIOTransport.selectionKeyHandler:Lorg/glassfish/grizzly/nio/SelectionKeyHandler;
        15: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.processor:Lorg/glassfish/grizzly/Processor;
            ifnonnull 17
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.processorSelector:Lorg/glassfish/grizzly/ProcessorSelector;
            ifnonnull 17
        16: .line 402
            aload 0 /* this */
            new org.glassfish.grizzly.StandaloneProcessor
            dup
            invokespecial org.glassfish.grizzly.StandaloneProcessor.<init>:()V
            putfield org.glassfish.grizzly.nio.NIOTransport.processor:Lorg/glassfish/grizzly/Processor;
        17: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.getSelectorRunnersCount:()I
            istore 3 /* selectorRunnersCnt */
        start local 3 // int selectorRunnersCnt
        18: .line 407
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.nioChannelDistributor:Lorg/glassfish/grizzly/nio/NIOChannelDistributor;
            ifnonnull 20
        19: .line 408
            aload 0 /* this */
            new org.glassfish.grizzly.nio.RoundRobinConnectionDistributor
            dup
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.nio.RoundRobinConnectionDistributor.<init>:(Lorg/glassfish/grizzly/nio/NIOTransport;)V
            putfield org.glassfish.grizzly.nio.NIOTransport.nioChannelDistributor:Lorg/glassfish/grizzly/nio/NIOChannelDistributor;
        20: .line 411
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPool:Ljava/util/concurrent/ExecutorService;
            ifnonnull 33
        21: .line 412
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            ifnonnull 26
        22: .line 413
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.threadpool.ThreadPoolConfig.defaultConfig:()Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            iload 3 /* selectorRunnersCnt */
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.setCorePoolSize:(I)Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            iload 3 /* selectorRunnersCnt */
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.setMaxPoolSize:(I)Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
        23: .line 414
            ldc "grizzly-nio-kernel"
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.setPoolName:(Ljava/lang/String;)Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
        24: .line 413
            putfield org.glassfish.grizzly.nio.NIOTransport.kernelPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
        25: .line 415
            goto 31
      StackMap locals:
      StackMap stack:
        26: aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.getMaxPoolSize:()I
            iload 3 /* selectorRunnersCnt */
            if_icmpge 31
        27: .line 416
            getstatic org.glassfish.grizzly.nio.NIOTransport.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            ldc "Adjusting kernel thread pool to max size {0} to handle configured number of SelectorRunners"
        28: .line 417
            iload 3 /* selectorRunnersCnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        29: .line 416
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
        30: .line 418
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            iload 3 /* selectorRunnersCnt */
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.setCorePoolSize:(I)Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            iload 3 /* selectorRunnersCnt */
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.setMaxPoolSize:(I)Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            pop
        31: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.memoryManager:Lorg/glassfish/grizzly/memory/MemoryManager;
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.setMemoryManager:(Lorg/glassfish/grizzly/memory/MemoryManager;)Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            pop
        32: .line 422
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            invokestatic org.glassfish.grizzly.threadpool.GrizzlyExecutorService.createInstance:(Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;)Lorg/glassfish/grizzly/threadpool/GrizzlyExecutorService;
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.setKernelPool0:(Ljava/util/concurrent/ExecutorService;)V
        33: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.workerThreadPool:Ljava/util/concurrent/ExecutorService;
            ifnonnull 39
        34: .line 426
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.workerPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            ifnull 39
        35: .line 427
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.getThreadPoolMonitoringConfig:()Lorg/glassfish/grizzly/monitoring/MonitoringConfig;
            invokeinterface org.glassfish.grizzly.monitoring.MonitoringConfig.hasProbes:()Z
            ifeq 37
        36: .line 428
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.workerPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.getInitialMonitoringConfig:()Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.getThreadPoolMonitoringConfig:()Lorg/glassfish/grizzly/monitoring/MonitoringConfig;
            invokeinterface org.glassfish.grizzly.monitoring.MonitoringConfig.getProbes:()[Ljava/lang/Object;
            checkcast org.glassfish.grizzly.threadpool.ThreadPoolProbe[]
            invokevirtual org.glassfish.grizzly.monitoring.DefaultMonitoringConfig.addProbes:([Ljava/lang/Object;)V
        37: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.workerPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.memoryManager:Lorg/glassfish/grizzly/memory/MemoryManager;
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.setMemoryManager:(Lorg/glassfish/grizzly/memory/MemoryManager;)Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            pop
        38: .line 431
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.workerPoolConfig:Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            invokestatic org.glassfish.grizzly.threadpool.GrizzlyExecutorService.createInstance:(Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;)Lorg/glassfish/grizzly/threadpool/GrizzlyExecutorService;
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.setWorkerThreadPool0:(Ljava/util/concurrent/ExecutorService;)V
        39: .line 438
      StackMap locals:
      StackMap stack:
            bipush 32
            istore 4 /* selectorPoolSize */
        start local 4 // int selectorPoolSize
        40: .line 439
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.workerThreadPool:Ljava/util/concurrent/ExecutorService;
            instanceof org.glassfish.grizzly.threadpool.AbstractThreadPool
            ifeq 45
        41: .line 440
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.strategy:Lorg/glassfish/grizzly/IOStrategy;
            instanceof org.glassfish.grizzly.strategies.SameThreadIOStrategy
            ifeq 44
        42: .line 441
            iload 3 /* selectorRunnersCnt */
            istore 4 /* selectorPoolSize */
        43: .line 442
            goto 45
        44: .line 443
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.workerThreadPool:Ljava/util/concurrent/ExecutorService;
            checkcast org.glassfish.grizzly.threadpool.AbstractThreadPool
            invokevirtual org.glassfish.grizzly.threadpool.AbstractThreadPool.getConfig:()Lorg/glassfish/grizzly/threadpool/ThreadPoolConfig;
            invokevirtual org.glassfish.grizzly.threadpool.ThreadPoolConfig.getMaxPoolSize:()I
            iload 4 /* selectorPoolSize */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* selectorPoolSize */
        45: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.strategy:Lorg/glassfish/grizzly/IOStrategy;
            ifnonnull 47
        46: .line 448
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.getInstance:()Lorg/glassfish/grizzly/strategies/WorkerThreadIOStrategy;
            putfield org.glassfish.grizzly.nio.NIOTransport.strategy:Lorg/glassfish/grizzly/IOStrategy;
        47: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.temporarySelectorIO:Lorg/glassfish/grizzly/nio/tmpselectors/TemporarySelectorIO;
            new org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorPool
            dup
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.selectorProvider:Ljava/nio/channels/spi/SelectorProvider;
            iload 4 /* selectorPoolSize */
            invokespecial org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorPool.<init>:(Ljava/nio/channels/spi/SelectorProvider;I)V
            invokevirtual org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorIO.setSelectorPool:(Lorg/glassfish/grizzly/nio/tmpselectors/TemporarySelectorPool;)V
        48: .line 453
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.startSelectorRunners:()V
        49: .line 455
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.listen:()V
        50: .line 457
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            getstatic org.glassfish.grizzly.Transport$State.STARTED:Lorg/glassfish/grizzly/Transport$State;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.setState:(Ljava/lang/Object;)V
        51: .line 459
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesStart:(Lorg/glassfish/grizzly/nio/NIOTransport;)V
        end local 4 // int selectorPoolSize
        end local 3 // int selectorRunnersCnt
        end local 2 // org.glassfish.grizzly.Transport$State currentState
        52: .line 460
            goto 56
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport java.util.concurrent.locks.Lock
      StackMap stack: java.lang.Throwable
        53: astore 5
        54: .line 461
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        55: .line 462
            aload 5
            athrow
        56: .line 461
      StackMap locals:
      StackMap stack:
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        57: .line 463
            return
        end local 1 // java.util.concurrent.locks.Lock lock
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   58     0                this  Lorg/glassfish/grizzly/nio/NIOTransport;
            1   58     1                lock  Ljava/util/concurrent/locks/Lock;
            3   52     2        currentState  Lorg/glassfish/grizzly/Transport$State;
           18   52     3  selectorRunnersCnt  I
           40   52     4    selectorPoolSize  I
      Exception table:
        from    to  target  type
           2     5      53  any
           7    53      53  any
    Exceptions:
      throws java.io.IOException

  public org.glassfish.grizzly.GrizzlyFuture<org.glassfish.grizzly.Transport> shutdown();
    descriptor: ()Lorg/glassfish/grizzly/GrizzlyFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 467
            aload 0 /* this */
            ldc -1
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.shutdown:(JLjava/util/concurrent/TimeUnit;)Lorg/glassfish/grizzly/GrizzlyFuture;
            areturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;
    Signature: ()Lorg/glassfish/grizzly/GrizzlyFuture<Lorg/glassfish/grizzly/Transport;>;

  public org.glassfish.grizzly.GrizzlyFuture<org.glassfish.grizzly.Transport> shutdown(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Lorg/glassfish/grizzly/GrizzlyFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=3
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // long gracePeriod
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 475
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state: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 4 /* lock */
        start local 4 // java.util.concurrent.locks.Lock lock
         1: .line 476
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 478
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.getState:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.Transport$State
            astore 5 /* stateNow */
        start local 5 // org.glassfish.grizzly.Transport$State stateNow
         3: .line 479
            aload 5 /* stateNow */
            getstatic org.glassfish.grizzly.Transport$State.STOPPING:Lorg/glassfish/grizzly/Transport$State;
            if_acmpne 7
         4: .line 481
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownFuture:Lorg/glassfish/grizzly/impl/FutureImpl;
            astore 8
         5: .line 507
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 481
            aload 8
            areturn
         7: .line 482
      StackMap locals: java.util.concurrent.locks.Lock org.glassfish.grizzly.Transport$State
      StackMap stack:
            aload 5 /* stateNow */
            getstatic org.glassfish.grizzly.Transport$State.STOPPED:Lorg/glassfish/grizzly/Transport$State;
            if_acmpne 11
         8: .line 483
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.utils.Futures.createReadyFuture:(Ljava/lang/Object;)Lorg/glassfish/grizzly/GrizzlyFuture;
            astore 8
         9: .line 507
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 483
            aload 8
            areturn
        11: .line 484
      StackMap locals:
      StackMap stack:
            aload 5 /* stateNow */
            getstatic org.glassfish.grizzly.Transport$State.PAUSED:Lorg/glassfish/grizzly/Transport$State;
            if_acmpne 13
        12: .line 485
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.resume:()V
        13: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            getstatic org.glassfish.grizzly.Transport$State.STOPPING:Lorg/glassfish/grizzly/Transport$State;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.setState:(Ljava/lang/Object;)V
        14: .line 490
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.unbindAll:()V
        15: .line 494
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownListeners:Ljava/util/Set;
            ifnull 22
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownListeners:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 22
        16: .line 495
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.utils.Futures.createSafeFuture:()Lorg/glassfish/grizzly/impl/FutureImpl;
            putfield org.glassfish.grizzly.nio.NIOTransport.shutdownFuture:Lorg/glassfish/grizzly/impl/FutureImpl;
        17: .line 496
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.createShutdownExecutorService:()Ljava/util/concurrent/ExecutorService;
            putfield org.glassfish.grizzly.nio.NIOTransport.shutdownService:Ljava/util/concurrent/ExecutorService;
        18: .line 497
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownService:Ljava/util/concurrent/ExecutorService;
            new org.glassfish.grizzly.nio.GracefulShutdownRunner
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownListeners:Ljava/util/Set;
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownService:Ljava/util/concurrent/ExecutorService;
            lload 1 /* gracePeriod */
            aload 3 /* timeUnit */
            invokespecial org.glassfish.grizzly.nio.GracefulShutdownRunner.<init>:(Lorg/glassfish/grizzly/nio/NIOTransport;Ljava/util/Set;Ljava/util/concurrent/ExecutorService;JLjava/util/concurrent/TimeUnit;)V
            invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
        19: .line 498
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.nio.NIOTransport.shutdownListeners:Ljava/util/Set;
        20: .line 499
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownFuture:Lorg/glassfish/grizzly/impl/FutureImpl;
            astore 6 /* resultFuture */
        start local 6 // org.glassfish.grizzly.GrizzlyFuture resultFuture
        21: .line 500
            goto 24
        end local 6 // org.glassfish.grizzly.GrizzlyFuture resultFuture
        22: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.finalizeShutdown:()V
        23: .line 502
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.utils.Futures.createReadyFuture:(Ljava/lang/Object;)Lorg/glassfish/grizzly/GrizzlyFuture;
            astore 6 /* resultFuture */
        start local 6 // org.glassfish.grizzly.GrizzlyFuture resultFuture
        24: .line 505
      StackMap locals: org.glassfish.grizzly.GrizzlyFuture
      StackMap stack:
            aload 6 /* resultFuture */
            astore 8
        25: .line 507
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        26: .line 505
            aload 8
            areturn
        end local 6 // org.glassfish.grizzly.GrizzlyFuture resultFuture
        end local 5 // org.glassfish.grizzly.Transport$State stateNow
        27: .line 506
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport long java.util.concurrent.TimeUnit java.util.concurrent.locks.Lock
      StackMap stack: java.lang.Throwable
            astore 7
        28: .line 507
            aload 4 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        29: .line 508
            aload 7
            athrow
        end local 4 // java.util.concurrent.locks.Lock lock
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long gracePeriod
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0   30     1   gracePeriod  J
            0   30     3      timeUnit  Ljava/util/concurrent/TimeUnit;
            1   30     4          lock  Ljava/util/concurrent/locks/Lock;
            3   27     5      stateNow  Lorg/glassfish/grizzly/Transport$State;
           21   22     6  resultFuture  Lorg/glassfish/grizzly/GrizzlyFuture<Lorg/glassfish/grizzly/Transport;>;
           24   27     6  resultFuture  Lorg/glassfish/grizzly/GrizzlyFuture<Lorg/glassfish/grizzly/Transport;>;
      Exception table:
        from    to  target  type
           2     5      27  any
           7     9      27  any
          11    25      27  any
    Signature: (JLjava/util/concurrent/TimeUnit;)Lorg/glassfish/grizzly/GrizzlyFuture<Lorg/glassfish/grizzly/Transport;>;
    MethodParameters:
             Name  Flags
      gracePeriod  final
      timeUnit     final

  public void shutdownNow();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 516
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state: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 1 /* lock */
        start local 1 // java.util.concurrent.locks.Lock lock
         1: .line 517
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 519
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.getState:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.Transport$State
            astore 2 /* stateNow */
        start local 2 // org.glassfish.grizzly.Transport$State stateNow
         3: .line 521
            aload 2 /* stateNow */
            getstatic org.glassfish.grizzly.Transport$State.STOPPED:Lorg/glassfish/grizzly/Transport$State;
            if_acmpne 6
         4: .line 535
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         5: .line 522
            return
         6: .line 525
      StackMap locals: java.util.concurrent.locks.Lock org.glassfish.grizzly.Transport$State
      StackMap stack:
            aload 2 /* stateNow */
            getstatic org.glassfish.grizzly.Transport$State.PAUSED:Lorg/glassfish/grizzly/Transport$State;
            if_acmpne 8
         7: .line 528
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.resume:()V
         8: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            getstatic org.glassfish.grizzly.Transport$State.STOPPING:Lorg/glassfish/grizzly/Transport$State;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.setState:(Ljava/lang/Object;)V
         9: .line 532
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.unbindAll:()V
        10: .line 533
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.finalizeShutdown:()V
        end local 2 // org.glassfish.grizzly.Transport$State stateNow
        11: .line 534
            goto 15
      StackMap locals: org.glassfish.grizzly.nio.NIOTransport java.util.concurrent.locks.Lock
      StackMap stack: java.lang.Throwable
        12: astore 3
        13: .line 535
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        14: .line 536
            aload 3
            athrow
        15: .line 535
      StackMap locals:
      StackMap stack:
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        16: .line 537
            return
        end local 1 // java.util.concurrent.locks.Lock lock
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/glassfish/grizzly/nio/NIOTransport;
            1   17     1      lock  Ljava/util/concurrent/locks/Lock;
            3   11     2  stateNow  Lorg/glassfish/grizzly/Transport$State;
      Exception table:
        from    to  target  type
           2     4      12  any
           6    12      12  any
    Exceptions:
      throws java.io.IOException

  protected abstract void closeConnection(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      connection  

  protected abstract org.glassfish.grizzly.nio.tmpselectors.TemporarySelectorIO createTemporarySelectorIO();
    descriptor: ()Lorg/glassfish/grizzly/nio/tmpselectors/TemporarySelectorIO;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract void listen();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected int getDefaultSelectorRunnersCount();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 547
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            ireturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  protected void finalizeShutdown();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 551
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownService:Ljava/util/concurrent/ExecutorService;
            ifnull 6
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownService:Ljava/util/concurrent/ExecutorService;
            invokeinterface java.util.concurrent.ExecutorService.isShutdown:()Z
            ifne 6
         1: .line 552
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            istore 1 /* isInterrupted */
        start local 1 // boolean isInterrupted
         2: .line 553
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownService:Ljava/util/concurrent/ExecutorService;
            invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
            pop
         3: .line 554
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.nio.NIOTransport.shutdownService:Ljava/util/concurrent/ExecutorService;
         4: .line 556
            iload 1 /* isInterrupted */
            ifne 6
         5: .line 560
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        end local 1 // boolean isInterrupted
         6: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesBeforeStop:(Lorg/glassfish/grizzly/AbstractTransport;)V
         7: .line 565
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.stopSelectorRunners:()V
         8: .line 567
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.workerThreadPool:Ljava/util/concurrent/ExecutorService;
            ifnull 11
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.managedWorkerPool:Z
            ifeq 11
         9: .line 568
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.workerThreadPool:Ljava/util/concurrent/ExecutorService;
            invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
        10: .line 569
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.nio.NIOTransport.workerThreadPool:Ljava/util/concurrent/ExecutorService;
        11: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPool:Ljava/util/concurrent/ExecutorService;
            ifnull 14
        12: .line 573
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.kernelPool:Ljava/util/concurrent/ExecutorService;
            invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
            pop
        13: .line 574
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.nio.NIOTransport.kernelPool:Ljava/util/concurrent/ExecutorService;
        14: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            getstatic org.glassfish.grizzly.Transport$State.STOPPED:Lorg/glassfish/grizzly/Transport$State;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.setState:(Ljava/lang/Object;)V
        15: .line 577
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesStop:(Lorg/glassfish/grizzly/nio/NIOTransport;)V
        16: .line 579
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownFuture:Lorg/glassfish/grizzly/impl/FutureImpl;
            ifnull 19
        17: .line 580
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.shutdownFuture:Lorg/glassfish/grizzly/impl/FutureImpl;
            aload 0 /* this */
            invokeinterface org.glassfish.grizzly.impl.FutureImpl.result:(Ljava/lang/Object;)V
        18: .line 581
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.nio.NIOTransport.shutdownFuture:Lorg/glassfish/grizzly/impl/FutureImpl;
        19: .line 583
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/glassfish/grizzly/nio/NIOTransport;
            2    6     1  isInterrupted  Z

  public void pause();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 595
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state: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 1 /* lock */
        start local 1 // java.util.concurrent.locks.Lock lock
         1: .line 596
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 598
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.getState:()Ljava/lang/Object;
            getstatic org.glassfish.grizzly.Transport$State.STARTED:Lorg/glassfish/grizzly/Transport$State;
            if_acmpeq 6
         3: .line 599
            getstatic org.glassfish.grizzly.nio.NIOTransport.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokestatic org.glassfish.grizzly.localization.LogMessages.WARNING_GRIZZLY_TRANSPORT_NOT_START_STATE_EXCEPTION:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         4: .line 607
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         5: .line 600
            return
         6: .line 602
      StackMap locals: java.util.concurrent.locks.Lock
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            getstatic org.glassfish.grizzly.Transport$State.PAUSING:Lorg/glassfish/grizzly/Transport$State;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.setState:(Ljava/lang/Object;)V
         7: .line 603
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesBeforePause:(Lorg/glassfish/grizzly/AbstractTransport;)V
         8: .line 604
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            getstatic org.glassfish.grizzly.Transport$State.PAUSED:Lorg/glassfish/grizzly/Transport$State;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.setState:(Ljava/lang/Object;)V
         9: .line 605
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesPause:(Lorg/glassfish/grizzly/nio/NIOTransport;)V
        10: .line 606
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 2
        12: .line 607
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        13: .line 608
            aload 2
            athrow
        14: .line 607
      StackMap locals:
      StackMap stack:
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        15: .line 609
            return
        end local 1 // java.util.concurrent.locks.Lock lock
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;
            1   16     1  lock  Ljava/util/concurrent/locks/Lock;
      Exception table:
        from    to  target  type
           2     4      11  any
           6    11      11  any

  public void resume();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 620
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state: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 1 /* lock */
        start local 1 // java.util.concurrent.locks.Lock lock
         1: .line 621
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 623
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.getState:()Ljava/lang/Object;
            getstatic org.glassfish.grizzly.Transport$State.PAUSED:Lorg/glassfish/grizzly/Transport$State;
            if_acmpeq 6
         3: .line 624
            getstatic org.glassfish.grizzly.nio.NIOTransport.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokestatic org.glassfish.grizzly.localization.LogMessages.WARNING_GRIZZLY_TRANSPORT_NOT_PAUSE_STATE_EXCEPTION:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         4: .line 632
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         5: .line 625
            return
         6: .line 627
      StackMap locals: java.util.concurrent.locks.Lock
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            getstatic org.glassfish.grizzly.Transport$State.STARTING:Lorg/glassfish/grizzly/Transport$State;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.setState:(Ljava/lang/Object;)V
         7: .line 628
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesBeforeResume:(Lorg/glassfish/grizzly/AbstractTransport;)V
         8: .line 629
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.state:Lorg/glassfish/grizzly/utils/StateHolder;
            getstatic org.glassfish.grizzly.Transport$State.STARTED:Lorg/glassfish/grizzly/Transport$State;
            invokevirtual org.glassfish.grizzly.utils.StateHolder.setState:(Ljava/lang/Object;)V
         9: .line 630
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesResume:(Lorg/glassfish/grizzly/nio/NIOTransport;)V
        10: .line 631
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 2
        12: .line 632
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        13: .line 633
            aload 2
            athrow
        14: .line 632
      StackMap locals:
      StackMap stack:
            aload 1 /* lock */
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        15: .line 634
            return
        end local 1 // java.util.concurrent.locks.Lock lock
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;
            1   16     1  lock  Ljava/util/concurrent/locks/Lock;
      Exception table:
        from    to  target  type
           2     4      11  any
           6    11      11  any

  protected void configureNIOConnection(org.glassfish.grizzly.nio.NIOConnection);
    descriptor: (Lorg/glassfish/grizzly/nio/NIOConnection;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // org.glassfish.grizzly.nio.NIOConnection connection
         0: .line 637
            aload 1 /* connection */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.isBlocking:Z
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.configureBlocking:(Z)V
         1: .line 638
            aload 1 /* connection */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.isStandalone:Z
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.configureStandalone:(Z)V
         2: .line 639
            aload 1 /* connection */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.processor:Lorg/glassfish/grizzly/Processor;
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.setProcessor:(Lorg/glassfish/grizzly/Processor;)V
         3: .line 640
            aload 1 /* connection */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.processorSelector:Lorg/glassfish/grizzly/ProcessorSelector;
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.setProcessorSelector:(Lorg/glassfish/grizzly/ProcessorSelector;)V
         4: .line 641
            aload 1 /* connection */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.readTimeout:J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.setReadTimeout:(JLjava/util/concurrent/TimeUnit;)V
         5: .line 642
            aload 1 /* connection */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.writeTimeout:J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.setWriteTimeout:(JLjava/util/concurrent/TimeUnit;)V
         6: .line 643
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.connectionMonitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            invokevirtual org.glassfish.grizzly.monitoring.DefaultMonitoringConfig.hasProbes:()Z
            ifeq 8
         7: .line 644
            aload 1 /* connection */
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.connectionMonitoringConfig:Lorg/glassfish/grizzly/monitoring/DefaultMonitoringConfig;
            invokevirtual org.glassfish.grizzly.monitoring.DefaultMonitoringConfig.getProbes:()[Ljava/lang/Object;
            checkcast org.glassfish.grizzly.ConnectionProbe[]
            invokevirtual org.glassfish.grizzly.nio.NIOConnection.setMonitoringProbes:([Lorg/glassfish/grizzly/ConnectionProbe;)V
         8: .line 646
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.glassfish.grizzly.nio.NIOConnection connection
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    9     1  connection  Lorg/glassfish/grizzly/nio/NIOConnection;
    MethodParameters:
            Name  Flags
      connection  

  public boolean isReuseAddress();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 649
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.reuseAddress:Z
            ireturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setReuseAddress(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // boolean reuseAddress
         0: .line 653
            aload 0 /* this */
            iload 1 /* reuseAddress */
            putfield org.glassfish.grizzly.nio.NIOTransport.reuseAddress:Z
         1: .line 654
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesConfigChanged:(Lorg/glassfish/grizzly/AbstractTransport;)V
         2: .line 655
            return
        end local 1 // boolean reuseAddress
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    3     1  reuseAddress  Z
    MethodParameters:
              Name  Flags
      reuseAddress  final

  public int getClientSocketSoTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 658
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.clientSocketSoTimeout:I
            ireturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setClientSocketSoTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // int socketTimeout
         0: .line 663
            iload 1 /* socketTimeout */
            ifge 2
         1: .line 664
            new java.lang.IllegalArgumentException
            dup
            ldc "socketTimeout can't be negative value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* socketTimeout */
            putfield org.glassfish.grizzly.nio.NIOTransport.clientSocketSoTimeout:I
         3: .line 668
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesConfigChanged:(Lorg/glassfish/grizzly/AbstractTransport;)V
         4: .line 669
            return
        end local 1 // int socketTimeout
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    5     1  socketTimeout  I
    MethodParameters:
               Name  Flags
      socketTimeout  final

  public int getConnectionTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 672
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.connectionTimeout:I
            ireturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setConnectionTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // int connectionTimeout
         0: .line 677
            aload 0 /* this */
            iload 1 /* connectionTimeout */
            putfield org.glassfish.grizzly.nio.NIOTransport.connectionTimeout:I
         1: .line 678
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesConfigChanged:(Lorg/glassfish/grizzly/AbstractTransport;)V
         2: .line 679
            return
        end local 1 // int connectionTimeout
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    3     1  connectionTimeout  I
    MethodParameters:
                   Name  Flags
      connectionTimeout  final

  public int getServerSocketSoTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 682
            aload 0 /* this */
            getfield org.glassfish.grizzly.nio.NIOTransport.serverSocketSoTimeout:I
            ireturn
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/nio/NIOTransport;

  public void setServerSocketSoTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
        start local 1 // int serverSocketSoTimeout
         0: .line 687
            iload 1 /* serverSocketSoTimeout */
            ifge 2
         1: .line 688
            new java.lang.IllegalArgumentException
            dup
            ldc "socketTimeout can't be negative value"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 691
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* serverSocketSoTimeout */
            putfield org.glassfish.grizzly.nio.NIOTransport.serverSocketSoTimeout:I
         3: .line 692
            aload 0 /* this */
            invokestatic org.glassfish.grizzly.nio.NIOTransport.notifyProbesConfigChanged:(Lorg/glassfish/grizzly/AbstractTransport;)V
         4: .line 693
            return
        end local 1 // int serverSocketSoTimeout
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    5     0                   this  Lorg/glassfish/grizzly/nio/NIOTransport;
            0    5     1  serverSocketSoTimeout  I
    MethodParameters:
                       Name  Flags
      serverSocketSoTimeout  final

  protected java.util.concurrent.ExecutorService createShutdownExecutorService();
    descriptor: ()Ljava/util/concurrent/ExecutorService;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.glassfish.grizzly.nio.NIOTransport this
         0: .line 696
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.nio.NIOTransport.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]-Shutdown-Thread"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* baseThreadIdentifier */
        start local 1 // java.lang.String baseThreadIdentifier
         1: .line 697
            new org.glassfish.grizzly.nio.NIOTransport$1
            dup
            aload 0 /* this */
            aload 1 /* baseThreadIdentifier */
            invokespecial org.glassfish.grizzly.nio.NIOTransport$1.<init>:(Lorg/glassfish/grizzly/nio/NIOTransport;Ljava/lang/String;)V
            astore 2 /* factory */
        start local 2 // java.util.concurrent.ThreadFactory factory
         2: .line 708
            iconst_2
            aload 2 /* factory */
            invokestatic java.util.concurrent.Executors.newFixedThreadPool:(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
            areturn
        end local 2 // java.util.concurrent.ThreadFactory factory
        end local 1 // java.lang.String baseThreadIdentifier
        end local 0 // org.glassfish.grizzly.nio.NIOTransport this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    3     0                  this  Lorg/glassfish/grizzly/nio/NIOTransport;
            1    3     1  baseThreadIdentifier  Ljava/lang/String;
            2    3     2               factory  Ljava/util/concurrent/ThreadFactory;
}
SourceFile: "NIOTransport.java"
NestMembers:
  org.glassfish.grizzly.nio.NIOTransport$1
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
  org.glassfish.grizzly.nio.NIOTransport$1