class com.netflix.hystrix.AbstractCommand$8 implements rx.functions.Action0
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.netflix.hystrix.AbstractCommand$8
super_class: java.lang.Object
{
final com.netflix.hystrix.AbstractCommand this$0;
descriptor: Lcom/netflix/hystrix/AbstractCommand;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.util.concurrent.atomic.AtomicBoolean val$semaphoreHasBeenReleased;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.netflix.hystrix.AbstractCommand$TryableSemaphore val$executionSemaphore;
descriptor: Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.netflix.hystrix.AbstractCommand, java.util.concurrent.atomic.AtomicBoolean, com.netflix.hystrix.AbstractCommand$TryableSemaphore);
descriptor: (Lcom/netflix/hystrix/AbstractCommand;Ljava/util/concurrent/atomic/AtomicBoolean;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield com.netflix.hystrix.AbstractCommand$8.this$0:Lcom/netflix/hystrix/AbstractCommand;
aload 0
aload 2
putfield com.netflix.hystrix.AbstractCommand$8.val$semaphoreHasBeenReleased:Ljava/util/concurrent/atomic/AtomicBoolean;
aload 0
aload 3
putfield com.netflix.hystrix.AbstractCommand$8.val$executionSemaphore:Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/AbstractCommand$8;
MethodParameters:
Name Flags
this$0 final
val$semaphoreHasBeenReleased final
val$executionSemaphore final
public void call();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.netflix.hystrix.AbstractCommand$8.val$semaphoreHasBeenReleased:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 2
1: aload 0
getfield com.netflix.hystrix.AbstractCommand$8.val$executionSemaphore:Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;
invokeinterface com.netflix.hystrix.AbstractCommand$TryableSemaphore.release:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/netflix/hystrix/AbstractCommand$8;
}
SourceFile: "AbstractCommand.java"
EnclosingMethod: com.netflix.hystrix.AbstractCommand.applyHystrixSemantics:(Lcom/netflix/hystrix/AbstractCommand;)Lrx/Observable;
NestHost: com.netflix.hystrix.AbstractCommand
InnerClasses:
com.netflix.hystrix.AbstractCommand$8
abstract TryableSemaphore = com.netflix.hystrix.AbstractCommand$TryableSemaphore of com.netflix.hystrix.AbstractCommand