class org.springframework.http.server.reactive.WriteResultPublisher implements org.reactivestreams.Publisher<java.lang.Void>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.http.server.reactive.WriteResultPublisher
super_class: java.lang.Object
{
private static final org.apache.commons.logging.Log rsWriteResultLogger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<org.springframework.http.server.reactive.WriteResultPublisher$State> state;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/springframework/http/server/reactive/WriteResultPublisher$State;>;
private volatile org.reactivestreams.Subscriber<? super java.lang.Void> subscriber;
descriptor: Lorg/reactivestreams/Subscriber;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lorg/reactivestreams/Subscriber<-Ljava/lang/Void;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private volatile boolean completedBeforeSubscribed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.lang.Throwable errorBeforeSubscribed;
descriptor: Ljava/lang/Throwable;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.lang.String logPrefix;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/springframework/http/server/reactive/WriteResultPublisher;
invokestatic org.springframework.core.log.LogDelegateFactory.getHiddenLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.springframework.http.server.reactive.WriteResultPublisher.rsWriteResultLogger:Lorg/apache/commons/logging/Log;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
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
new java.util.concurrent.atomic.AtomicReference
dup
getstatic org.springframework.http.server.reactive.WriteResultPublisher$State.UNSUBSCRIBED:Lorg/springframework/http/server/reactive/WriteResultPublisher$State;
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
putfield org.springframework.http.server.reactive.WriteResultPublisher.state:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
aload 1
putfield org.springframework.http.server.reactive.WriteResultPublisher.logPrefix:Ljava/lang/String;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/server/reactive/WriteResultPublisher;
0 4 1 logPrefix Ljava/lang/String;
MethodParameters:
Name Flags
logPrefix
public final void subscribe(org.reactivestreams.Subscriber<? super java.lang.Void>);
descriptor: (Lorg/reactivestreams/Subscriber;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.springframework.http.server.reactive.WriteResultPublisher.rsWriteResultLogger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 2
1: getstatic org.springframework.http.server.reactive.WriteResultPublisher.rsWriteResultLogger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.http.server.reactive.WriteResultPublisher.logPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.http.server.reactive.WriteResultPublisher.state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " subscribe: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.http.server.reactive.WriteResultPublisher.state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.springframework.http.server.reactive.WriteResultPublisher$State
aload 0
aload 1
invokevirtual org.springframework.http.server.reactive.WriteResultPublisher$State.subscribe:(Lorg/springframework/http/server/reactive/WriteResultPublisher;Lorg/reactivestreams/Subscriber;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/server/reactive/WriteResultPublisher;
0 4 1 subscriber Lorg/reactivestreams/Subscriber<-Ljava/lang/Void;>;
Signature: (Lorg/reactivestreams/Subscriber<-Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
subscriber
public void publishComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.springframework.http.server.reactive.WriteResultPublisher.rsWriteResultLogger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 2
1: getstatic org.springframework.http.server.reactive.WriteResultPublisher.rsWriteResultLogger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.http.server.reactive.WriteResultPublisher.logPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.http.server.reactive.WriteResultPublisher.state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " publishComplete"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.http.server.reactive.WriteResultPublisher.state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.springframework.http.server.reactive.WriteResultPublisher$State
aload 0
invokevirtual org.springframework.http.server.reactive.WriteResultPublisher$State.publishComplete:(Lorg/springframework/http/server/reactive/WriteResultPublisher;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/server/reactive/WriteResultPublisher;
public void publishError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.springframework.http.server.reactive.WriteResultPublisher.rsWriteResultLogger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 2
1: getstatic org.springframework.http.server.reactive.WriteResultPublisher.rsWriteResultLogger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
aload 0
getfield org.springframework.http.server.reactive.WriteResultPublisher.logPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.http.server.reactive.WriteResultPublisher.state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " publishError: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.http.server.reactive.WriteResultPublisher.state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast org.springframework.http.server.reactive.WriteResultPublisher$State
aload 0
aload 1
invokevirtual org.springframework.http.server.reactive.WriteResultPublisher$State.publishError:(Lorg/springframework/http/server/reactive/WriteResultPublisher;Ljava/lang/Throwable;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/server/reactive/WriteResultPublisher;
0 4 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
private boolean changeState(org.springframework.http.server.reactive.WriteResultPublisher$State, org.springframework.http.server.reactive.WriteResultPublisher$State);
descriptor: (Lorg/springframework/http/server/reactive/WriteResultPublisher$State;Lorg/springframework/http/server/reactive/WriteResultPublisher$State;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.http.server.reactive.WriteResultPublisher.state:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
aload 2
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/server/reactive/WriteResultPublisher;
0 1 1 oldState Lorg/springframework/http/server/reactive/WriteResultPublisher$State;
0 1 2 newState Lorg/springframework/http/server/reactive/WriteResultPublisher$State;
MethodParameters:
Name Flags
oldState
newState
}
Signature: Ljava/lang/Object;Lorg/reactivestreams/Publisher<Ljava/lang/Void;>;
SourceFile: "WriteResultPublisher.java"
NestMembers:
org.springframework.http.server.reactive.WriteResultPublisher$State org.springframework.http.server.reactive.WriteResultPublisher$State$1 org.springframework.http.server.reactive.WriteResultPublisher$State$2 org.springframework.http.server.reactive.WriteResultPublisher$State$3 org.springframework.http.server.reactive.WriteResultPublisher$State$4 org.springframework.http.server.reactive.WriteResultPublisher$WriteResultSubscription
InnerClasses:
private State = org.springframework.http.server.reactive.WriteResultPublisher$State of org.springframework.http.server.reactive.WriteResultPublisher
private final WriteResultSubscription = org.springframework.http.server.reactive.WriteResultPublisher$WriteResultSubscription of org.springframework.http.server.reactive.WriteResultPublisher