class com.netflix.hystrix.AbstractCommand$3 implements rx.functions.Action0
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.netflix.hystrix.AbstractCommand$3
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 com.netflix.hystrix.AbstractCommand val$_cmd;
descriptor: Lcom/netflix/hystrix/AbstractCommand;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.netflix.hystrix.AbstractCommand, com.netflix.hystrix.AbstractCommand);
descriptor: (Lcom/netflix/hystrix/AbstractCommand;Lcom/netflix/hystrix/AbstractCommand;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // com.netflix.hystrix.AbstractCommand$3 this
0: .line 382
aload 0 /* this */
aload 1
putfield com.netflix.hystrix.AbstractCommand$3.this$0:Lcom/netflix/hystrix/AbstractCommand;
aload 0 /* this */
aload 2
putfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.netflix.hystrix.AbstractCommand$3 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/AbstractCommand$3;
MethodParameters:
Name Flags
this$0 final
val$_cmd final
public void call();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 // com.netflix.hystrix.AbstractCommand$3 this
0: .line 385
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.commandState:Ljava/util/concurrent/atomic/AtomicReference;
getstatic com.netflix.hystrix.AbstractCommand$CommandState.OBSERVABLE_CHAIN_CREATED:Lcom/netflix/hystrix/AbstractCommand$CommandState;
getstatic com.netflix.hystrix.AbstractCommand$CommandState.UNSUBSCRIBED:Lcom/netflix/hystrix/AbstractCommand$CommandState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 12
1: .line 386
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.executionResult:Lcom/netflix/hystrix/ExecutionResult;
invokevirtual com.netflix.hystrix.ExecutionResult.containsTerminalEvent:()Z
ifne 10
2: .line 387
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.eventNotifier:Lcom/netflix/hystrix/strategy/eventnotifier/HystrixEventNotifier;
getstatic com.netflix.hystrix.HystrixEventType.CANCELLED:Lcom/netflix/hystrix/HystrixEventType;
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.commandKey:Lcom/netflix/hystrix/HystrixCommandKey;
invokevirtual com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier.markEvent:(Lcom/netflix/hystrix/HystrixEventType;Lcom/netflix/hystrix/HystrixCommandKey;)V
3: .line 389
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.this$0:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.executionHook:Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
invokevirtual com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook.onUnsubscribe:(Lcom/netflix/hystrix/HystrixInvokable;)V
4: .line 390
goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 1 /* hookEx */
start local 1 // java.lang.Throwable hookEx
6: .line 391
getstatic com.netflix.hystrix.AbstractCommand.logger:Lorg/slf4j/Logger;
ldc "Error calling HystrixCommandExecutionHook.onUnsubscribe"
aload 1 /* hookEx */
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 // java.lang.Throwable hookEx
7: .line 393
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.executionResult:Lcom/netflix/hystrix/ExecutionResult;
8: .line 394
invokestatic java.lang.System.currentTimeMillis:()J
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.commandStartTimestamp:J
lsub
l2i
getstatic com.netflix.hystrix.HystrixEventType.CANCELLED:Lcom/netflix/hystrix/HystrixEventType;
invokevirtual com.netflix.hystrix.ExecutionResult.addEvent:(ILcom/netflix/hystrix/HystrixEventType;)Lcom/netflix/hystrix/ExecutionResult;
9: .line 393
putfield com.netflix.hystrix.AbstractCommand.executionResultAtTimeOfCancellation:Lcom/netflix/hystrix/ExecutionResult;
10: .line 396
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.this$0:Lcom/netflix/hystrix/AbstractCommand;
iconst_0
invokevirtual com.netflix.hystrix.AbstractCommand.handleCommandEnd:(Z)V
11: .line 397
goto 23
StackMap locals:
StackMap stack:
12: aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.commandState:Ljava/util/concurrent/atomic/AtomicReference;
getstatic com.netflix.hystrix.AbstractCommand$CommandState.USER_CODE_EXECUTED:Lcom/netflix/hystrix/AbstractCommand$CommandState;
getstatic com.netflix.hystrix.AbstractCommand$CommandState.UNSUBSCRIBED:Lcom/netflix/hystrix/AbstractCommand$CommandState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 23
13: .line 398
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.executionResult:Lcom/netflix/hystrix/ExecutionResult;
invokevirtual com.netflix.hystrix.ExecutionResult.containsTerminalEvent:()Z
ifne 22
14: .line 399
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.eventNotifier:Lcom/netflix/hystrix/strategy/eventnotifier/HystrixEventNotifier;
getstatic com.netflix.hystrix.HystrixEventType.CANCELLED:Lcom/netflix/hystrix/HystrixEventType;
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.commandKey:Lcom/netflix/hystrix/HystrixCommandKey;
invokevirtual com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier.markEvent:(Lcom/netflix/hystrix/HystrixEventType;Lcom/netflix/hystrix/HystrixCommandKey;)V
15: .line 401
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.this$0:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.executionHook:Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
invokevirtual com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook.onUnsubscribe:(Lcom/netflix/hystrix/HystrixInvokable;)V
16: .line 402
goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 1 /* hookEx */
start local 1 // java.lang.Throwable hookEx
18: .line 403
getstatic com.netflix.hystrix.AbstractCommand.logger:Lorg/slf4j/Logger;
ldc "Error calling HystrixCommandExecutionHook.onUnsubscribe"
aload 1 /* hookEx */
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 // java.lang.Throwable hookEx
19: .line 405
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.executionResult:Lcom/netflix/hystrix/ExecutionResult;
20: .line 406
invokestatic java.lang.System.currentTimeMillis:()J
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.commandStartTimestamp:J
lsub
l2i
getstatic com.netflix.hystrix.HystrixEventType.CANCELLED:Lcom/netflix/hystrix/HystrixEventType;
invokevirtual com.netflix.hystrix.ExecutionResult.addEvent:(ILcom/netflix/hystrix/HystrixEventType;)Lcom/netflix/hystrix/ExecutionResult;
21: .line 405
putfield com.netflix.hystrix.AbstractCommand.executionResultAtTimeOfCancellation:Lcom/netflix/hystrix/ExecutionResult;
22: .line 408
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.netflix.hystrix.AbstractCommand$3.this$0:Lcom/netflix/hystrix/AbstractCommand;
iconst_1
invokevirtual com.netflix.hystrix.AbstractCommand.handleCommandEnd:(Z)V
23: .line 410
StackMap locals:
StackMap stack:
return
end local 0 // com.netflix.hystrix.AbstractCommand$3 this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/netflix/hystrix/AbstractCommand$3;
6 7 1 hookEx Ljava/lang/Throwable;
18 19 1 hookEx Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
15 16 17 Class java.lang.Throwable
}
SourceFile: "AbstractCommand.java"
EnclosingMethod: com.netflix.hystrix.AbstractCommand.toObservable:()Lrx/Observable;
NestHost: com.netflix.hystrix.AbstractCommand
InnerClasses:
com.netflix.hystrix.AbstractCommand$3
protected final CommandState = com.netflix.hystrix.AbstractCommand$CommandState of com.netflix.hystrix.AbstractCommand