private abstract static class ReactiveTypeHandler.AbstractEmitterSubscriber
extends java.lang.Object
implements java.lang.Runnable
Modifier and Type | Field and Description |
---|---|
private boolean |
done |
private java.util.concurrent.atomic.AtomicReference<java.lang.Object> |
elementRef |
private ResponseBodyEmitter |
emitter |
private java.lang.Throwable |
error |
private java.util.concurrent.atomic.AtomicLong |
executing |
private Subscription |
subscription |
private TaskExecutor |
taskExecutor |
private boolean |
terminated |
Modifier | Constructor and Description |
---|---|
protected |
AbstractEmitterSubscriber(ResponseBodyEmitter emitter,
TaskExecutor executor) |
Modifier and Type | Method and Description |
---|---|
void |
connect(ReactiveAdapter adapter,
java.lang.Object returnValue) |
protected ResponseBodyEmitter |
getEmitter() |
void |
onComplete() |
void |
onError(java.lang.Throwable ex) |
void |
onNext(java.lang.Object element) |
void |
onSubscribe(Subscription subscription) |
void |
run() |
private void |
schedule() |
protected abstract void |
send(java.lang.Object element) |
private void |
terminate() |
private void |
trySchedule() |
private final ResponseBodyEmitter emitter
private final TaskExecutor taskExecutor
@Nullable private Subscription subscription
private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> elementRef
@Nullable private java.lang.Throwable error
private volatile boolean terminated
private final java.util.concurrent.atomic.AtomicLong executing
private volatile boolean done
protected AbstractEmitterSubscriber(ResponseBodyEmitter emitter, TaskExecutor executor)
public void connect(ReactiveAdapter adapter, java.lang.Object returnValue)
protected ResponseBodyEmitter getEmitter()
public final void onSubscribe(Subscription subscription)
public final void onNext(java.lang.Object element)
public final void onError(java.lang.Throwable ex)
public final void onComplete()
private void trySchedule()
private void schedule()
public void run()
run
in interface java.lang.Runnable
protected abstract void send(java.lang.Object element) throws java.io.IOException
java.io.IOException
private void terminate()