class com.netflix.hystrix.AbstractCommand$23 implements rx.functions.Action0
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.netflix.hystrix.AbstractCommand$23
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$fallbackSemaphore;
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$23.this$0:Lcom/netflix/hystrix/AbstractCommand;
aload 0
aload 2
putfield com.netflix.hystrix.AbstractCommand$23.val$semaphoreHasBeenReleased:Ljava/util/concurrent/atomic/AtomicBoolean;
aload 0
aload 3
putfield com.netflix.hystrix.AbstractCommand$23.val$fallbackSemaphore: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$23;
MethodParameters:
Name Flags
this$0 final
val$semaphoreHasBeenReleased final
val$fallbackSemaphore 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$23.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$23.val$fallbackSemaphore: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$23;
}
SourceFile: "AbstractCommand.java"
EnclosingMethod: com.netflix.hystrix.AbstractCommand.getFallbackOrThrowException:(Lcom/netflix/hystrix/AbstractCommand;Lcom/netflix/hystrix/HystrixEventType;Lcom/netflix/hystrix/exception/HystrixRuntimeException$FailureType;Ljava/lang/String;Ljava/lang/Exception;)Lrx/Observable;
NestHost: com.netflix.hystrix.AbstractCommand
InnerClasses:
com.netflix.hystrix.AbstractCommand$23
abstract TryableSemaphore = com.netflix.hystrix.AbstractCommand$TryableSemaphore of com.netflix.hystrix.AbstractCommand
public final FailureType = com.netflix.hystrix.exception.HystrixRuntimeException$FailureType of com.netflix.hystrix.exception.HystrixRuntimeException