class org.glassfish.grizzly.http2.Http2State
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.glassfish.grizzly.http2.Http2State
  super_class: java.lang.Object
{
  private static final org.glassfish.grizzly.attributes.Attribute<org.glassfish.grizzly.http2.Http2State> http2State;
    descriptor: Lorg/glassfish/grizzly/attributes/Attribute;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lorg/glassfish/grizzly/attributes/Attribute<Lorg/glassfish/grizzly/http2/Http2State;>;

  private java.util.List<org.glassfish.grizzly.http2.Http2State$ReadyListener> listeners;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/glassfish/grizzly/http2/Http2State$ReadyListener;>;

  private final java.util.concurrent.atomic.AtomicReference<org.glassfish.grizzly.http2.Http2State$Status> status;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/glassfish/grizzly/http2/Http2State$Status;>;

  private final org.glassfish.grizzly.http2.Http2FrameCodec$FrameParsingState frameParsingState;
    descriptor: Lorg/glassfish/grizzly/http2/Http2FrameCodec$FrameParsingState;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.glassfish.grizzly.http2.Http2Session http2Session;
    descriptor: Lorg/glassfish/grizzly/http2/Http2Session;
    flags: (0x0002) ACC_PRIVATE

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 33
            getstatic org.glassfish.grizzly.attributes.AttributeBuilder.DEFAULT_ATTRIBUTE_BUILDER:Lorg/glassfish/grizzly/attributes/AttributeBuilder;
         1: .line 34
            new java.lang.StringBuilder
            dup
            ldc Lorg/glassfish/grizzly/http2/Http2State;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".state"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 33
            invokeinterface org.glassfish.grizzly.attributes.AttributeBuilder.createAttribute:(Ljava/lang/String;)Lorg/glassfish/grizzly/attributes/Attribute;
         3: .line 32
            putstatic org.glassfish.grizzly.http2.Http2State.http2State:Lorg/glassfish/grizzly/attributes/Attribute;
         4: .line 34
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static org.glassfish.grizzly.http2.Http2State get(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2State;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.Connection connection
         0: .line 39
            getstatic org.glassfish.grizzly.http2.Http2State.http2State:Lorg/glassfish/grizzly/attributes/Attribute;
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.attributes.Attribute.get:(Lorg/glassfish/grizzly/attributes/AttributeStorage;)Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2State
            areturn
        end local 0 // org.glassfish.grizzly.Connection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  connection  Lorg/glassfish/grizzly/Connection;
    MethodParameters:
            Name  Flags
      connection  final

  static boolean isHttp2(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.Connection connection
         0: .line 43
            getstatic org.glassfish.grizzly.http2.Http2State.http2State:Lorg/glassfish/grizzly/attributes/Attribute;
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.attributes.Attribute.get:(Lorg/glassfish/grizzly/attributes/AttributeStorage;)Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2State
            astore 1 /* state */
        start local 1 // org.glassfish.grizzly.http2.Http2State state
         1: .line 45
            aload 1 /* state */
            ifnull 2
            aload 1 /* state */
            invokevirtual org.glassfish.grizzly.http2.Http2State.isHttp2:()Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: org.glassfish.grizzly.http2.Http2State
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // org.glassfish.grizzly.http2.Http2State state
        end local 0 // org.glassfish.grizzly.Connection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  connection  Lorg/glassfish/grizzly/Connection;
            1    3     1       state  Lorg/glassfish/grizzly/http2/Http2State;
    MethodParameters:
            Name  Flags
      connection  final

  static org.glassfish.grizzly.http2.Http2State obtain(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2State;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.Connection connection
         0: .line 49
            getstatic org.glassfish.grizzly.http2.Http2State.http2State:Lorg/glassfish/grizzly/attributes/Attribute;
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.attributes.Attribute.get:(Lorg/glassfish/grizzly/attributes/AttributeStorage;)Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2State
            astore 1 /* state */
        start local 1 // org.glassfish.grizzly.http2.Http2State state
         1: .line 50
            aload 1 /* state */
            ifnonnull 3
         2: .line 51
            aload 0 /* connection */
            invokestatic org.glassfish.grizzly.http2.Http2State.create:(Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2State;
            astore 1 /* state */
         3: .line 54
      StackMap locals: org.glassfish.grizzly.http2.Http2State
      StackMap stack:
            aload 1 /* state */
            areturn
        end local 1 // org.glassfish.grizzly.http2.Http2State state
        end local 0 // org.glassfish.grizzly.Connection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  connection  Lorg/glassfish/grizzly/Connection;
            1    4     1       state  Lorg/glassfish/grizzly/http2/Http2State;
    MethodParameters:
            Name  Flags
      connection  final

  static org.glassfish.grizzly.http2.Http2State create(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)Lorg/glassfish/grizzly/http2/Http2State;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.Connection connection
         0: .line 58
            new org.glassfish.grizzly.http2.Http2State
            dup
            invokespecial org.glassfish.grizzly.http2.Http2State.<init>:()V
            astore 1 /* state */
        start local 1 // org.glassfish.grizzly.http2.Http2State state
         1: .line 59
            getstatic org.glassfish.grizzly.http2.Http2State.http2State:Lorg/glassfish/grizzly/attributes/Attribute;
            aload 0 /* connection */
            aload 1 /* state */
            invokevirtual org.glassfish.grizzly.attributes.Attribute.set:(Lorg/glassfish/grizzly/attributes/AttributeStorage;Ljava/lang/Object;)V
         2: .line 61
            aload 1 /* state */
            areturn
        end local 1 // org.glassfish.grizzly.http2.Http2State state
        end local 0 // org.glassfish.grizzly.Connection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  connection  Lorg/glassfish/grizzly/Connection;
            1    3     1       state  Lorg/glassfish/grizzly/http2/Http2State;
    MethodParameters:
            Name  Flags
      connection  final

  static void remove(org.glassfish.grizzly.Connection);
    descriptor: (Lorg/glassfish/grizzly/Connection;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.Connection connection
         0: .line 65
            getstatic org.glassfish.grizzly.http2.Http2State.http2State:Lorg/glassfish/grizzly/attributes/Attribute;
            aload 0 /* connection */
            invokevirtual org.glassfish.grizzly.attributes.Attribute.remove:(Lorg/glassfish/grizzly/attributes/AttributeStorage;)Ljava/lang/Object;
            pop
         1: .line 66
            return
        end local 0 // org.glassfish.grizzly.Connection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  connection  Lorg/glassfish/grizzly/Connection;
    MethodParameters:
            Name  Flags
      connection  final

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 80
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
         2: .line 69
            aload 0 /* this */
            new org.glassfish.grizzly.http2.Http2FrameCodec$FrameParsingState
            dup
            invokespecial org.glassfish.grizzly.http2.Http2FrameCodec$FrameParsingState.<init>:()V
            putfield org.glassfish.grizzly.http2.Http2State.frameParsingState:Lorg/glassfish/grizzly/http2/Http2FrameCodec$FrameParsingState;
         3: .line 81
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
            getstatic org.glassfish.grizzly.http2.Http2State$Status.HTTP_UPGRADE:Lorg/glassfish/grizzly/http2/Http2State$Status;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         4: .line 82
            return
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  public org.glassfish.grizzly.http2.Http2State$Status getStatus();
    descriptor: ()Lorg/glassfish/grizzly/http2/Http2State$Status;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 85
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2State$Status
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  boolean isNeverHttp2();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 93
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            getstatic org.glassfish.grizzly.http2.Http2State$Status.NEVER_HTTP2:Lorg/glassfish/grizzly/http2/Http2State$Status;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  void setNeverHttp2();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 100
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
            getstatic org.glassfish.grizzly.http2.Http2State$Status.NEVER_HTTP2:Lorg/glassfish/grizzly/http2/Http2State$Status;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         1: .line 101
            return
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  boolean isHttp2();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 104
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2State.isNeverHttp2:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  public boolean isReady();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 112
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            getstatic org.glassfish.grizzly.http2.Http2State$Status.OPEN:Lorg/glassfish/grizzly/http2/Http2State$Status;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  public synchronized void addReadyListener(org.glassfish.grizzly.http2.Http2State$ReadyListener[]);
    descriptor: ([Lorg/glassfish/grizzly/http2/Http2State$ReadyListener;)V
    flags: (0x00a1) ACC_PUBLIC, ACC_SYNCHRONIZED, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2State this
        start local 1 // org.glassfish.grizzly.http2.Http2State$ReadyListener[] readyListeners
         0: .line 116
            aload 1 /* readyListeners */
            ifnonnull 2
         1: .line 117
            return
         2: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2State.isReady:()Z
            ifeq 10
         3: .line 120
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: aload 1 /* readyListeners */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         5: goto 8
         6: .line 121
      StackMap locals: int int
      StackMap stack:
            aload 1 /* readyListeners */
            iload 2 /* i */
            aaload
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.http2Session:Lorg/glassfish/grizzly/http2/Http2Session;
            invokeinterface org.glassfish.grizzly.http2.Http2State$ReadyListener.ready:(Lorg/glassfish/grizzly/http2/Http2Session;)V
         7: .line 120
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            iload 3 /* len */
            if_icmplt 6
        end local 3 // int len
        end local 2 // int i
         9: .line 123
            goto 18
        10: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.listeners:Ljava/util/List;
            ifnonnull 12
        11: .line 125
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* readyListeners */
            arraylength
            iconst_2
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.glassfish.grizzly.http2.Http2State.listeners:Ljava/util/List;
        12: .line 127
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        13: aload 1 /* readyListeners */
            arraylength
            istore 3 /* len */
        start local 3 // int len
        14: goto 17
        15: .line 128
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.listeners:Ljava/util/List;
            aload 1 /* readyListeners */
            iload 2 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 127
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 2 /* i */
            iload 3 /* len */
            if_icmplt 15
        end local 3 // int len
        end local 2 // int i
        18: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.glassfish.grizzly.http2.Http2State$ReadyListener[] readyListeners
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/glassfish/grizzly/http2/Http2State;
            0   19     1  readyListeners  [Lorg/glassfish/grizzly/http2/Http2State$ReadyListener;
            4    9     2               i  I
            5    9     3             len  I
           13   18     2               i  I
           14   18     3             len  I
    MethodParameters:
                Name  Flags
      readyListeners  final

  void setOpen();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 137
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
            getstatic org.glassfish.grizzly.http2.Http2State$Status.OPEN:Lorg/glassfish/grizzly/http2/Http2State$Status;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         1: .line 138
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.http2.Http2State.notifyReadyListeners:()V
         2: .line 139
            return
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  boolean isHttpUpgradePhase();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 142
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            getstatic org.glassfish.grizzly.http2.Http2State$Status.HTTP_UPGRADE:Lorg/glassfish/grizzly/http2/Http2State$Status;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  void finishHttpUpgradePhase();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 146
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
            getstatic org.glassfish.grizzly.http2.Http2State$Status.HTTP_UPGRADE:Lorg/glassfish/grizzly/http2/Http2State$Status;
            getstatic org.glassfish.grizzly.http2.Http2State$Status.DIRECT_UPGRADE:Lorg/glassfish/grizzly/http2/Http2State$Status;
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         1: .line 147
            return
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  void setDirectUpgradePhase();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 150
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
            getstatic org.glassfish.grizzly.http2.Http2State$Status.DIRECT_UPGRADE:Lorg/glassfish/grizzly/http2/Http2State$Status;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         1: .line 151
            return
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  org.glassfish.grizzly.http2.Http2FrameCodec$FrameParsingState getFrameParsingState();
    descriptor: ()Lorg/glassfish/grizzly/http2/Http2FrameCodec$FrameParsingState;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 154
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.frameParsingState:Lorg/glassfish/grizzly/http2/Http2FrameCodec$FrameParsingState;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  org.glassfish.grizzly.http2.Http2Session getHttp2Session();
    descriptor: ()Lorg/glassfish/grizzly/http2/Http2Session;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 158
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.http2Session:Lorg/glassfish/grizzly/http2/Http2Session;
            areturn
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  void setHttp2Session(org.glassfish.grizzly.http2.Http2Session);
    descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.http2.Http2State this
        start local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
         0: .line 162
            aload 0 /* this */
            aload 1 /* http2Session */
            putfield org.glassfish.grizzly.http2.Http2State.http2Session:Lorg/glassfish/grizzly/http2/Http2Session;
         1: .line 163
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.http2Session:Lorg/glassfish/grizzly/http2/Http2Session;
            aload 0 /* this */
            putfield org.glassfish.grizzly.http2.Http2Session.http2State:Lorg/glassfish/grizzly/http2/Http2State;
         2: .line 164
            return
        end local 1 // org.glassfish.grizzly.http2.Http2Session http2Session
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/glassfish/grizzly/http2/Http2State;
            0    3     1  http2Session  Lorg/glassfish/grizzly/http2/Http2Session;
    MethodParameters:
              Name  Flags
      http2Session  final

  void onClientHttpUpgradeRequestFinished();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 172
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2State.isClientHttpUpgradeRequestFinished:Z
         1: .line 173
            return
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/http2/Http2State;

  synchronized boolean tryLockClientPreface();
    descriptor: ()Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 176
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.status:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2State$Status
            astore 1 /* s */
        start local 1 // org.glassfish.grizzly.http2.Http2State$Status s
         1: .line 177
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.isClientPrefaceSent:Z
            ifne 5
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.isClientHttpUpgradeRequestFinished:Z
            ifeq 5
         2: .line 178
            aload 1 /* s */
            getstatic org.glassfish.grizzly.http2.Http2State$Status.DIRECT_UPGRADE:Lorg/glassfish/grizzly/http2/Http2State$Status;
            if_acmpeq 3
            aload 1 /* s */
            getstatic org.glassfish.grizzly.http2.Http2State$Status.OPEN:Lorg/glassfish/grizzly/http2/Http2State$Status;
            if_acmpne 5
         3: .line 179
      StackMap locals: org.glassfish.grizzly.http2.Http2State$Status
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.http2.Http2State.isClientPrefaceSent:Z
         4: .line 180
            iconst_1
            ireturn
         5: .line 183
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.glassfish.grizzly.http2.Http2State$Status s
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/glassfish/grizzly/http2/Http2State;
            1    6     1     s  Lorg/glassfish/grizzly/http2/Http2State$Status;

  private synchronized void notifyReadyListeners();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.glassfish.grizzly.http2.Http2State this
         0: .line 187
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.listeners:Ljava/util/List;
            ifnull 7
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.listeners:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 7
         1: .line 188
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.glassfish.grizzly.http2.Http2State top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.glassfish.grizzly.http2.Http2State$ReadyListener
            astore 1 /* listener */
        start local 1 // org.glassfish.grizzly.http2.Http2State$ReadyListener listener
         3: .line 189
            aload 1 /* listener */
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.http2Session:Lorg/glassfish/grizzly/http2/Http2Session;
            invokeinterface org.glassfish.grizzly.http2.Http2State$ReadyListener.ready:(Lorg/glassfish/grizzly/http2/Http2Session;)V
        end local 1 // org.glassfish.grizzly.http2.Http2State$ReadyListener listener
         4: .line 188
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 191
            aload 0 /* this */
            getfield org.glassfish.grizzly.http2.Http2State.listeners:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         6: .line 192
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.grizzly.http2.Http2State.listeners:Ljava/util/List;
         7: .line 194
      StackMap locals: org.glassfish.grizzly.http2.Http2State
      StackMap stack:
            return
        end local 0 // org.glassfish.grizzly.http2.Http2State this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/glassfish/grizzly/http2/Http2State;
            3    4     1  listener  Lorg/glassfish/grizzly/http2/Http2State$ReadyListener;
}
SourceFile: "Http2State.java"
NestMembers:
  org.glassfish.grizzly.http2.Http2State$ReadyListener  org.glassfish.grizzly.http2.Http2State$Status
InnerClasses:
  public final FrameParsingState = org.glassfish.grizzly.http2.Http2FrameCodec$FrameParsingState of org.glassfish.grizzly.http2.Http2FrameCodec
  abstract ReadyListener = org.glassfish.grizzly.http2.Http2State$ReadyListener of org.glassfish.grizzly.http2.Http2State
  public final Status = org.glassfish.grizzly.http2.Http2State$Status of org.glassfish.grizzly.http2.Http2State