class sun.net.httpserver.ServerImpl$ServerTimerTask extends java.util.TimerTask
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.net.httpserver.ServerImpl$ServerTimerTask
super_class: java.util.TimerTask
{
final sun.net.httpserver.ServerImpl this$0;
descriptor: Lsun/net/httpserver/ServerImpl;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.net.httpserver.ServerImpl);
descriptor: (Lsun/net/httpserver/ServerImpl;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.net.httpserver.ServerImpl$ServerTimerTask this
0: .line 803
aload 0 /* this */
aload 1
putfield sun.net.httpserver.ServerImpl$ServerTimerTask.this$0:Lsun/net/httpserver/ServerImpl;
aload 0 /* this */
invokespecial java.util.TimerTask.<init>:()V
return
end local 0 // sun.net.httpserver.ServerImpl$ServerTimerTask this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/httpserver/ServerImpl$ServerTimerTask;
MethodParameters:
Name Flags
this$0 final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 // sun.net.httpserver.ServerImpl$ServerTimerTask this
0: .line 805
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 1 /* toClose */
start local 1 // java.util.LinkedList toClose
1: .line 806
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask.this$0:Lsun/net/httpserver/ServerImpl;
invokestatic java.lang.System.currentTimeMillis:()J
putfield sun.net.httpserver.ServerImpl.time:J
2: .line 807
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask.this$0:Lsun/net/httpserver/ServerImpl;
dup
getfield sun.net.httpserver.ServerImpl.ticks:J
lconst_1
ladd
putfield sun.net.httpserver.ServerImpl.ticks:J
3: .line 808
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.idleConnections:Ljava/util/Set;
dup
astore 2
monitorenter
4: .line 809
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.idleConnections:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: sun.net.httpserver.ServerImpl$ServerTimerTask java.util.LinkedList java.util.Set top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.net.httpserver.HttpConnection
astore 3 /* c */
start local 3 // sun.net.httpserver.HttpConnection c
6: .line 810
aload 3 /* c */
getfield sun.net.httpserver.HttpConnection.time:J
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.time:J
lcmp
ifgt 8
7: .line 811
aload 1 /* toClose */
aload 3 /* c */
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
end local 3 // sun.net.httpserver.HttpConnection c
8: .line 809
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: .line 814
aload 1 /* toClose */
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals:
StackMap stack:
10: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.net.httpserver.HttpConnection
astore 3 /* c */
start local 3 // sun.net.httpserver.HttpConnection c
11: .line 815
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.idleConnections:Ljava/util/Set;
aload 3 /* c */
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
12: .line 816
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.allConnections:Ljava/util/Set;
aload 3 /* c */
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
13: .line 817
aload 3 /* c */
invokevirtual sun.net.httpserver.HttpConnection.close:()V
end local 3 // sun.net.httpserver.HttpConnection c
14: .line 814
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
15: .line 808
aload 2
monitorexit
16: goto 19
StackMap locals: sun.net.httpserver.ServerImpl$ServerTimerTask java.util.LinkedList java.util.Set
StackMap stack: java.lang.Throwable
17: aload 2
monitorexit
18: athrow
19: .line 820
StackMap locals:
StackMap stack:
return
end local 1 // java.util.LinkedList toClose
end local 0 // sun.net.httpserver.ServerImpl$ServerTimerTask this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/net/httpserver/ServerImpl$ServerTimerTask;
1 20 1 toClose Ljava/util/LinkedList<Lsun/net/httpserver/HttpConnection;>;
6 8 3 c Lsun/net/httpserver/HttpConnection;
11 14 3 c Lsun/net/httpserver/HttpConnection;
Exception table:
from to target type
4 16 17 any
17 18 17 any
}
SourceFile: "ServerImpl.java"
NestHost: sun.net.httpserver.ServerImpl
InnerClasses:
ServerTimerTask = sun.net.httpserver.ServerImpl$ServerTimerTask of sun.net.httpserver.ServerImpl