public class org.apache.cassandra.utils.concurrent.SimpleCondition implements java.util.concurrent.locks.Condition
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.utils.concurrent.SimpleCondition
  super_class: java.lang.Object
{
  private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<org.apache.cassandra.utils.concurrent.SimpleCondition, org.apache.cassandra.utils.concurrent.WaitQueue> waitingUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lorg/apache/cassandra/utils/concurrent/SimpleCondition;Lorg/apache/cassandra/utils/concurrent/WaitQueue;>;

  private volatile org.apache.cassandra.utils.concurrent.WaitQueue waiting;
    descriptor: Lorg/apache/cassandra/utils/concurrent/WaitQueue;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean signaled;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 28
            ldc Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.cassandra.utils.concurrent.SimpleCondition.$assertionsDisabled:Z
         3: .line 30
            ldc Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
            ldc Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            ldc "waiting"
            invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            putstatic org.apache.cassandra.utils.concurrent.SimpleCondition.waitingUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
         0: .line 28
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 33
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.utils.concurrent.SimpleCondition.signaled:Z
         2: .line 28
            return
        end local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/utils/concurrent/SimpleCondition;

  public void await();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
         0: .line 37
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.concurrent.SimpleCondition.isSignaled:()Z
            ifeq 2
         1: .line 38
            return
         2: .line 39
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.SimpleCondition.waiting:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            ifnonnull 4
         3: .line 40
            getstatic org.apache.cassandra.utils.concurrent.SimpleCondition.waitingUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 0 /* this */
            aconst_null
            new org.apache.cassandra.utils.concurrent.WaitQueue
            dup
            invokespecial org.apache.cassandra.utils.concurrent.WaitQueue.<init>:()V
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         4: .line 41
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.SimpleCondition.waiting:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.register:()Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
            astore 1 /* s */
        start local 1 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal s
         5: .line 42
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.concurrent.SimpleCondition.isSignaled:()Z
            ifeq 7
         6: .line 43
            aload 1 /* s */
            invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.cancel:()V
            goto 8
         7: .line 45
      StackMap locals: org.apache.cassandra.utils.concurrent.WaitQueue$Signal
      StackMap stack:
            aload 1 /* s */
            invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.await:()V
         8: .line 46
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.utils.concurrent.SimpleCondition.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.concurrent.SimpleCondition.isSignaled:()Z
            ifne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 47
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal s
        end local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
            5   10     1     s  Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
    Exceptions:
      throws java.lang.InterruptedException

  public boolean await(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 51
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.concurrent.SimpleCondition.isSignaled:()Z
            ifeq 2
         1: .line 52
            iconst_1
            ireturn
         2: .line 53
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lstore 4 /* start */
        start local 4 // long start
         3: .line 54
            lload 4 /* start */
            aload 3 /* unit */
            lload 1 /* time */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            ladd
            lstore 6 /* until */
        start local 6 // long until
         4: .line 55
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.SimpleCondition.waiting:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            ifnonnull 6
         5: .line 56
            getstatic org.apache.cassandra.utils.concurrent.SimpleCondition.waitingUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
            aload 0 /* this */
            aconst_null
            new org.apache.cassandra.utils.concurrent.WaitQueue
            dup
            invokespecial org.apache.cassandra.utils.concurrent.WaitQueue.<init>:()V
            invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         6: .line 57
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.SimpleCondition.waiting:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.register:()Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
            astore 8 /* s */
        start local 8 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal s
         7: .line 58
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.concurrent.SimpleCondition.isSignaled:()Z
            ifeq 10
         8: .line 60
            aload 8 /* s */
            invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.cancel:()V
         9: .line 61
            iconst_1
            ireturn
        10: .line 63
      StackMap locals: org.apache.cassandra.utils.concurrent.WaitQueue$Signal
      StackMap stack:
            aload 8 /* s */
            lload 6 /* until */
            invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.awaitUntil:(J)Z
            ifne 11
            aload 0 /* this */
            invokevirtual org.apache.cassandra.utils.concurrent.SimpleCondition.isSignaled:()Z
            ifne 11
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_1
            ireturn
        end local 8 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal s
        end local 6 // long until
        end local 4 // long start
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long time
        end local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
            0   12     1   time  J
            0   12     3   unit  Ljava/util/concurrent/TimeUnit;
            3   12     4  start  J
            4   12     6  until  J
            7   12     8      s  Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
      Name  Flags
      time  
      unit  

  public void signal();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
         0: .line 68
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/utils/concurrent/SimpleCondition;

  public boolean isSignaled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
         0: .line 73
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.SimpleCondition.signaled:Z
            ireturn
        end local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/utils/concurrent/SimpleCondition;

  public void signalAll();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
         0: .line 78
            aload 0 /* this */
            iconst_1
            putfield org.apache.cassandra.utils.concurrent.SimpleCondition.signaled:Z
         1: .line 79
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.SimpleCondition.waiting:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            ifnull 3
         2: .line 80
            aload 0 /* this */
            getfield org.apache.cassandra.utils.concurrent.SimpleCondition.waiting:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.signalAll:()V
         3: .line 81
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/utils/concurrent/SimpleCondition;

  public void awaitUninterruptibly();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
         0: .line 85
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/utils/concurrent/SimpleCondition;

  public long awaitNanos(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
        start local 1 // long nanosTimeout
         0: .line 90
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // long nanosTimeout
        end local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
            0    1     1  nanosTimeout  J
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
              Name  Flags
      nanosTimeout  

  public boolean awaitUntil(java.util.Date);
    descriptor: (Ljava/util/Date;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
        start local 1 // java.util.Date deadline
         0: .line 95
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.util.Date deadline
        end local 0 // org.apache.cassandra.utils.concurrent.SimpleCondition this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/cassandra/utils/concurrent/SimpleCondition;
            0    1     1  deadline  Ljava/util/Date;
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
          Name  Flags
      deadline  
}
SourceFile: "SimpleCondition.java"
InnerClasses:
  public abstract Signal = org.apache.cassandra.utils.concurrent.WaitQueue$Signal of org.apache.cassandra.utils.concurrent.WaitQueue