class org.eclipse.jetty.io.CyclicTimeout$Wakeup implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jetty.io.CyclicTimeout$Wakeup
  super_class: java.lang.Object
{
  private final java.util.concurrent.atomic.AtomicReference<org.eclipse.jetty.util.thread.Scheduler$Task> _task;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/eclipse/jetty/util/thread/Scheduler$Task;>;

  private final long _at;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.jetty.io.CyclicTimeout$Wakeup _next;
    descriptor: Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.eclipse.jetty.io.CyclicTimeout this$0;
    descriptor: Lorg/eclipse/jetty/io/CyclicTimeout;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.eclipse.jetty.io.CyclicTimeout, long, org.eclipse.jetty.io.CyclicTimeout$Wakeup);
    descriptor: (Lorg/eclipse/jetty/io/CyclicTimeout;JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.eclipse.jetty.io.CyclicTimeout$Wakeup this
        start local 2 // long wakeupAt
        start local 4 // org.eclipse.jetty.io.CyclicTimeout$Wakeup next
         0: .line 199
            aload 0 /* this */
            aload 1
            putfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
         1: .line 198
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         2: .line 194
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._task:Ljava/util/concurrent/atomic/AtomicReference;
         3: .line 200
            aload 0 /* this */
            lload 2 /* wakeupAt */
            putfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
         4: .line 201
            aload 0 /* this */
            aload 4 /* next */
            putfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._next:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
         5: .line 202
            return
        end local 4 // org.eclipse.jetty.io.CyclicTimeout$Wakeup next
        end local 2 // long wakeupAt
        end local 0 // org.eclipse.jetty.io.CyclicTimeout$Wakeup this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
            0    6     2  wakeupAt  J
            0    6     4      next  Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
    MethodParameters:
          Name  Flags
      this$0    final
      wakeupAt  
      next      

  private void schedule(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.eclipse.jetty.io.CyclicTimeout$Wakeup this
        start local 1 // long now
         0: .line 206
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._task:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
            getfield org.eclipse.jetty.io.CyclicTimeout._scheduler:Lorg/eclipse/jetty/util/thread/Scheduler;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
            lload 1 /* now */
            lsub
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface org.eclipse.jetty.util.thread.Scheduler.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lorg/eclipse/jetty/util/thread/Scheduler$Task;
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         1: .line 207
            return
        end local 1 // long now
        end local 0 // org.eclipse.jetty.io.CyclicTimeout$Wakeup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
            0    2     1   now  J
    MethodParameters:
      Name  Flags
      now   

  private void destroy();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jetty.io.CyclicTimeout$Wakeup this
         0: .line 211
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._task:Ljava/util/concurrent/atomic/AtomicReference;
            getstatic org.eclipse.jetty.io.CyclicTimeout.DESTROYED:Lorg/eclipse/jetty/util/thread/Scheduler$Task;
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jetty.util.thread.Scheduler$Task
            astore 1 /* task */
        start local 1 // org.eclipse.jetty.util.thread.Scheduler$Task task
         1: .line 212
            aload 1 /* task */
            ifnull 3
         2: .line 213
            aload 1 /* task */
            invokeinterface org.eclipse.jetty.util.thread.Scheduler$Task.cancel:()Z
            pop
         3: .line 214
      StackMap locals: org.eclipse.jetty.util.thread.Scheduler$Task
      StackMap stack:
            return
        end local 1 // org.eclipse.jetty.util.thread.Scheduler$Task task
        end local 0 // org.eclipse.jetty.io.CyclicTimeout$Wakeup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
            1    4     1  task  Lorg/eclipse/jetty/util/thread/Scheduler$Task;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=1
        start local 0 // org.eclipse.jetty.io.CyclicTimeout$Wakeup this
         0: .line 219
            invokestatic java.lang.System.nanoTime:()J
            lstore 1 /* now */
        start local 1 // long now
         1: .line 220
            aconst_null
            astore 3 /* newWakeup */
        start local 3 // org.eclipse.jetty.io.CyclicTimeout$Wakeup newWakeup
         2: .line 221
            iconst_0
            istore 4 /* hasExpired */
        start local 4 // boolean hasExpired
         3: .line 224
      StackMap locals: long org.eclipse.jetty.io.CyclicTimeout$Wakeup int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
            getfield org.eclipse.jetty.io.CyclicTimeout._timeout:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.eclipse.jetty.io.CyclicTimeout$Timeout
            astore 5 /* timeout */
        start local 5 // org.eclipse.jetty.io.CyclicTimeout$Timeout timeout
         4: .line 232
            aload 5 /* timeout */
            getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._wakeup:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
            astore 6 /* wakeup */
        start local 6 // org.eclipse.jetty.io.CyclicTimeout$Wakeup wakeup
         5: .line 233
            goto 9
         6: .line 235
      StackMap locals: org.eclipse.jetty.io.CyclicTimeout$Timeout org.eclipse.jetty.io.CyclicTimeout$Wakeup
      StackMap stack:
            aload 6 /* wakeup */
            aload 0 /* this */
            if_acmpne 8
         7: .line 236
            goto 10
         8: .line 238
      StackMap locals:
      StackMap stack:
            aload 6 /* wakeup */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._next:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
            astore 6 /* wakeup */
         9: .line 233
      StackMap locals:
      StackMap stack:
            aload 6 /* wakeup */
            ifnonnull 6
        10: .line 240
      StackMap locals:
      StackMap stack:
            aload 6 /* wakeup */
            ifnonnull 12
        11: .line 242
            return
        12: .line 247
      StackMap locals:
      StackMap stack:
            aload 6 /* wakeup */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._next:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
            astore 6 /* wakeup */
        13: .line 250
            aload 5 /* timeout */
            getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
            lload 1 /* now */
            lcmp
            ifgt 19
        14: .line 253
            iconst_1
            istore 4 /* hasExpired */
        15: .line 254
            aload 6 /* wakeup */
            ifnonnull 16
            getstatic org.eclipse.jetty.io.CyclicTimeout.NOT_SET:Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
            goto 17
      StackMap locals:
      StackMap stack:
        16: new org.eclipse.jetty.io.CyclicTimeout$Timeout
            dup
            ldc 9223372036854775807
            aload 6 /* wakeup */
            invokespecial org.eclipse.jetty.io.CyclicTimeout$Timeout.<init>:(JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
      StackMap locals:
      StackMap stack: org.eclipse.jetty.io.CyclicTimeout$Timeout
        17: astore 7 /* newTimeout */
        start local 7 // org.eclipse.jetty.io.CyclicTimeout$Timeout newTimeout
        18: .line 255
            goto 27
        end local 7 // org.eclipse.jetty.io.CyclicTimeout$Timeout newTimeout
        19: .line 256
      StackMap locals:
      StackMap stack:
            aload 5 /* timeout */
            getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
            ldc 9223372036854775807
            lcmp
            ifeq 24
        20: .line 260
            aload 6 /* wakeup */
            ifnull 21
            aload 6 /* wakeup */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
            aload 5 /* timeout */
            getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
            lcmp
            iflt 22
        21: .line 262
      StackMap locals:
      StackMap stack:
            new org.eclipse.jetty.io.CyclicTimeout$Wakeup
            dup
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
            aload 5 /* timeout */
            getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
            aload 6 /* wakeup */
            invokespecial org.eclipse.jetty.io.CyclicTimeout$Wakeup.<init>:(Lorg/eclipse/jetty/io/CyclicTimeout;JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
            dup
            astore 3 /* newWakeup */
            astore 6 /* wakeup */
        22: .line 263
      StackMap locals:
      StackMap stack:
            new org.eclipse.jetty.io.CyclicTimeout$Timeout
            dup
            aload 5 /* timeout */
            getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
            aload 6 /* wakeup */
            invokespecial org.eclipse.jetty.io.CyclicTimeout$Timeout.<init>:(JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
            astore 7 /* newTimeout */
        start local 7 // org.eclipse.jetty.io.CyclicTimeout$Timeout newTimeout
        23: .line 264
            goto 27
        end local 7 // org.eclipse.jetty.io.CyclicTimeout$Timeout newTimeout
        24: .line 268
      StackMap locals:
      StackMap stack:
            aload 6 /* wakeup */
            ifnonnull 25
            getstatic org.eclipse.jetty.io.CyclicTimeout.NOT_SET:Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
            goto 26
      StackMap locals:
      StackMap stack:
        25: new org.eclipse.jetty.io.CyclicTimeout$Timeout
            dup
            ldc 9223372036854775807
            aload 6 /* wakeup */
            invokespecial org.eclipse.jetty.io.CyclicTimeout$Timeout.<init>:(JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
      StackMap locals:
      StackMap stack: org.eclipse.jetty.io.CyclicTimeout$Timeout
        26: astore 7 /* newTimeout */
        start local 7 // org.eclipse.jetty.io.CyclicTimeout$Timeout newTimeout
        27: .line 272
      StackMap locals: org.eclipse.jetty.io.CyclicTimeout$Timeout
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
            getfield org.eclipse.jetty.io.CyclicTimeout._timeout:Ljava/util/concurrent/atomic/AtomicReference;
            aload 5 /* timeout */
            aload 7 /* newTimeout */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 3
        end local 7 // org.eclipse.jetty.io.CyclicTimeout$Timeout newTimeout
        end local 6 // org.eclipse.jetty.io.CyclicTimeout$Wakeup wakeup
        end local 5 // org.eclipse.jetty.io.CyclicTimeout$Timeout timeout
        28: .line 277
            aload 3 /* newWakeup */
            ifnull 30
        29: .line 278
            aload 3 /* newWakeup */
            lload 1 /* now */
            invokevirtual org.eclipse.jetty.io.CyclicTimeout$Wakeup.schedule:(J)V
        30: .line 281
      StackMap locals:
      StackMap stack:
            iload 4 /* hasExpired */
            ifeq 32
        31: .line 282
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup.this$0:Lorg/eclipse/jetty/io/CyclicTimeout;
            invokevirtual org.eclipse.jetty.io.CyclicTimeout.onTimeoutExpired:()V
        32: .line 283
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean hasExpired
        end local 3 // org.eclipse.jetty.io.CyclicTimeout$Wakeup newWakeup
        end local 1 // long now
        end local 0 // org.eclipse.jetty.io.CyclicTimeout$Wakeup this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   33     0        this  Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
            1   33     1         now  J
            2   33     3   newWakeup  Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
            3   33     4  hasExpired  Z
            4   28     5     timeout  Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
            5   28     6      wakeup  Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
           18   19     7  newTimeout  Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
           23   24     7  newTimeout  Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
           27   28     7  newTimeout  Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.io.CyclicTimeout$Wakeup this
         0: .line 288
            ldc "%s@%x:%dms->%s"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 289
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         2: .line 290
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
         3: .line 291
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
            ldc 9223372036854775807
            lcmp
            ifne 4
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
            goto 5
      StackMap locals: org.eclipse.jetty.io.CyclicTimeout$Wakeup
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
         4: getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
            invokestatic java.lang.System.nanoTime:()J
            lsub
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
      StackMap locals: org.eclipse.jetty.io.CyclicTimeout$Wakeup
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int long
         5: invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
         6: .line 292
            aload 0 /* this */
            getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._next:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
            aastore
         7: .line 288
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.io.CyclicTimeout$Wakeup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
}
SourceFile: "CyclicTimeout.java"
NestHost: org.eclipse.jetty.io.CyclicTimeout
InnerClasses:
  private Timeout = org.eclipse.jetty.io.CyclicTimeout$Timeout of org.eclipse.jetty.io.CyclicTimeout
  private Wakeup = org.eclipse.jetty.io.CyclicTimeout$Wakeup of org.eclipse.jetty.io.CyclicTimeout
  public abstract Task = org.eclipse.jetty.util.thread.Scheduler$Task of org.eclipse.jetty.util.thread.Scheduler