public abstract class org.eclipse.jetty.io.CyclicTimeout implements org.eclipse.jetty.util.component.Destroyable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.eclipse.jetty.io.CyclicTimeout
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.eclipse.jetty.io.CyclicTimeout$Timeout NOT_SET;
descriptor: Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.eclipse.jetty.util.thread.Scheduler$Task DESTROYED;
descriptor: Lorg/eclipse/jetty/util/thread/Scheduler$Task;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.eclipse.jetty.util.thread.Scheduler _scheduler;
descriptor: Lorg/eclipse/jetty/util/thread/Scheduler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<org.eclipse.jetty.io.CyclicTimeout$Timeout> _timeout;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc Lorg/eclipse/jetty/io/CyclicTimeout;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.eclipse.jetty.io.CyclicTimeout.LOG:Lorg/slf4j/Logger;
1: new org.eclipse.jetty.io.CyclicTimeout$Timeout
dup
ldc 9223372036854775807
aconst_null
invokespecial org.eclipse.jetty.io.CyclicTimeout$Timeout.<init>:(JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
putstatic org.eclipse.jetty.io.CyclicTimeout.NOT_SET:Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
2: invokedynamic cancel()Lorg/eclipse/jetty/util/thread/Scheduler$Task;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Z
org/eclipse/jetty/io/CyclicTimeout.lambda$0()Z (6)
()Z
putstatic org.eclipse.jetty.io.CyclicTimeout.DESTROYED:Lorg/eclipse/jetty/util/thread/Scheduler$Task;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.eclipse.jetty.util.thread.Scheduler);
descriptor: (Lorg/eclipse/jetty/util/thread/Scheduler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
getstatic org.eclipse.jetty.io.CyclicTimeout.NOT_SET:Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
putfield org.eclipse.jetty.io.CyclicTimeout._timeout:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
aload 1
putfield org.eclipse.jetty.io.CyclicTimeout._scheduler:Lorg/eclipse/jetty/util/thread/Scheduler;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/io/CyclicTimeout;
0 4 1 scheduler Lorg/eclipse/jetty/util/thread/Scheduler;
MethodParameters:
Name Flags
scheduler
public org.eclipse.jetty.util.thread.Scheduler getScheduler();
descriptor: ()Lorg/eclipse/jetty/util/thread/Scheduler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.CyclicTimeout._scheduler:Lorg/eclipse/jetty/util/thread/Scheduler;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/io/CyclicTimeout;
public boolean schedule(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=12, args_size=3
start local 0 start local 1 start local 3 0: invokestatic java.lang.System.nanoTime:()J
lstore 4
start local 4 1: lload 4
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
ladd
lstore 6
start local 6 2: aconst_null
astore 8
start local 8 3: StackMap locals: long long org.eclipse.jetty.io.CyclicTimeout$Wakeup
StackMap stack:
aload 0
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 10
start local 10 4: aload 10
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
ldc 9223372036854775807
lcmp
ifeq 5
iconst_1
goto 6
StackMap locals: org.eclipse.jetty.io.CyclicTimeout long java.util.concurrent.TimeUnit long long org.eclipse.jetty.io.CyclicTimeout$Wakeup top org.eclipse.jetty.io.CyclicTimeout$Timeout
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 9
start local 9 7: aload 10
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._wakeup:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
astore 11
start local 11 8: aload 11
ifnull 9
aload 11
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
lload 6
lcmp
ifle 10
9: StackMap locals: org.eclipse.jetty.io.CyclicTimeout long java.util.concurrent.TimeUnit long long org.eclipse.jetty.io.CyclicTimeout$Wakeup int org.eclipse.jetty.io.CyclicTimeout$Timeout org.eclipse.jetty.io.CyclicTimeout$Wakeup
StackMap stack:
new org.eclipse.jetty.io.CyclicTimeout$Wakeup
dup
aload 0
lload 6
aload 11
invokespecial org.eclipse.jetty.io.CyclicTimeout$Wakeup.<init>:(Lorg/eclipse/jetty/io/CyclicTimeout;JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
dup
astore 8
astore 11
10: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.io.CyclicTimeout._timeout:Ljava/util/concurrent/atomic/AtomicReference;
aload 10
new org.eclipse.jetty.io.CyclicTimeout$Timeout
dup
lload 6
aload 11
invokespecial org.eclipse.jetty.io.CyclicTimeout$Timeout.<init>:(JLorg/eclipse/jetty/io/CyclicTimeout$Wakeup;)V
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 3
11: getstatic org.eclipse.jetty.io.CyclicTimeout.LOG:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 16
12: getstatic org.eclipse.jetty.io.CyclicTimeout.LOG:Lorg/slf4j/Logger;
ldc "Installed timeout in {} ms, waking up in {} ms"
13: aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
14: getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
aload 11
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._at:J
lload 4
lsub
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
15: invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 11 end local 10 16: StackMap locals:
StackMap stack:
aload 8
ifnull 18
17: aload 8
lload 4
invokevirtual org.eclipse.jetty.io.CyclicTimeout$Wakeup.schedule:(J)V
18: StackMap locals:
StackMap stack:
iload 9
ireturn
end local 9 end local 8 end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/eclipse/jetty/io/CyclicTimeout;
0 19 1 delay J
0 19 3 units Ljava/util/concurrent/TimeUnit;
1 19 4 now J
2 19 6 newTimeoutAt J
3 19 8 newWakeup Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
7 19 9 result Z
4 16 10 timeout Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
8 16 11 wakeup Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
MethodParameters:
Name Flags
delay
units
public boolean cancel();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
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 2
start local 2 1: aload 2
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._at:J
ldc 9223372036854775807
lcmp
ifeq 2
iconst_1
goto 3
StackMap locals: org.eclipse.jetty.io.CyclicTimeout top org.eclipse.jetty.io.CyclicTimeout$Timeout
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 1
start local 1 4: aload 2
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._wakeup:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
astore 3
start local 3 5: aload 3
ifnonnull 6
getstatic org.eclipse.jetty.io.CyclicTimeout.NOT_SET:Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
goto 7
StackMap locals: org.eclipse.jetty.io.CyclicTimeout int org.eclipse.jetty.io.CyclicTimeout$Timeout org.eclipse.jetty.io.CyclicTimeout$Wakeup
StackMap stack:
6: new org.eclipse.jetty.io.CyclicTimeout$Timeout
dup
ldc 9223372036854775807
aload 3
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
7: astore 4
start local 4 8: aload 0
getfield org.eclipse.jetty.io.CyclicTimeout._timeout:Ljava/util/concurrent/atomic/AtomicReference;
aload 2
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
end local 4 end local 3 end local 2 9: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jetty/io/CyclicTimeout;
4 10 1 result Z
1 9 2 timeout Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
5 9 3 wakeup Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
8 9 4 newTimeout Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
public abstract void onTimeoutExpired();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public void destroy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.io.CyclicTimeout._timeout:Ljava/util/concurrent/atomic/AtomicReference;
getstatic org.eclipse.jetty.io.CyclicTimeout.NOT_SET:Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jetty.io.CyclicTimeout$Timeout
astore 1
start local 1 1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.eclipse.jetty.io.CyclicTimeout$Timeout
StackMap stack:
2: aload 1
getfield org.eclipse.jetty.io.CyclicTimeout$Timeout._wakeup:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
StackMap locals:
StackMap stack: org.eclipse.jetty.io.CyclicTimeout$Wakeup
3: astore 2
start local 2 4: goto 7
5: StackMap locals: org.eclipse.jetty.io.CyclicTimeout$Wakeup
StackMap stack:
aload 2
invokevirtual org.eclipse.jetty.io.CyclicTimeout$Wakeup.destroy:()V
6: aload 2
getfield org.eclipse.jetty.io.CyclicTimeout$Wakeup._next:Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
astore 2
7: StackMap locals:
StackMap stack:
aload 2
ifnonnull 5
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jetty/io/CyclicTimeout;
1 9 1 timeout Lorg/eclipse/jetty/io/CyclicTimeout$Timeout;
4 9 2 wakeup Lorg/eclipse/jetty/io/CyclicTimeout$Wakeup;
private static boolean lambda$0();
descriptor: ()Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "CyclicTimeout.java"
NestMembers:
org.eclipse.jetty.io.CyclicTimeout$Timeout org.eclipse.jetty.io.CyclicTimeout$Wakeup
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
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