public class org.eclipse.jetty.util.thread.Sweeper extends org.eclipse.jetty.util.component.AbstractLifeCycle implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jetty.util.thread.Sweeper
super_class: org.eclipse.jetty.util.component.AbstractLifeCycle
{
private static final org.eclipse.jetty.util.log.Logger LOG;
descriptor: Lorg/eclipse/jetty/util/log/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<java.util.List<org.eclipse.jetty.util.thread.Sweeper$Sweepable>> items;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/util/List<Lorg/eclipse/jetty/util/thread/Sweeper$Sweepable;>;>;
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 org.eclipse.jetty.util.thread.Scheduler scheduler;
descriptor: Lorg/eclipse/jetty/util/thread/Scheduler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long period;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/eclipse/jetty/util/thread/Sweeper;
invokestatic org.eclipse.jetty.util.log.Log.getLogger:(Ljava/lang/Class;)Lorg/eclipse/jetty/util/log/Logger;
putstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.eclipse.jetty.util.thread.Scheduler, long);
descriptor: (Lorg/eclipse/jetty/util/thread/Scheduler;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.eclipse.jetty.util.component.AbstractLifeCycle.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield org.eclipse.jetty.util.thread.Sweeper.items:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield org.eclipse.jetty.util.thread.Sweeper.task:Ljava/util/concurrent/atomic/AtomicReference;
3: aload 0
aload 1
putfield org.eclipse.jetty.util.thread.Sweeper.scheduler:Lorg/eclipse/jetty/util/thread/Scheduler;
4: aload 0
lload 2
putfield org.eclipse.jetty.util.thread.Sweeper.period:J
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jetty/util/thread/Sweeper;
0 6 1 scheduler Lorg/eclipse/jetty/util/thread/Scheduler;
0 6 2 period J
MethodParameters:
Name Flags
scheduler
period
protected void doStart();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.eclipse.jetty.util.component.AbstractLifeCycle.doStart:()V
1: aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.items:Ljava/util/concurrent/atomic/AtomicReference;
new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
2: aload 0
invokevirtual org.eclipse.jetty.util.thread.Sweeper.activate:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/util/thread/Sweeper;
Exceptions:
throws java.lang.Exception
protected void doStop();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jetty.util.thread.Sweeper.deactivate:()V
1: aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.items:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
2: aload 0
invokespecial org.eclipse.jetty.util.component.AbstractLifeCycle.doStop:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/util/thread/Sweeper;
Exceptions:
throws java.lang.Exception
public int getSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.items:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.util.List
astore 1
start local 1 1: aload 1
ifnonnull 2
iconst_0
goto 3
StackMap locals: java.util.List
StackMap stack:
2: aload 1
invokeinterface java.util.List.size:()I
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/util/thread/Sweeper;
1 4 1 refs Ljava/util/List<Lorg/eclipse/jetty/util/thread/Sweeper$Sweepable;>;
public boolean offer(org.eclipse.jetty.util.thread.Sweeper$Sweepable);
descriptor: (Lorg/eclipse/jetty/util/thread/Sweeper$Sweepable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.items:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 1: aload 2
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: java.util.List
StackMap stack:
aload 2
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 6
5: getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Resource offered {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jetty/util/thread/Sweeper;
0 7 1 sweepable Lorg/eclipse/jetty/util/thread/Sweeper$Sweepable;
1 7 2 refs Ljava/util/List<Lorg/eclipse/jetty/util/thread/Sweeper$Sweepable;>;
MethodParameters:
Name Flags
sweepable
public boolean remove(org.eclipse.jetty.util.thread.Sweeper$Sweepable);
descriptor: (Lorg/eclipse/jetty/util/thread/Sweeper$Sweepable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.items:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
ifeq 2
iconst_1
ireturn
StackMap locals: java.util.List
StackMap stack:
2: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/util/thread/Sweeper;
0 3 1 sweepable Lorg/eclipse/jetty/util/thread/Sweeper$Sweepable;
1 3 2 refs Ljava/util/List<Lorg/eclipse/jetty/util/thread/Sweeper$Sweepable;>;
MethodParameters:
Name Flags
sweepable
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.items:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.util.List
astore 1
start local 1 1: aload 1
ifnonnull 3
2: return
3: StackMap locals: java.util.List
StackMap stack:
aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 12
StackMap locals: org.eclipse.jetty.util.thread.Sweeper java.util.List top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jetty.util.thread.Sweeper$Sweepable
astore 2
start local 2 5: aload 2
invokeinterface org.eclipse.jetty.util.thread.Sweeper$Sweepable.sweep:()Z
ifeq 12
6: aload 1
aload 2
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
7: getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 12
8: getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Resource swept {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
9: goto 12
10: StackMap locals: org.eclipse.jetty.util.thread.Sweeper java.util.List org.eclipse.jetty.util.thread.Sweeper$Sweepable java.util.Iterator
StackMap stack: java.lang.Throwable
astore 4
start local 4 11: getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
new java.lang.StringBuilder
dup
ldc "Exception while sweeping "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokeinterface org.eclipse.jetty.util.log.Logger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 end local 2 12: StackMap locals: org.eclipse.jetty.util.thread.Sweeper java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
13: aload 0
invokevirtual org.eclipse.jetty.util.thread.Sweeper.activate:()V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/jetty/util/thread/Sweeper;
1 15 1 refs Ljava/util/List<Lorg/eclipse/jetty/util/thread/Sweeper$Sweepable;>;
5 12 2 sweepable Lorg/eclipse/jetty/util/thread/Sweeper$Sweepable;
11 12 4 x Ljava/lang/Throwable;
Exception table:
from to target type
5 9 10 Class java.lang.Throwable
private void activate();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jetty.util.thread.Sweeper.isRunning:()Z
ifeq 6
1: aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.scheduler:Lorg/eclipse/jetty/util/thread/Scheduler;
aload 0
aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.period:J
getstatic java.util.concurrent.TimeUnit.MILLISECONDS: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;
astore 1
start local 1 2: getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 4
3: getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Scheduled in {} ms sweep task {}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.period:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 1
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals: org.eclipse.jetty.util.thread.Scheduler$Task
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.task:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
end local 1 5: goto 8
6: StackMap locals:
StackMap stack:
getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 8
7: getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Skipping sweep task scheduling"
iconst_0
anewarray java.lang.Object
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jetty/util/thread/Sweeper;
2 5 1 t Lorg/eclipse/jetty/util/thread/Scheduler$Task;
private void deactivate();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.thread.Sweeper.task:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jetty.util.thread.Scheduler$Task
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 1
invokeinterface org.eclipse.jetty.util.thread.Scheduler$Task.cancel:()Z
istore 2
start local 2 3: getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
invokeinterface org.eclipse.jetty.util.log.Logger.isDebugEnabled:()Z
ifeq 5
4: getstatic org.eclipse.jetty.util.thread.Sweeper.LOG:Lorg/eclipse/jetty/util/log/Logger;
ldc "Cancelled ({}) sweep task {}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_1
aload 1
aastore
invokeinterface org.eclipse.jetty.util.log.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 2 5: StackMap locals: org.eclipse.jetty.util.thread.Scheduler$Task
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jetty/util/thread/Sweeper;
1 6 1 t Lorg/eclipse/jetty/util/thread/Scheduler$Task;
3 5 2 cancelled Z
}
SourceFile: "Sweeper.java"
NestMembers:
org.eclipse.jetty.util.thread.Sweeper$Sweepable
InnerClasses:
public abstract Task = org.eclipse.jetty.util.thread.Scheduler$Task of org.eclipse.jetty.util.thread.Scheduler
public abstract Sweepable = org.eclipse.jetty.util.thread.Sweeper$Sweepable of org.eclipse.jetty.util.thread.Sweeper