class sun.net.httpserver.ServerImpl$ServerTimerTask1 extends java.util.TimerTask
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.net.httpserver.ServerImpl$ServerTimerTask1
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$ServerTimerTask1 this
0: .line 833
aload 0 /* this */
aload 1
putfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
aload 0 /* this */
invokespecial java.util.TimerTask.<init>:()V
return
end local 0 // sun.net.httpserver.ServerImpl$ServerTimerTask1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/httpserver/ServerImpl$ServerTimerTask1;
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$ServerTimerTask1 this
0: .line 837
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 1 /* toClose */
start local 1 // java.util.LinkedList toClose
1: .line 838
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
invokestatic java.lang.System.currentTimeMillis:()J
putfield sun.net.httpserver.ServerImpl.time:J
2: .line 839
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.reqConnections:Ljava/util/Set;
dup
astore 2
monitorenter
3: .line 840
getstatic sun.net.httpserver.ServerImpl.MAX_REQ_TIME:J
ldc -1
lcmp
ifeq 16
4: .line 841
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.reqConnections:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: sun.net.httpserver.ServerImpl$ServerTimerTask1 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 842
aload 3 /* c */
getfield sun.net.httpserver.HttpConnection.creationTime:J
getstatic sun.net.httpserver.ServerImpl.TIMER_MILLIS:J
ladd
getstatic sun.net.httpserver.ServerImpl.MAX_REQ_TIME:J
ladd
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.time:J
lcmp
ifgt 8
7: .line 843
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 841
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: .line 846
aload 1 /* toClose */
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 4
goto 15
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 847
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.logger:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
new java.lang.StringBuilder
dup
ldc "closing: no request: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* c */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
12: .line 848
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.reqConnections:Ljava/util/Set;
aload 3 /* c */
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
13: .line 849
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.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
14: .line 850
aload 3 /* c */
invokevirtual sun.net.httpserver.HttpConnection.close:()V
end local 3 // sun.net.httpserver.HttpConnection c
15: .line 846
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
16: .line 839
StackMap locals: sun.net.httpserver.ServerImpl$ServerTimerTask1 java.util.LinkedList java.util.Set
StackMap stack:
aload 2
monitorexit
17: goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
18: aload 2
monitorexit
19: athrow
20: .line 854
StackMap locals:
StackMap stack:
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 1 /* toClose */
21: .line 855
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.rspConnections:Ljava/util/Set;
dup
astore 2
monitorenter
22: .line 856
getstatic sun.net.httpserver.ServerImpl.MAX_RSP_TIME:J
ldc -1
lcmp
ifeq 35
23: .line 857
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.rspConnections:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 27
StackMap locals: sun.net.httpserver.ServerImpl$ServerTimerTask1 java.util.LinkedList java.util.Set top java.util.Iterator
StackMap stack:
24: 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
25: .line 858
aload 3 /* c */
getfield sun.net.httpserver.HttpConnection.rspStartedTime:J
getstatic sun.net.httpserver.ServerImpl.TIMER_MILLIS:J
ladd
getstatic sun.net.httpserver.ServerImpl.MAX_RSP_TIME:J
ladd
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.time:J
lcmp
ifgt 27
26: .line 859
aload 1 /* toClose */
aload 3 /* c */
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
end local 3 // sun.net.httpserver.HttpConnection c
27: .line 857
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
28: .line 862
aload 1 /* toClose */
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 4
goto 34
StackMap locals:
StackMap stack:
29: 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
30: .line 863
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.logger:Ljava/lang/System$Logger;
getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
new java.lang.StringBuilder
dup
ldc "closing: no response: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* c */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
31: .line 864
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.this$0:Lsun/net/httpserver/ServerImpl;
getfield sun.net.httpserver.ServerImpl.rspConnections:Ljava/util/Set;
aload 3 /* c */
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
32: .line 865
aload 0 /* this */
getfield sun.net.httpserver.ServerImpl$ServerTimerTask1.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
33: .line 866
aload 3 /* c */
invokevirtual sun.net.httpserver.HttpConnection.close:()V
end local 3 // sun.net.httpserver.HttpConnection c
34: .line 862
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
35: .line 855
StackMap locals: sun.net.httpserver.ServerImpl$ServerTimerTask1 java.util.LinkedList java.util.Set
StackMap stack:
aload 2
monitorexit
36: goto 39
StackMap locals:
StackMap stack: java.lang.Throwable
37: aload 2
monitorexit
38: athrow
39: .line 870
StackMap locals:
StackMap stack:
return
end local 1 // java.util.LinkedList toClose
end local 0 // sun.net.httpserver.ServerImpl$ServerTimerTask1 this
LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/net/httpserver/ServerImpl$ServerTimerTask1;
1 40 1 toClose Ljava/util/LinkedList<Lsun/net/httpserver/HttpConnection;>;
6 8 3 c Lsun/net/httpserver/HttpConnection;
11 15 3 c Lsun/net/httpserver/HttpConnection;
25 27 3 c Lsun/net/httpserver/HttpConnection;
30 34 3 c Lsun/net/httpserver/HttpConnection;
Exception table:
from to target type
3 17 18 any
18 19 18 any
22 36 37 any
37 38 37 any
}
SourceFile: "ServerImpl.java"
NestHost: sun.net.httpserver.ServerImpl
InnerClasses:
public abstract Logger = java.lang.System$Logger of java.lang.System
public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
ServerTimerTask1 = sun.net.httpserver.ServerImpl$ServerTimerTask1 of sun.net.httpserver.ServerImpl