public abstract class AbstractListenerWriteFlushProcessor<T>
extends java.lang.Object
AbstractListenerWriteProcessor
but instead writing
a Publisher<Publisher<T>>
with flush boundaries enforces after
the completion of each nested Publisher.Modifier and Type | Class and Description |
---|---|
private static class |
AbstractListenerWriteFlushProcessor.State |
Modifier and Type | Field and Description |
---|---|
protected Log |
logger |
private WriteResultPublisher |
resultPublisher |
private java.util.concurrent.atomic.AtomicReference<AbstractListenerWriteFlushProcessor.State> |
state |
private boolean |
subscriberCompleted |
private Subscription |
subscription |
Constructor and Description |
---|
AbstractListenerWriteFlushProcessor() |
Modifier and Type | Method and Description |
---|---|
protected void |
cancel()
Listeners can call this method to cancel further writing.
|
private boolean |
changeState(AbstractListenerWriteFlushProcessor.State oldState,
AbstractListenerWriteFlushProcessor.State newState) |
protected abstract <any> |
createWriteProcessor()
Create a new processor for subscribing to the next flush boundary.
|
protected abstract void |
flush()
Flush the output.
|
void |
onComplete() |
void |
onError(java.lang.Throwable t) |
void |
onNext(<any> publisher) |
void |
onSubscribe(Subscription subscription) |
void |
subscribe(<any> subscriber) |
private void |
writeComplete() |
protected final Log logger
private final WriteResultPublisher resultPublisher
private final java.util.concurrent.atomic.AtomicReference<AbstractListenerWriteFlushProcessor.State> state
private volatile boolean subscriberCompleted
private Subscription subscription
public final void onSubscribe(Subscription subscription)
public final void onNext(<any> publisher)
public final void onError(java.lang.Throwable t)
public final void onComplete()
public final void subscribe(<any> subscriber)
protected void cancel()
protected abstract <any> createWriteProcessor()
protected abstract void flush() throws java.io.IOException
java.io.IOException
private boolean changeState(AbstractListenerWriteFlushProcessor.State oldState, AbstractListenerWriteFlushProcessor.State newState)
private void writeComplete()