public class com.netflix.hystrix.metric.HystrixCommandCompletionStream implements com.netflix.hystrix.metric.HystrixEventStream<com.netflix.hystrix.metric.HystrixCommandCompletion>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.netflix.hystrix.metric.HystrixCommandCompletionStream
super_class: java.lang.Object
{
private final com.netflix.hystrix.HystrixCommandKey commandKey;
descriptor: Lcom/netflix/hystrix/HystrixCommandKey;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final rx.subjects.Subject<com.netflix.hystrix.metric.HystrixCommandCompletion, com.netflix.hystrix.metric.HystrixCommandCompletion> writeOnlySubject;
descriptor: Lrx/subjects/Subject;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lrx/subjects/Subject<Lcom/netflix/hystrix/metric/HystrixCommandCompletion;Lcom/netflix/hystrix/metric/HystrixCommandCompletion;>;
private final rx.Observable<com.netflix.hystrix.metric.HystrixCommandCompletion> readOnlyStream;
descriptor: Lrx/Observable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lrx/Observable<Lcom/netflix/hystrix/metric/HystrixCommandCompletion;>;
private static final java.util.concurrent.ConcurrentMap<java.lang.String, com.netflix.hystrix.metric.HystrixCommandCompletionStream> streams;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lcom/netflix/hystrix/metric/HystrixCommandCompletionStream;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic com.netflix.hystrix.metric.HystrixCommandCompletionStream.streams:Ljava/util/concurrent/ConcurrentMap;
return
LocalVariableTable:
Start End Slot Name Signature
public static com.netflix.hystrix.metric.HystrixCommandCompletionStream getInstance(com.netflix.hystrix.HystrixCommandKey);
descriptor: (Lcom/netflix/hystrix/HystrixCommandKey;)Lcom/netflix/hystrix/metric/HystrixCommandCompletionStream;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: getstatic com.netflix.hystrix.metric.HystrixCommandCompletionStream.streams:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface com.netflix.hystrix.HystrixCommandKey.name:()Ljava/lang/String;
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.netflix.hystrix.metric.HystrixCommandCompletionStream
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: com.netflix.hystrix.metric.HystrixCommandCompletionStream
StackMap stack:
ldc Lcom/netflix/hystrix/metric/HystrixCommandCompletionStream;
dup
astore 2
monitorenter
4: getstatic com.netflix.hystrix.metric.HystrixCommandCompletionStream.streams:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface com.netflix.hystrix.HystrixCommandKey.name:()Ljava/lang/String;
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.netflix.hystrix.metric.HystrixCommandCompletionStream
astore 3
start local 3 5: aload 3
ifnonnull 10
6: new com.netflix.hystrix.metric.HystrixCommandCompletionStream
dup
aload 0
invokespecial com.netflix.hystrix.metric.HystrixCommandCompletionStream.<init>:(Lcom/netflix/hystrix/HystrixCommandKey;)V
astore 4
start local 4 7: getstatic com.netflix.hystrix.metric.HystrixCommandCompletionStream.streams:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface com.netflix.hystrix.HystrixCommandKey.name:()Ljava/lang/String;
aload 4
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 4
aload 2
monitorexit
9: areturn
end local 4 10: StackMap locals: java.lang.Class com.netflix.hystrix.metric.HystrixCommandCompletionStream
StackMap stack:
aload 3
aload 2
monitorexit
11: areturn
end local 3 12: StackMap locals: com.netflix.hystrix.HystrixCommandKey com.netflix.hystrix.metric.HystrixCommandCompletionStream java.lang.Class
StackMap stack: java.lang.Throwable
aload 2
monitorexit
13: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 commandKey Lcom/netflix/hystrix/HystrixCommandKey;
1 14 1 initialStream Lcom/netflix/hystrix/metric/HystrixCommandCompletionStream;
5 12 3 existingStream Lcom/netflix/hystrix/metric/HystrixCommandCompletionStream;
7 10 4 newStream Lcom/netflix/hystrix/metric/HystrixCommandCompletionStream;
Exception table:
from to target type
4 9 12 any
10 11 12 any
12 13 12 any
MethodParameters:
Name Flags
commandKey
void <init>(com.netflix.hystrix.HystrixCommandKey);
descriptor: (Lcom/netflix/hystrix/HystrixCommandKey;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.netflix.hystrix.metric.HystrixCommandCompletionStream.commandKey:Lcom/netflix/hystrix/HystrixCommandKey;
2: aload 0
new rx.subjects.SerializedSubject
dup
invokestatic rx.subjects.PublishSubject.create:()Lrx/subjects/PublishSubject;
invokespecial rx.subjects.SerializedSubject.<init>:(Lrx/subjects/Subject;)V
putfield com.netflix.hystrix.metric.HystrixCommandCompletionStream.writeOnlySubject:Lrx/subjects/Subject;
3: aload 0
aload 0
getfield com.netflix.hystrix.metric.HystrixCommandCompletionStream.writeOnlySubject:Lrx/subjects/Subject;
invokevirtual rx.subjects.Subject.share:()Lrx/Observable;
putfield com.netflix.hystrix.metric.HystrixCommandCompletionStream.readOnlyStream:Lrx/Observable;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/netflix/hystrix/metric/HystrixCommandCompletionStream;
0 5 1 commandKey Lcom/netflix/hystrix/HystrixCommandKey;
MethodParameters:
Name Flags
commandKey final
public static void reset();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.netflix.hystrix.metric.HystrixCommandCompletionStream.streams:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
public void write(com.netflix.hystrix.metric.HystrixCommandCompletion);
descriptor: (Lcom/netflix/hystrix/metric/HystrixCommandCompletion;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.netflix.hystrix.metric.HystrixCommandCompletionStream.writeOnlySubject:Lrx/subjects/Subject;
aload 1
invokevirtual rx.subjects.Subject.onNext:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/netflix/hystrix/metric/HystrixCommandCompletionStream;
0 2 1 event Lcom/netflix/hystrix/metric/HystrixCommandCompletion;
MethodParameters:
Name Flags
event
public rx.Observable<com.netflix.hystrix.metric.HystrixCommandCompletion> observe();
descriptor: ()Lrx/Observable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.netflix.hystrix.metric.HystrixCommandCompletionStream.readOnlyStream:Lrx/Observable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/metric/HystrixCommandCompletionStream;
Signature: ()Lrx/Observable<Lcom/netflix/hystrix/metric/HystrixCommandCompletion;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "HystrixCommandCompletionStream("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.netflix.hystrix.metric.HystrixCommandCompletionStream.commandKey:Lcom/netflix/hystrix/HystrixCommandKey;
invokeinterface com.netflix.hystrix.HystrixCommandKey.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/metric/HystrixCommandCompletionStream;
}
Signature: Ljava/lang/Object;Lcom/netflix/hystrix/metric/HystrixEventStream<Lcom/netflix/hystrix/metric/HystrixCommandCompletion;>;
SourceFile: "HystrixCommandCompletionStream.java"