public class org.apache.http.impl.conn.tsccm.WaitingThread
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.http.impl.conn.tsccm.WaitingThread
super_class: java.lang.Object
{
private final java.util.concurrent.locks.Condition cond;
descriptor: Ljava/util/concurrent/locks/Condition;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.http.impl.conn.tsccm.RouteSpecificPool pool;
descriptor: Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.Thread waiter;
descriptor: Ljava/lang/Thread;
flags: (0x0002) ACC_PRIVATE
private boolean aborted;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(java.util.concurrent.locks.Condition, org.apache.http.impl.conn.tsccm.RouteSpecificPool);
descriptor: (Ljava/util/concurrent/locks/Condition;Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Condition"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 0
aload 1
putfield org.apache.http.impl.conn.tsccm.WaitingThread.cond:Ljava/util/concurrent/locks/Condition;
3: aload 0
aload 2
putfield org.apache.http.impl.conn.tsccm.WaitingThread.pool:Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/http/impl/conn/tsccm/WaitingThread;
0 5 1 cond Ljava/util/concurrent/locks/Condition;
0 5 2 pool Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;
MethodParameters:
Name Flags
cond final
pool final
public final java.util.concurrent.locks.Condition getCondition();
descriptor: ()Ljava/util/concurrent/locks/Condition;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.cond:Ljava/util/concurrent/locks/Condition;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/impl/conn/tsccm/WaitingThread;
public final org.apache.http.impl.conn.tsccm.RouteSpecificPool getPool();
descriptor: ()Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.pool:Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/impl/conn/tsccm/WaitingThread;
public final java.lang.Thread getThread();
descriptor: ()Ljava/lang/Thread;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.waiter:Ljava/lang/Thread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/http/impl/conn/tsccm/WaitingThread;
public boolean await(java.util.Date);
descriptor: (Ljava/util/Date;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.waiter:Ljava/lang/Thread;
ifnull 7
1: new java.lang.IllegalStateException
dup
2: new java.lang.StringBuilder
dup
ldc "A thread is already waiting on this object.\ncaller: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc "\nwaiter: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.waiter:Ljava/lang/Thread;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.aborted:Z
ifeq 9
8: new java.lang.InterruptedException
dup
ldc "Operation interrupted"
invokespecial java.lang.InterruptedException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield org.apache.http.impl.conn.tsccm.WaitingThread.waiter:Ljava/lang/Thread;
10: iconst_0
istore 2
start local 2 11: aload 1
ifnull 14
12: aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.cond:Ljava/util/concurrent/locks/Condition;
aload 1
invokeinterface java.util.concurrent.locks.Condition.awaitUntil:(Ljava/util/Date;)Z
istore 2
13: goto 16
14: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.cond:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.await:()V
15: iconst_1
istore 2
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.aborted:Z
ifeq 21
17: new java.lang.InterruptedException
dup
ldc "Operation interrupted"
invokespecial java.lang.InterruptedException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
19: aload 0
aconst_null
putfield org.apache.http.impl.conn.tsccm.WaitingThread.waiter:Ljava/lang/Thread;
20: aload 3
athrow
21: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.http.impl.conn.tsccm.WaitingThread.waiter:Ljava/lang/Thread;
22: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/http/impl/conn/tsccm/WaitingThread;
0 23 1 deadline Ljava/util/Date;
11 23 2 success Z
Exception table:
from to target type
11 18 18 any
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
deadline final
public void wakeup();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.waiter:Ljava/lang/Thread;
ifnonnull 4
1: new java.lang.IllegalStateException
dup
2: ldc "Nobody waiting on this object."
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.cond:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.signalAll:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/http/impl/conn/tsccm/WaitingThread;
public void interrupt();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.apache.http.impl.conn.tsccm.WaitingThread.aborted:Z
1: aload 0
getfield org.apache.http.impl.conn.tsccm.WaitingThread.cond:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.signalAll:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/http/impl/conn/tsccm/WaitingThread;
}
SourceFile: "WaitingThread.java"
RuntimeVisibleAnnotations:
java.lang.Deprecated()