final class reactor.util.concurrent.WaitStrategy$Parking extends reactor.util.concurrent.WaitStrategy
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.util.concurrent.WaitStrategy$Parking
super_class: reactor.util.concurrent.WaitStrategy
{
static final reactor.util.concurrent.WaitStrategy$Parking INSTANCE;
descriptor: Lreactor/util/concurrent/WaitStrategy$Parking;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final int retries;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int DEFAULT_RETRIES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 200
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new reactor.util.concurrent.WaitStrategy$Parking
dup
invokespecial reactor.util.concurrent.WaitStrategy$Parking.<init>:()V
putstatic reactor.util.concurrent.WaitStrategy$Parking.INSTANCE:Lreactor/util/concurrent/WaitStrategy$Parking;
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
sipush 200
invokespecial reactor.util.concurrent.WaitStrategy$Parking.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/util/concurrent/WaitStrategy$Parking;
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial reactor.util.concurrent.WaitStrategy.<init>:()V
1: aload 0
iload 1
putfield reactor.util.concurrent.WaitStrategy$Parking.retries:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lreactor/util/concurrent/WaitStrategy$Parking;
0 3 1 retries I
MethodParameters:
Name Flags
retries
public long waitFor(long, java.util.function.LongSupplier, java.lang.Runnable);
descriptor: (JLjava/util/function/LongSupplier;Ljava/lang/Runnable;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
getfield reactor.util.concurrent.WaitStrategy$Parking.retries:I
istore 7
start local 7 1: goto 3
start local 5 2: StackMap locals: long int
StackMap stack:
aload 0
aload 4
iload 7
invokevirtual reactor.util.concurrent.WaitStrategy$Parking.applyWaitMethod:(Ljava/lang/Runnable;I)I
istore 7
end local 5 3: StackMap locals: reactor.util.concurrent.WaitStrategy$Parking long java.util.function.LongSupplier java.lang.Runnable top top int
StackMap stack:
aload 3
invokeinterface java.util.function.LongSupplier.getAsLong:()J
dup2
lstore 5
start local 5 4: lload 1
lcmp
iflt 2
5: lload 5
lreturn
end local 7 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lreactor/util/concurrent/WaitStrategy$Parking;
0 6 1 sequence J
0 6 3 cursor Ljava/util/function/LongSupplier;
0 6 4 barrier Ljava/lang/Runnable;
2 3 5 availableSequence J
4 6 5 availableSequence J
1 6 7 counter I
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
sequence final
cursor
barrier final
private int applyWaitMethod(java.lang.Runnable, int);
descriptor: (Ljava/lang/Runnable;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.lang.Runnable.run:()V
1: iload 2
bipush 100
if_icmple 4
2: iinc 2 -1
3: goto 9
4: StackMap locals:
StackMap stack:
iload 2
ifle 8
5: iinc 2 -1
6: invokestatic java.lang.Thread.yield:()V
7: goto 9
8: StackMap locals:
StackMap stack:
lconst_1
invokestatic java.util.concurrent.locks.LockSupport.parkNanos:(J)V
9: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lreactor/util/concurrent/WaitStrategy$Parking;
0 10 1 barrier Ljava/lang/Runnable;
0 10 2 counter I
Exceptions:
throws reactor.util.concurrent.WaitStrategy$AlertException
MethodParameters:
Name Flags
barrier final
counter
}
SourceFile: "WaitStrategy.java"
NestHost: reactor.util.concurrent.WaitStrategy
InnerClasses:
final AlertException = reactor.util.concurrent.WaitStrategy$AlertException of reactor.util.concurrent.WaitStrategy
final Parking = reactor.util.concurrent.WaitStrategy$Parking of reactor.util.concurrent.WaitStrategy