Class InstructionFlusher
- 
Nested Class Summary
Nested classes/interfaces inherited from class IteratingCallback
IteratingCallback.ActionNested classes/interfaces inherited from interface Callback
Callback.Combination, Callback.Completable, Callback.Completing, Callback.NestedNested classes/interfaces inherited from interface Invocable
Invocable.Callable, Invocable.InvocationType, Invocable.ReadyTask, Invocable.Task - 
Field Summary
Fields inherited from interface Callback
NOOP, NOT_CALLEDFields inherited from interface Invocable
__nonBlocking - 
Constructor Summary
ConstructorsConstructorDescriptionInstructionFlusher(ByteBufferPool bufferPool, StreamEndPoint endPoint, StreamType streamType)  - 
Method Summary
Modifier and TypeMethodDescriptionbooleanoffer(List<Instruction> instructions) protected voidonCompleteFailure(Throwable cause) Invoked when the overall task has completed with a failure.protected voidInvoked when the overall task has completed successfully, specifically after anyIteratingCallback.Action.SCHEDULEDoperations haveCallback.succeeded()andIteratingCallback.process()has returnedIteratingCallback.Action.SUCCEEDED.protected voidprotected voidInvoked when one task has completed successfully, either by the caller thread or by the processing thread.protected IteratingCallback.Actionprocess()Method called byIteratingCallback.iterate()to process the asynchronous sub-task.toString()Methods inherited from class IteratingCallback
abort, close, failed, isAborted, isClosed, isFailed, isSucceeded, iterate, onAborted, onCompleted, reset, succeededMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Callback
completeWith 
- 
Constructor Details
- 
InstructionFlusher
public InstructionFlusher(ByteBufferPool bufferPool, StreamEndPoint endPoint, StreamType streamType)  
 - 
 - 
Method Details
- 
offer
 - 
process
Description copied from class:IteratingCallbackMethod called byIteratingCallback.iterate()to process the asynchronous sub-task.Implementations must initiate the asynchronous execution of the sub-task (if any) and return an appropriate action:
IteratingCallback.Action.IDLEwhen no sub tasks are available for execution but the overall job is not completed yetIteratingCallback.Action.SCHEDULEDwhen the sub task asynchronous execution has been startedIteratingCallback.Action.SUCCEEDEDwhen the overall job is completed
- Specified by:
 processin classIteratingCallback- Returns:
 - the appropriate Action
 
 - 
onSuccess
protected void onSuccess()Description copied from class:IteratingCallbackInvoked when one task has completed successfully, either by the caller thread or by the processing thread. This invocation is always serialized w.r.t the execution ofIteratingCallback.process().This method is not invoked when a call to
IteratingCallback.abort(Throwable)is made before theIteratingCallback.succeeded()callback happens.- Overrides:
 onSuccessin classIteratingCallback
 - 
onCompleteSuccess
protected void onCompleteSuccess()Description copied from class:IteratingCallbackInvoked when the overall task has completed successfully, specifically after anyIteratingCallback.Action.SCHEDULEDoperations haveCallback.succeeded()andIteratingCallback.process()has returnedIteratingCallback.Action.SUCCEEDED.Calls to this method are serialized with respect to
IteratingCallback.process(),IteratingCallback.onAborted(Throwable)andIteratingCallback.onCompleted(Throwable). If this method is called, thenIteratingCallback.onCompleteFailure(Throwable)()} will never be called.- Overrides:
 onCompleteSuccessin classIteratingCallback- See Also:
 
 - 
onFailure
Description copied from class:IteratingCallbackInvoked when the overall task has beenabortedorfailed.Calls to this method are serialized with respect to
IteratingCallback.onAborted(Throwable),IteratingCallback.process(),IteratingCallback.onCompleteFailure(Throwable)andIteratingCallback.onCompleted(Throwable).Because
onFailurecan be called due to anIteratingCallback.abort(Throwable)orIteratingCallback.close()operation, it is possible that any resources passed to aIteratingCallback.Action.SCHEDULEDoperation may still be in use, and thus should not be recycled by this call. For example any buffers passed to a write operation should not be returned to a buffer pool by implementations ofonFailure. Such resources may be discarded here, or safely recycled in a subsequent call toIteratingCallback.onCompleted(Throwable)orIteratingCallback.onCompleteFailure(Throwable), when theIteratingCallback.Action.SCHEDULEDoperation has completed.- Overrides:
 onFailurein classIteratingCallback- Parameters:
 failure- The cause of the failure or abort- See Also:
 
 - 
onCompleteFailure
Description copied from class:IteratingCallbackInvoked when the overall task has completed with a failure.Calls to this method are serialized with respect to
IteratingCallback.process(),IteratingCallback.onAborted(Throwable)andIteratingCallback.onCompleted(Throwable). If this method is called, thenIteratingCallback.onCompleteSuccess()will never be called.- Overrides:
 onCompleteFailurein classIteratingCallback- Parameters:
 cause- the throwable to indicate cause of failure- See Also:
 
 - 
getInvocationType
- Returns:
 - The InvocationType of this object
 
 - 
toString
- Overrides:
 toStringin classIteratingCallback
 
 -