Class AsyncProxyServlet.StreamReader
java.lang.Object
org.eclipse.jetty.util.IteratingCallback
org.eclipse.jetty.proxy.AsyncProxyServlet.StreamReader
- All Implemented Interfaces:
EventListener, javax.servlet.ReadListener, Callback, Invocable
- Enclosing class:
AsyncProxyServlet
protected class AsyncProxyServlet.StreamReader
extends IteratingCallback
implements javax.servlet.ReadListener
-
Nested Class Summary
Nested classes/interfaces inherited from class IteratingCallback
IteratingCallback.ActionNested classes/interfaces inherited from interface Callback
Callback.Completable, Callback.Completing, Callback.NestedNested classes/interfaces inherited from interface Invocable
Invocable.InvocationType -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte[]private final DeferredContentProviderprivate final Requestprivate final javax.servlet.http.HttpServletRequestprivate final javax.servlet.http.HttpServletResponseFields inherited from interface Invocable
__nonBlocking -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedStreamReader(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Request proxyRequest, DeferredContentProvider provider) -
Method Summary
Modifier and TypeMethodDescriptionvoidMethod to invoke when the asynchronous sub-task fails, or to fail the overall asynchronous task and therefore terminate the iteration.voidvoidvoidprotected voidonRequestContent(javax.servlet.http.HttpServletRequest request, Request proxyRequest, DeferredContentProvider provider, byte[] buffer, int offset, int length, Callback callback) protected IteratingCallback.Actionprocess()Method called byIteratingCallback.iterate()to process the asynchronous sub-task.Methods inherited from class IteratingCallback
close, isClosed, isFailed, isSucceeded, iterate, onCompleteFailure, onCompleteSuccess, reset, succeeded, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Invocable
getInvocationType
-
Field Details
-
buffer
private final byte[] buffer -
request
private final javax.servlet.http.HttpServletRequest request -
response
private final javax.servlet.http.HttpServletResponse response -
proxyRequest
-
provider
-
-
Constructor Details
-
StreamReader
protected StreamReader(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Request proxyRequest, DeferredContentProvider provider)
-
-
Method Details
-
onDataAvailable
- Specified by:
onDataAvailablein interfacejavax.servlet.ReadListener- Throws:
IOException
-
onAllDataRead
- Specified by:
onAllDataReadin interfacejavax.servlet.ReadListener- Throws:
IOException
-
onError
- Specified by:
onErrorin interfacejavax.servlet.ReadListener
-
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
- Throws:
Exception
-
onRequestContent
protected void onRequestContent(javax.servlet.http.HttpServletRequest request, Request proxyRequest, DeferredContentProvider provider, byte[] buffer, int offset, int length, Callback callback) -
failed
Description copied from class:IteratingCallbackMethod to invoke when the asynchronous sub-task fails, or to fail the overall asynchronous task and therefore terminate the iteration.Subclasses that override this method must always remember to call
super.failed(Throwable).Eventually,
IteratingCallback.onCompleteFailure(Throwable)is called, either by the caller thread or by the processing thread.- Specified by:
failedin interfaceCallback- Overrides:
failedin classIteratingCallback- Parameters:
x- the reason for the operation failure- See Also:
-