public abstract class WriteFlusher extends Object
EndPoint.write(Callback, ByteBuffer...)
by calling
EndPoint.flush(ByteBuffer...)
until all content is written.
The abstract method onIncompleteFlush()
is called when not all content has been written after a call to
flush and should organize for the completeWrite()
method to be called when a subsequent call to flush
should be able to make more progress.Modifier and Type | Class and Description |
---|---|
static interface |
WriteFlusher.Listener
A listener of
WriteFlusher events. |
Modifier and Type | Method and Description |
---|---|
void |
completeWrite()
Complete a write that has not completed and that called
onIncompleteFlush() to request a call to this
method when a call to EndPoint.flush(ByteBuffer...) is likely to be able to progress. |
Invocable.InvocationType |
getCallbackInvocationType() |
boolean |
isPending() |
void |
onClose() |
boolean |
onFail(Throwable cause)
Notify the flusher of a failure
|
String |
toStateString() |
String |
toString() |
void |
write(Callback callback,
ByteBuffer... buffers)
Tries to switch state to WRITING.
|
public Invocable.InvocationType getCallbackInvocationType()
public void write(Callback callback, ByteBuffer... buffers) throws WritePendingException
PendingState
object to preserve the state
and then calls onIncompleteFlush()
. The remaining buffers will be written in completeWrite()
.
If all buffers have been written it calls callback.complete().callback
- the callback to call on either failed or completebuffers
- the buffers to flush to the endpointWritePendingException
- if unable to write due to prior pending writepublic void completeWrite()
onIncompleteFlush()
to request a call to this
method when a call to EndPoint.flush(ByteBuffer...)
is likely to be able to progress.
It tries to switch from PENDING to COMPLETING. If state transition fails, then it does nothing as the callback
should have been already failed. That's because the only way to switch from PENDING outside this method is
onFail(Throwable)
or onClose()
public boolean onFail(Throwable cause)
cause
- The cause of the failureCallback
instancepublic void onClose()
public boolean isPending()
public String toStateString()
Copyright © 2010 - 2020 Adobe. All Rights Reserved